시퀀스의 중복 값 계산 - 축구 점수

시퀀스의 중복 값 계산 - 축구 점수

현재 축구 경기 결과를 나열하는 아래와 같은 값 열이 있습니다.

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

관련 정보