请问excel中怎样统计某个特定数字连续重复出现的次数。如下图中所示,比如说我要统计2的连续出现的次数

一定要统计连续连续连续出现的数字的次数,不是要统计该数字总共出现了多少次!!如下图所示,2连续出现的次数分别是,3, 2,1. 3,2, 1才是我要的结果, 6不是我要的结果!!

第1个回答  2017-03-08
Sub ct()

Dim r, n, str As String

r = Range("a65536").End(xlUp).Row
n = 0
str = "2在A列连续出现的次数为:"

    For i = 1 To r
        If Cells(i, 1) = 2 Then
            If Cells(i + 1, 1) = 2 Then
                n = n + 1
            Else
                n = n + 1
                str = str & " " & n & "次"
                n = 0
            End If
        End If
    Next i
    
MsgBox str
        

End Sub

运行结果如图:

追问

如果查找的是整个表格呢?

追答

把范围改一下就可以了呀。
另外,查找整个表格的话,顺序是怎么样的?先从第一列开始,然后第二列,第三列,还是先从第一行开始,次一行,第二行,第三行?

追问

从第一列开始,每列90行。需要改哪些地方啊?您指的范围是哪个代码呀?我是小白,抱歉了

追答

代码给你修改了,运行后可以自己选择范围或输入范围:

Sub ct()
 
Dim r, n, str As String
a = InputBox("请输入要统计的数字或文本。")
If a = "" Then MsgBox "输入不正确!": End
Rng = Application.InputBox("请选择或输入要统计的范围:", , , , , , , 8)
str = a & "在所选范围内连续出现的次数为:"
n = 0
arr = Rng
For i = 1 To UBound(arr, 2)
    For ii = 1 To UBound(arr, 1)
        If Cells(ii, i) = 2 Then
            If Cells(ii + 1, i) = 2 Then
                n = n + 1
            Else
                n = n + 1
                str = str & " " & n & "次"
                n = 0
            End If
        End If
    Next ii
Next i
MsgBox str
         
End Sub

效果如图:

统计是先行后列。

第2个回答  2017-03-08
这个要VBA才可以实现
比如2
Sub tongji()
k = 1
j = 0
If Cells(1, 1) = 2 Then
j = 1
Else
j = 0
End If
For i = 2 To Cells(65000, 1).End(xlUp).Row + 1
If Cells(i, 1) = 2 Then
j = j + 1
Else
If j > 0 Then
Cells(k, 2) = j
k = k + 1
End If
j = 0
End If
Next i
End Sub本回答被网友采纳
相似回答