Sequentielle Duplikate in einer Reihe

Sequentielle Duplikate in einer Reihe

Kann mir jemand mit einer Einzelzellenformel oder VBA helfen, die Duplikate in aufeinanderfolgenden Zellen in einer Zeile zu finden mit

  1. Zwei aufeinanderfolgende Zellen haben den gleichen Wert = 1,
  2. Drei aufeinanderfolgende Zellen mit dem gleichen Wert = 2
  3. ... bald ....

Ich habe einen Datensatz mit etwa 500 Zeilen mit Daten für 31 Tage (Erfolg oder Misserfolg). Ich muss herausfinden, wie oft es zwei Tage lang und darüber hinaus zu einem Misserfolg kommt, da ein Tag Misserfolg und ein Tag Erfolg am nächsten akzeptabel ist.

Hoffe, das ist klar genug... Denken Sie daran, dass ich keine Zeilen zwischen den Zeilen einfügen kann, um sie zu verwenden countif(Daten können nicht berührt werden). Daher muss ich die Ausgabe in der 32. Spalte vornehmen.

Das ist für mich auch dringend

Antwort1

Tragen Sie zunächst in einem Standardmodul folgende UDF ein:

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

Dann mit Daten ausA1durchAE1, InAF1eingeben:

=consecu(A1:AE1)

Zum Beispiel:

Bildbeschreibung hier eingeben

verwandte Informationen