Может ли кто-нибудь помочь мне с формулой для одной ячейки или VBA, чтобы найти дубликаты в последовательных ячейках в строке с помощью
- Две последовательные ячейки с одинаковым значением = 1,
- Три последовательные ячейки с одинаковым значением = 2
- ... скоро ....
У меня есть набор данных, содержащий около 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)
Например: