过去3天,我一直在处理一个问题,但找不到任何解决方案。
我在A列中有一系列重复的数字。
A列中的顺序基本上是:1,2,1,3,1,2 ...
C列是这样的:它遵循序列1,2,1,3,1,2。 1 = A,2 = A,1 = B,3 = A,1 = C,2 = B
我需要获得C列中的输出(对我来说是最大的挑战)。
我将把A列和C列的结果连接起来以获得D列(这是简单的部分)。
我的数据集中大约有50,000行,因此无法手动进行:(
很抱歉,如果以前已经讨论过此问题。无法找到这样发布的解决方案。
非常感谢您的阅读!
其他信息:A列中的最大值为6,确切的顺序为:1,2,1,3,1,4,1,5,1,6,1,1,2(预期的对应顺序) C列中的是:A,A,B,A,C,A,D,A,E,A,F,G,B)
答案 0 :(得分:2)
这应该做到:
Sub write_column_C()
Dim num(6)
Dim lastnum As Long
Dim c As Range
lastnum = 0
With Worksheets("YourSheetNameHere")
For Each c In .Range("A1:A" & .Cells(.Rows.Count, "A").End(xlUp).Row).Cells
If c.Value <> lastnum Then
num(c.Value) = num(c.Value) + 1
End If
lastnum = c.Value
c.Offset(0, 2) = Chr(64 + num(c.Value))
Next
End With
End Sub
答案 1 :(得分:1)