Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 重复一系列需要唯一id的数字_Vba_Excel_Excel Formula - Fatal编程技术网

Vba 重复一系列需要唯一id的数字

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,精确顺

我有一个问题,我已经从过去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,精确顺序为: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。。。不断地。