Последовательные дубликаты в ряду

Последовательные дубликаты в ряду

Может ли кто-нибудь помочь мне с формулой для одной ячейки или VBA, чтобы найти дубликаты в последовательных ячейках в строке с помощью

  1. Две последовательные ячейки с одинаковым значением = 1,
  2. Три последовательные ячейки с одинаковым значением = 2
  3. ... скоро ....

У меня есть набор данных, содержащий около 500 строк с данными за 31 день (успех или неудача). Мне нужно узнать, сколько раз подряд происходит неудача в течение 2 дней и далее, поскольку неудача в течение дня и успех на следующий день являются приемлемыми.

Надеюсь, я достаточно ясно выразился... Помните, я не могу вставлять строки между строками для использования countif(данные нельзя трогать), поэтому мне нужно вывести данные в 32-м столбце.

Это также срочно для меня.

решение1

Сначала введите следующую UDF в стандартный модуль:

Option Explicit

Public Function consecu(rng As Range) As Long
    Dim arr(1 To 31) As Long, i As Long
    Dim r As Range
    arr(1) = 0
    i = 1

    For Each r In rng
        If i = 1 Then
            i = i + 1
        Else
            If r.Value = r.Offset(0, -1).Value Then
                arr(i) = arr(i - 1) + 1
            Else
                arr(i) = 0
            End If
            i = i + 1
        End If
    Next r

    consecu = Application.WorksheetFunction.Max(arr)
End Function

Затем с данными изА1черезАЕ1, вАФ1входить:

=consecu(A1:AE1)

Например:

введите описание изображения здесь

Связанный контент