首页 文章

比较单元格值并使用公式或函数在Excel中打印计数?

提问于
浏览
1

我需要一个能够满足下面提到的需求的公式或功能 . 我有一个大约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

任何人都可以帮我这个吗?提前致谢 .

2 回答

  • 0

    假设您对列a中的数据进行了排序,您可以简单地将 1 放在B3中的B2公式中并将其复制下来:

    =IF(A2<>A3,B2+1,B2)
    

    :-)

  • 0

    我尝试使用“count”系列公式,但结果为null .

    一个简单的Excel公式可以做到这一点 .

    1 放在单元格B1中,然后将此公式放入单元格 B2 并将其拉下 .

    =IF(COUNTIF($A$1:$A2,A2)>1,VLOOKUP(A2,A:B,2,0),B1+1)
    

    enter image description here

相关问题