Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Muster (Zeichen) über Zellen auszählen

Muster (Zeichen) über Zellen auszählen
spanie
Hallo!
Ich habe eine Frage zum Auszählen von Mustern über mehrere Zeilen hinweg in Excel.
Z.B. Ausgangssituation:
Zeile 1: AA
Zeile 2: AB
Zeile 3: AA
Zeile 4: AA
Zeile 5: AB
Zeile 6: AA
Zeile 7: AB
Zeile 8: AA
Zeile 9: AA
Was will ich als Ergebnis bekommen? Das:
AA 1mal: 2
AA 2mal nacheinander: 2
AB 1mal: 3
AB 2mal nacheinander: 0
Kann man so eine Auswertung mit Excel machen?
danke!
spanie
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ja!
22.07.2009 10:41:18
David
Hallo Spanie?
ich vermute mal, du willst auch wissen, wie?
Gruß
David
AW: ja!
22.07.2009 10:47:24
spanie
oh sorry David, ja das würde ich gern wissen. :)
danke!
spanie
AW: ja!
22.07.2009 10:56:30
David
Hallo spanie,
das hier sollte helfen:
http://www.excelformeln.de/formeln.html?welcher=411
Die erste Formel dort passt auf dein Problem.
Wenn du Schwierigkeiten beim Anpassen hast, nochmal melden.
Gruß
David
Anzeige
AW: ja!
22.07.2009 11:11:32
spanie
Hallo David!
Danke! Die Formeln zählen leider nur die größte Serie. Ich suche die Anzahl der vorkommenden Serien, z.B. es ist in 1000 Zeilen die Serie AB (3mal hintereinander), 6 mal vorgekommen.
Gibts da auch was?
Spanie
AW: ja!
22.07.2009 11:38:09
David
Das geht m.E. nur über eine Hilfsspalte:
Tabelle1
 ABCDEF
1AB    ZeichenLängeAnzahl
2AB    AB11
3AB    AB21
4AB4  AB32
5AA1  AB41
6AB1  AA11
7AA    AA22
8AA    AA31
9AA3  AA40
10AB    AA50
11AB    AA61
12AB3       
13AA         
14AA2       
15AB         
16AB2       
17AA         
18AA2       
19AB         
20AB         
21AB3       
22AA         
23AA         
24AA         
25AA         
26AA         
27AA6       

