Clever-Excel-Forum

Normale Version: Excel Wiederholungen Zählen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Community,

ich bin neu hier und habe ein Problem in Excel. Ich möchte für eine statistische Auswertung aufeinander folgende gleiche Werte zählen. Mich interessiert hier jeweils nur die größte Anzahl aufeinander folgender Werte.

Es gab ursprünglich eine Antwortskalar von 1 bis 10. Ich habe die aufeinander folgenden Dopplungen bereits mit Hilfe einer einfachen WENN - Funktion in 0 und 1 Codiert. Nun muss ich jedoch noch die aufeinanderfolgenden 1 er auszählen.

Konkret möchte ich wissen was der größte Wert an aufeinander folgenden 1er in einer Zeile ergibt.

Bsp. 1 1 1 0 0 0 1 1 1 1   - in dieser Zeile möchte, dass meine Fromel mit eine 4 anzeigt.

Wenn jemand eine Idee hat wie ich es auch ohne Hilfszeile hinbekommen nehmen ich diesen Ratschlag natürlich auch sehr gerne an.

Vielen lieben Dank
Hi,

hilft dir dies -> Excelformeln
Hallo,

aus dem Archiv (testet die "0")


Code:
Sub M_snb()
'wieviele "0", wenn mindestens 5 in Folge

 c00 = "000001110111111000100000000"
 MsgBox Len(Join(Filter(Split(c00, "1"), String(5, "0")), ""))
End Sub

sub F_en()
'wie oft gibt es mindestens "000" in Folge im String
Tx = "0001010111000"
Such = String(3, "0")
Ty = Split(Tx, "1")
Debug.Print Tx, Join(Ty, ", "), UBound(Filter(Ty, Such)) + 1
End Sub


Die Anwendung auf deine Fragestellung schaffst Du?

mfg
Hallo Leute,

vielen vielen DANK. Ich werde mich nun sofort an die Daten begeben und probiere es gleich einmal aus !

Ich melde mich wenn es geklappt hat.

Beste Grüße

Frohe Ostern !°
Hallo,

versuche mal das:


Code:
Sub T_1()
Tx = "1110000111100"
Z = Split(Tx, "0")

Z1 = Split(Application.Trim(Join(Z, " ")))
For l = 0 To UBound(Z1)
   Mx = IIf(Len(Z1(l)) > Mx, Len(Z1(l)), Mx)
Next l
msgbox Mx
End Sub


mfg
Hallo,

wnn man möchte, kann man noch ein Paar Zeichen einsparen:


Code:
Sub T_1()
 Tx = "11100001111100"
 Z = Split(Tx, 0)
 
 For l = 0 To UBound(Z)
    Mx = Application.Max(Len(Z(l)), Mx)
 Next l

 MsgBox Mx
End Sub
Hallo,

Falls Du unbedingt Worksheet Formulas verwenden musst, verwende eine Hilfsspalte etwa wie folgt:
In B1: 1
In B2:
=Wenn(a2=a1;b1+1;1)
B2 runterkopieren.

Dann einfach das Max von Spalte B nehmen.

Den EineZelle-EineSchlaueAberKomplexeFormel-Unsinn von Excelformeln.de würde ich ignorieren:
Du landest lediglich im roten Feld bei 
http://www.sulprobil.com/Get_it_done/IT/...pert-.html

Persönlich würde ich eine kurze VBA Funktion verwenden.

Viele Grüße,
Bernd P