Vba 重复一系列需要唯一id的数字
我有一个问题,我已经从过去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列,这是最简单的部分 我的数据集中大约有50000行,无法手动执行: 如果之前讨论过这个问题,请道歉。无法找到这样发布的解决方案 非常感谢你的阅读Vba 重复一系列需要唯一id的数字,vba,excel,excel-formula,Vba,Excel,Excel Formula,我有一个问题,我已经从过去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列,这是最简单的部分 我的数据集中大约有50000行,无法手动执行: 如果之前讨论过这个问题,请道歉。无法找到这样发布的解决方案 非常感谢你的阅读 附加信息:A列中的最大值=6,精确顺
附加信息: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
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
可通过公式和辅助列执行: 在列E中,辅助对象:=IFA2=A1,,A2 在C列输出中:=IFE2=,C1,CHARCOUNTIF$E$2:E2,E2+64
可以我想我现在可以看到这种模式了。A列中的最大值是什么?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整个电子表格中的顺序1,2,1,3,1,4,1,5,1,6,1,1,2重复多次。大约4500次。您尚未完全解释模式。在你这么做之前,这个问题是无法回答的,应该关闭这个模式@chrisneilsen。虽然解释得不好,但是如果你看的话,你会看到的。由1组成的块的第一个实例在每行上都有一个“a”。第二个是B,第三个是C。同样,2块的第一个实例得到“a”。第二个是B,第三个是C。。。不断地。