verwendete Formeln
Zelle Formel
B2 {=WENN(A3<>A2;ZEILE(A2)-MAX(1;($A$1 :A1<>$A$2 :A2)*ZEILE($A$2 :A2))+1;"")}
F2 =SUMMENPRODUKT(--($A$1 :$A$27=D2);--($B$1 :$B$27=E2))
B3 {=WENN(A4<>A3;ZEILE(A3)-MAX(1;($A$1 :A2<>$A$2 :A3)*ZEILE($A$2 :A3))+1;"")}
F3 =SUMMENPRODUKT(--($A$1 :$A$27=D3);--($B$1 :$B$27=E3))
B4 {=WENN(A5<>A4;ZEILE(A4)-MAX(1;($A$1 :A3<>$A$2 :A4)*ZEILE($A$2 :A4))+1;"")}
F4 =SUMMENPRODUKT(--($A$1 :$A$27=D4);--($B$1 :$B$27=E4))
B5 {=WENN(A6<>A5;ZEILE(A5)-MAX(1;($A$1 :A4<>$A$2 :A5)*ZEILE($A$2 :A5))+1;"")}
F5 =SUMMENPRODUKT(--($A$1 :$A$27=D5);--($B$1 :$B$27=E5))
B6 {=WENN(A7<>A6;ZEILE(A6)-MAX(1;($A$1 :A5<>$A$2 :A6)*ZEILE($A$2 :A6))+1;"")}
F6 =SUMMENPRODUKT(--($A$1 :$A$27=D6);--($B$1 :$B$27=E6))
B7 {=WENN(A8<>A7;ZEILE(A7)-MAX(1;($A$1 :A6<>$A$2 :A7)*ZEILE($A$2 :A7))+1;"")}
F7 =SUMMENPRODUKT(--($A$1 :$A$27=D7);--($B$1 :$B$27=E7))
B8 {=WENN(A9<>A8;ZEILE(A8)-MAX(1;($A$1 :A7<>$A$2 :A8)*ZEILE($A$2 :A8))+1;"")}
F8 =SUMMENPRODUKT(--($A$1 :$A$27=D8);--($B$1 :$B$27=E8))
B9 {=WENN(A10<>A9;ZEILE(A9)-MAX(1;($A$1 :A8<>$A$2 :A9)*ZEILE($A$2 :A9))+1;"")}
F9 =SUMMENPRODUKT(--($A$1 :$A$27=D9);--($B$1 :$B$27=E9))
B10 {=WENN(A11<>A10;ZEILE(A10)-MAX(1;($A$1 :A9<>$A$2 :A10)*ZEILE($A$2 :A10))+1;"")}
F10 =SUMMENPRODUKT(--($A$1 :$A$27=D10);--($B$1 :$B$27=E10))
B11 {=WENN(A12<>A11;ZEILE(A11)-MAX(1;($A$1 :A10<>$A$2 :A11)*ZEILE($A$2 :A11))+1;"")}
F11 =SUMMENPRODUKT(--($A$1 :$A$27=D11);--($B$1 :$B$27=E11))
B12 {=WENN(A13<>A12;ZEILE(A12)-MAX(1;($A$1 :A11<>$A$2 :A12)*ZEILE($A$2 :A12))+1;"")}
B13 {=WENN(A14<>A13;ZEILE(A13)-MAX(1;($A$1 :A12<>$A$2 :A13)*ZEILE($A$2 :A13))+1;"")}
B14 {=WENN(A15<>A14;ZEILE(A14)-MAX(1;($A$1 :A13<>$A$2 :A14)*ZEILE($A$2 :A14))+1;"")}
B15 {=WENN(A16<>A15;ZEILE(A15)-MAX(1;($A$1 :A14<>$A$2 :A15)*ZEILE($A$2 :A15))+1;"")}
B16 {=WENN(A17<>A16;ZEILE(A16)-MAX(1;($A$1 :A15<>$A$2 :A16)*ZEILE($A$2 :A16))+1;"")}
B17 {=WENN(A18<>A17;ZEILE(A17)-MAX(1;($A$1 :A16<>$A$2 :A17)*ZEILE($A$2 :A17))+1;"")}
B18 {=WENN(A19<>A18;ZEILE(A18)-MAX(1;($A$1 :A17<>$A$2 :A18)*ZEILE($A$2 :A18))+1;"")}
B19 {=WENN(A20<>A19;ZEILE(A19)-MAX(1;($A$1 :A18<>$A$2 :A19)*ZEILE($A$2 :A19))+1;"")}
B20 {=WENN(A21<>A20;ZEILE(A20)-MAX(1;($A$1 :A19<>$A$2 :A20)*ZEILE($A$2 :A20))+1;"")}
B21 {=WENN(A22<>A21;ZEILE(A21)-MAX(1;($A$1 :A20<>$A$2 :A21)*ZEILE($A$2 :A21))+1;"")}
B22 {=WENN(A23<>A22;ZEILE(A22)-MAX(1;($A$1 :A21<>$A$2 :A22)*ZEILE($A$2 :A22))+1;"")}
B23 {=WENN(A24<>A23;ZEILE(A23)-MAX(1;($A$1 :A22<>$A$2 :A23)*ZEILE($A$2 :A23))+1;"")}
B24 {=WENN(A25<>A24;ZEILE(A24)-MAX(1;($A$1 :A23<>$A$2 :A24)*ZEILE($A$2 :A24))+1;"")}
B25 {=WENN(A26<>A25;ZEILE(A25)-MAX(1;($A$1 :A24<>$A$2 :A25)*ZEILE($A$2 :A25))+1;"")}
B26 {=WENN(A27<>A26;ZEILE(A26)-MAX(1;($A$1 :A25<>$A$2 :A26)*ZEILE($A$2 :A26))+1;"")}
B27 {=WENN(A28<>A27;ZEILE(A27)-MAX(1;($A$1 :A26<>$A$2 :A27)*ZEILE($A$2 :A27))+1;"")}
{} Matrixformel mit Strg+Umschalt+Enter abschließen

Tabellendarstellung in Foren Version 4.3


Achtung!
B1 = leer ist gewollt
die Formel in B2 kann dann nach unten weiter kopiert werden.
Die Summenproduktformeln auf deinen Bereich anpassen.
Ich hoffe, damit deine Datenstruktur erfasst zu haben, falls nicht, bitte mal eine Beispieldatei posten.
Gruß
David
Anzeige
AW: ja!
22.07.2009 13:42:42
spanie
Wunderbar David! Das klappt jetzt! :)
Ich hab jetzt höchstwahrscheinlich ein Problem mit der Anzahl der Zeilen. Ein paar hundert Zeilen bearbeitet er ohne Probleme (wenn ich in der Spalte B die Formel runterkopiere). Bei über 100000 Zeilen frisst er sich irgendwie fest.
Trotzdem Danke!
Spanie
Anzeige
AW: ja!
22.07.2009 13:54:06
David
Matrixformeln sind ressourcenfressend!
Sicher ließe sich das auch per VBA realisieren, aber dazu sehe ich mich zeit und kenntnis-technisch momentan außerstande.
Gruß
David
AW: ja!
22.07.2009 13:57:34
spanie
Danke david!
AW: ja!
22.07.2009 14:02:58
David
kleine Abwandlung:
verwende (bezogen auf mein Beispiel) ab Zelle B12 folgende Formel:
{=WENN(A13A12;ZEILE(A12)-MAX(1;(A1:A11A2:A12)*ZEILE(A2:A12))+1;"")}

Diese dann nach unten kopieren.
Ich bin jetzt mal davon ausgegangen, dass die einzelnen Gruppen nicht mehr als 10 oder 11 gleiche Elemente umfassen, falls doch, kannst du dies so nicht verwenden.
Damit sollte die Performance erheblich besser werden, aber ob's für 100.000 Zeilen reicht, kann ich dir nicht versprechen.
Gruß
David
Anzeige
AW: ja!
22.07.2009 14:15:25
spanie
Danke david! Hab sie erstmal übernommen und werde nachher mit umfangreichen datensätzen testen. :)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige