Excel: Ausgefüllte Blöcke in einer Zeile zählen?

3 Antworten

Eine direkte Formel fällt mir dazu nicht ein.

Ich wü○rde zunächst einmal in einer Hilfszeile (gegebenenfalls auch auf einem anderen, versteckten Tabellenblatt, wenn dich das stört) jede Position mit 1 markieren, bei der ein x steht, aber in der nächsten Zelle kein x steht. Alle anderen Positionen würde ich mit 0 markieren.

Damit wird also quasi immer das Ende eines Blocks markiert. Und die Anzahl der Blöcke ist gleich der Anzahl der Block-Enden. [Alternativ könnte man auch die Block-Anfänge zählen, wenn einem das lieber ist.]

Wenn man beispielsweise Zeile 2 als Hilfszeile verwendet, so steht dann beispielsweise in Zelle A2 die Formel...

=IF(AND(A1="x"; B1<>"x"); 1; 0)

Bzw. auf Deutsch...

=WENN(UND(A1="x"; B1<>"x"); 1; 0)

[Die Formel dann entsprechend auf die weiteren Felder der Hilfszeile erweitern.]

Dann kannst du die Summe der Werte in der Hilfszeile bilden, um die Anzahl der Blöcke zu erhalten. Also bei Zeile 2 als Hilfszeile dann...

=SUM(2:2)

Bzw. auf Deutsch...

=SUMME(2:2)

====== Ergänzung ======

Mir ist da doch noch eine direkte Möglichkeit (ohne Hilfszeile) unter Ausnutzung der „ZÄHLEWENNS“-Funktion eingefallen...

=COUNTIFS(A1:CA1; "=x"; B1:CB1; "<>x")

Bzw. auf Deutsch...

=ZÄHLENWENNS(A1:CA1; "=x"; B1:CB1; "<>x")

Wenn dich das Randverhalten stört (also, dass die Bedingung die Zelle CB1 mit betrachtet), kannst du das beispielsweise auch so lösen...

=COUNTIFS(A1:BZ1; "=x"; B1:CA1; "<>x") + IF(CA1="x"; 1; 0)

Bzw. auf Deutsch...

=ZÄHLENWENNS(A1:BZ1; "=x"; B1:CA1; "<>x") + WENN(CA1="x"; 1; 0)

Oder wenn du lieber mit Block-Anfängen statt Block-Enden zählen möchtest...

=IF(A1="x"; 1; 0) + COUNTIFS(A1:BZ1; "<>x"; B1:CA1; "=x")

Bzw. auf Deutsch...

=WENN(A1="x"; 1; 0) + ZÄHLENWENNS(A1:BZ1; "<>x"; B1:CA1; "=x")

mihisu  08.08.2024, 14:29

Ich habe meine Antwort ergänzt und würde letztendlich vorschlagen...

=IF(A1="x"; 1; 0) + COUNTIFS(A1:BZ1; "<>x"; B1:CA1; "=x")

Bzw. auf Deutsch...

=WENN(A1="x"; 1; 0) + ZÄHLENWENNS(A1:BZ1; "<>x"; B1:CA1; "=x")

Alter Antworte vermutlich irrelevant, da Frage falsch verstanden

Bild zum Beitrag

auf die Weise konnte ich es lösen, ist sogar relativ kurz die Lösung.

Das doppelt -- muss deswegen sein, damit Summe auf jedes vorkommen von 3 innerhalb der Matrix reagiert.

- - - - - -

Da ich glaube, dass ich die Frage falsch verstanden habe, hier eine Antwort, die in einigen Zwischenschritten dies erledigt.

Bild zum Beitrag

kurz zur Erklärung die Formel in F11 ermittelt die Position innerhalb der Matrix, an denen ein X auftritt.

Die Formel in F12 ermittelt dann ob das Ergebnis von kkleinste(Bereich;1) +2 das gleiche ist wie kkleinste(Bereich;1+2), nur das 1 eben dynamisch ist, ist dies der Fall, hat man 3 "X"e hintereinander.

Alle anderen Zellen, werden dann mit 0, genauso wie Fehler, dies Formel muss manuell bis ans Ende der Tabelle gezogen werden.

und in der letzten Formel wird dann darüber die Summe gelegt. ich schau mal noch ob ich mittels anderer Funktionen das ganze etwas kürzer mit weniger Hilfszellen gestalten kann.

- - -

Alte Antwort:

Die Frage ist wie willst du die Ausgabe erhalten ich hab dir hier mal 2 Varianten aufgelistet

Bild zum Beitrag

  1. zeigt dir bei jeder Zeile die Zeilennummer an in der das Vorkommnis auftritt, denkbar wäre hier auch ein Text wie "prüfen" oder was auch immer
  2. die 2. Variante zeigt dir in einer Zelle gebündelt, alle Zeilen an, auf die dies zutrifft.

Kann dir davon irgendwas helfen?

Nachtrag, möchtest du nur die Anzahl der Vorkommnisse zählen, dann reicht diese Variante in E4:

Bild zum Beitrag

Woher ich das weiß:Berufserfahrung – sowohl Beruf als auch Hobby
 - (Formel, Microsoft Excel, Excel-Formel)  - (Formel, Microsoft Excel, Excel-Formel)  - (Formel, Microsoft Excel, Excel-Formel)  - (Formel, Microsoft Excel, Excel-Formel)

z.B.so Werte einer Zeile Markieren - kopieren - transponieren

und zählen lassen

=WENN(UND(A2<>"X";A3="x");MAX(B$2:B2)+1;"")

... und z.B. in B1 kannst Du Dir die Anzahl der Blöcke als Ergebnis anzeigen lassen.

=MAX(B2:B234)

Bild zum Beitrag

 - (Formel, Microsoft Excel, Excel-Formel)

Gipfelstuermer  08.08.2024, 20:31

ich sehe hier ein Problem, wenn du mal einen 6er Block hast, wird dieser nicht als 2 gewertet sondern als eine, das gleiche Probleme habe ich aber aktuell auch noch bei wird sobald 4*X hintereinander kommt, das ganze schon als 2 Vorkommnisse gewertet.

GutenTag2003  08.08.2024, 20:45
@Gipfelstuermer
ich sehe hier ein Problem, wenn du mal einen 6er Block hast

Der Block kann x-beliebig lang sein ... auch 20 "X" (habe einen neuen Screen reingetan)

Alternativ zu "blank" kann auch

=WENN(UND(A2<>"X";A3="x");MAX(B1:B$2)+1;"")

genommen werden.

GutenTag2003  08.08.2024, 20:50
@GutenTag2003

Die Anforderung

. Dabei spielt es keine Rolle, wie gross diese Blöcke sind (also wie viele Felder mit "x" einen Block beinhaltet).