我需要一个能够满足下面提到的需求的公式或功能。我有一个大约11000行的Excel数据,数据看起来有点像A列: 现在在B列中我希望打印结果如下所述:字面意思是它应该计算A列中的值并将其打印在B列中,我不需要重复计数:
Column A Column B
PC-101 1
PC-101 1
PC-102 2
PC-102 2
PC-103 3
PC-104 4
PC-106 5
PC-107 6
PC-104 4
PC-106 5
PC-106 5
我尝试使用“count”系列公式,但结果为null。 即使我写下如下给出的宏(我从stackoverflow得到),但即使是打印重复计数:
Sub CountOccurence() ' Reference: Microsoft Scripting Runtime Application.ScreenUpdating = False Set oDict = New Dictionary Dim wS As Worksheet Dim r As Integer, rLast As Integer Set wS = Sheet1 rLast = wS.Cells(1, 1).CurrentRegion.Rows.Count For r = 3 To rLast Step 1 If Not (oDict.Exists(wS.Cells(r, 1).Value)) Then oDict.Add wS.Cells(r, 1).Value, 1 Else oDict.Item(wS.Cells(r, 1).Value) = oDict.Item(wS.Cells(r, 1).Value) + 1 End If wS.Cells(r, 2).Value = oDict.Item(wS.Cells(r, 1).Value) Next r Set oDict = Nothing Application.ScreenUpdating = True End Sub
任何人都可以帮我这个吗?提前谢谢。
答案 0 :(得分:0)
我尝试使用“count”系列公式,但结果为null。
一个简单的Excel公式可以做到这一点。
将1
放入单元格B1,然后将此公式放入单元格B2
并将其拉下来。
=IF(COUNTIF($A$1:$A2,A2)>1,VLOOKUP(A2,A:B,2,0),B1+1)
答案 1 :(得分:0)
假设您对a列中的数据进行了排序,您只需将1
放在B3中的B2公式中并将其复制下来:
=IF(A2<>A3,B2+1,B2)
: - )