2016-11-24 47 views
-1

我需要一個宏或公式,可以做到這一點:基於其它列自動遞增重複

Column A Values: 

1 
1 
1 
2 
2 
2 
3 
3 
4 
4 
4 
5 
5 
6 
6 

我需要列B做:

1 
2 
3 
1 
2 
3 
1 
2 
1 
2 
3 
1 
2 
1 
2 

由於B列都必須有一個(例如1 1 1 2),當它改變(到2或3等)時,列B上的計數器必須復位並自行增加,而A重複下一個值(1 2 3 1

謝謝

+1

你有任何的代碼共享與您已經嘗試解決這個問題? –

回答

2

編輯

看一看bzimor的回答,因爲他解決了在一個更一般的方式,而不在列B1硬值!

原來的答案

你可以解決它通過以下方式不VBA:

放1硬值列B1。這是你的起始值和因爲你開始用1

計數然後在B2中輸入以下公式

=IF($A2=$A1;$B1+1;1) 

只需向下拖動公式B的其他行,你就應該總是正確的做

所以B3應該是這樣的

=IF($A3=$A2;$B2+1;1) 

等等...

+0

不錯!解決;) – jinfo

0
Here is your desired macros 
    Sub jkjainGenerateSerialNumber20161124() 
     readcol = Val(InputBox("type ref col#")) 
     writecol = Val(InputBox("type dest col#")) 
     ts = 0 
     Range("A1000000").Select 
     Selection.End(xlUp).Select 
     lastrow = ActiveCell.Row 

     For n = 2 To lastrow 
     prev = Cells(n - 1, readcol) 
     curr = Cells(n, readcol) 

     If prev <> curr Then 
     ts = 1 
     End If 

     If prev = curr Then 
     ts = ts + 1 
     End If 

     Cells(n, writecol) = ts 
     Next 
    End Sub 
1

你可以用一個公式:

=COUNTIF($A$1:A1,A1) 

把它放進細胞B1和向下填充

+0

偉大的解決方案! –