如何在Excel的一列中计算一个值的连续总数?

时间:2020-03-06 13:10:13

标签: excel excel-formula

我有一个由0和1组成的列。我需要计算1的连续出现总数。

Column
  0
  0
  1
  1
  1
  0
  0
  0
  1
  1
  0
  1
  1
  1

答案应该是:5(连续5个)

2 个答案:

答案 0 :(得分:3)

不需要VBA或UDF:

 =COUNTIFS(A1:A13,1,A2:A14,1)

一个SUMPRODUCT也可以工作:

 =SUMPRODUCT(--(A1:A13=A2:A14),--(A2:A14=1))

在两种情况下,行偏移量都不在范围内

答案 1 :(得分:2)

从答案5和评论来看,我猜您想在另一个1之后加上1的数量。

可能有一个简单的功能,但是由于我对VBA更好... 这将检查第一列(A)并一直向下,并返回跟在另一个1之后的1的数量。

Sub oneFollowingOne()
Dim r As Range, total As Long
total = 0
For Each r In Range("A2", ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp))
    If r.Value = 1 And r.Offset(-1).Value = 1 Then total = total + 1
Next r
MsgBox "Total: " & total
End Sub

enter image description here