В настоящее время у меня есть столбец значений, подобный приведенному ниже, в котором перечислены результаты футбольных матчей.
Lost
Lost
Lost
Won
Drew
Drew
Won
Won
Используя эту формулу, я смог вычислить, где последовательность повторяется, так что в приведенном выше списке есть три слова «Lost» подряд.
=IF(A2=A1,B1+1,1)
Однако я хотел бы вычислить, где значение равно либо «Drew», либо «Won» (тем самым показывая количество строк без появления «lost»). Возможно ли это?
Спасибо
решение1
Ниже приведен модуль sub, который просматривает столбец A, пока не встретит пустую ячейку, и выводит самую большую не «потерянную» полосу в ячейку B1.
Sub CountNonLoss()
Dim nonloss As Integer
Dim LongestStreak As Integer
Dim Val
Dim streak As New Collection
nonloss = 0
LongestStreak = 0
Range("A1").Select
Do Until IsEmpty(ActiveCell)
If ActiveCell.Value <> "Lost" Then
nonloss = nonloss + 1
Else
streak.Add nonloss
nonloss = 0
End If
ActiveCell.Offset(1, 0).Select
Loop
For Each Val In streak
If Val > LongestStreak Then
LongestStreak = Val
End If
Next Val
Range("B1").Value = LongestStreak
End Sub