현재 축구 경기 결과를 나열하는 아래와 같은 값 열이 있습니다.
Lost
Lost
Lost
Won
Drew
Drew
Won
Won
이 공식을 사용하여 시퀀스가 반복되는 위치를 계산할 수 있었습니다. 따라서 위 목록에는 세 개의 'Lost'가 연속으로 있습니다.
=IF(A2=A1,B1+1,1)
그런데 값이 'Drew' 또는 'Won'인 위치를 계산하고 싶습니다("분실"이 나타나지 않고 행 수를 표시함). 이것이 가능합니까?
감사합니다
답변1
다음은 빈 셀을 만날 때까지 A 열을 살펴보고 "Lost"가 아닌 가장 큰 줄무늬를 셀 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