Clever-Excel-Forum

Normale Version: Zählen von aufeinanderfolgenden Leerellen innerhalb einer Spalte
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Guten Tag,

ich hoffe, ihr könnt mir weiterhelfen.

Ich habe innerhalb einer Spalte immer wieder leere Zellen. Mal sind es 4 aufeinanderfolgende leere Zellen, mal sind es 30 aufeinanderfolgende leere Zellen und oft auch nur eine leere Zelle. Dazwischen sind immer Zahlenwerte. Insgesamt enthält eine Spalte ca. 35000 Zellen/Zeilen.

Nun würde ich gerne die Länge der aufeinanderfolgenden Leerzellen zählen. Das lässt sich vermutlich am besten in einem Histogramm mit vordefinierten Kategorien darstellen. Beispiel: es gibt die Kategorien 0-10 (aufeinanderfolgende Leerzellen), 10-20 usw. . Gerne würde ich mir jetzt über eine Formel auslesen lassen, wir oft die verschiedenen Kategorien innerhalb einer Spalte auftauchen.

Hat jemand da einen guten Vorschlag :)?

Vielen Dank und beste Grüße
Hallo,

in VBA geht das mit

Code:
for each ar in activesheet.columns(1).usedrange.specialcells(xlCellTypeBlank).areas

mfg

ungeprüft
Und mit Formeln wie folgt:

A:A: Deine Inhalte mit Lücken
B2[:B35001]: =WAHL((A2="")*2+(A3="")+1;"";"x";ZEILE(B2)-VERWEIS(2;1/(B$1:B1<>"");ZEILE(B$1:B1));"")

Jetzt kannst Du das mit Pivot (Anzahl B als Wertefeld) auswerten und in Zehnern gruppieren. 

Falls das zu langsam ist, ginge erheblich schneller auch:

B2[:B35001]: 
=WAHL((A2="")*2+(A3="")+1;"";"x";ZEILE(B2)-VERWEIS(2;1/(
B1:INDEX(B:B;MAX(1;ZEILE(B1)-30))<>"");ZEILE(
B1:INDEX(B:B;MAX(1;ZEILE(B1)-30))));"")
Herzlichen Dank. Formel klappt super. Bin beeindruckt. Hatte es letztendlich in 3 unabhängigen Schritten auf ähnliche Weise gemacht. So ist es aber sehr viel eleganter.

Eine Anschlussfrage habe ich noch. Ich verstehe nicht ganz, welchen Einzugsbereich ich für die Pivottabelle nehmen muss. Beide kompletten Spalten A und B?

Vielen Dank
Wandle A1:B35001 (mit Überschrift!) mit Strg-L um.

Nun erst fügst Du Pivot ein und beziehst Dich auf Tabelle1.