Zählen von Zellen, die sich nicht wiederholen, in Excel

356
user173897

Ich habe eine Spalte mit (Text-) Werten. Ich möchte zählen, wie oft eine nicht leere Zelle entsteht, deren Wert sich von der unmittelbar darüber liegenden Zelle unterscheidet. Ich möchte nicht nur die Anzahl der leeren Zellen oder der Gesamtanzahl der Zellen minus der Anzahl der leeren Zellen.

Wenn die Spalte beispielsweise eine Form hat (A, B, B, A, A, A, _, A, B, C, B), wobei " A" und " B" und " C" etwas Text repräsentieren (so dass sie sich voneinander unterscheiden) und " _" (Unterstrich) eine leere Zelle darstellt, würde ich die gewünschte Anzahl angeben 7 weil:

  • Das " A" im ersten Eintrag zählt.
  • Das " B" im zweiten Eintrag zählt.
  • Das " B" im dritten Eintrag zählt nicht .
  • Das " A" im vierten Eintrag zählt.
  • Die " A" s im fünften und sechsten Eintrag zählen nicht jeweils.
  • Das " _" im siebten Eintrag zählt nicht, da es leer ist.
  • Jeder nachfolgende Eintrag zählt, weil jeder nicht leer ist und sich vom unmittelbar vorhergehenden Eintrag unterscheidet.

Wie mache ich eine solche Funktion?

1
Eine Art `CountIf`-Funktion wird wahrscheinlich verwendet, aber ich bin nicht sicher, wie die Bedingungsschleife die gesamte Spalte durchlaufen soll (und ich weiß auch nicht, wie ich das Zählen von leeren Zellen vermeiden kann). user173897 vor 6 Jahren 0

2 Antworten auf die Frage

3
PeterH

Sie können das Folgende ausprobieren, lassen Sie mich wissen, wie es funktioniert. In der Theorie zu diesem Datensatz habe ich 7, aber nicht 100% sicher, dass ich alle Kriterien verstanden habe.

=1+SUMPRODUCT(--($A$1:$A$11<>OFFSET($A$1:$A$11,1,0)),--(OFFSET($A$1:$A$11,1,0)<>"")) 
Ich denke das hat funktioniert! Ich habe es getestet und es scheint gut zu sein. Vielen Dank! user173897 vor 6 Jahren 0
Möchten Sie, dass ich die Ziele / Kriterien aus irgendeinem Grund erneut erkläre? user173897 vor 6 Jahren 0
@ user91504, ich habe getestet und diese produziert in beiden Fällen NULL, wenn der Datenbereich eine leere Zelle oder einen Unterstrich enthält. Rajesh S vor 6 Jahren 0
hi @RajeshS Welche Fälle referenzieren Sie? Das OP gab nur ein Beispiel PeterH vor 6 Jahren 0
@ User91504, Ich habe Ihre Formel angewendet, um die OP-Daten zu testen, Null zu erzeugen und die gleichen Daten, die ich mit meiner Formel-Summe getestet habe (wenn (Häufigkeit (,,,,) richtig gezählt wird). Rajesh S vor 6 Jahren 0
@RajeshS Herzlichen Glückwunsch zu Ihrer Formel PeterH vor 6 Jahren 0
Seine Formel verdient keine Glückwünsche. Es ist umständlich, undurchsichtig und gibt die falsche Antwort. Deiner ist gut, mach weiter so. Bandersnatch vor 6 Jahren 0
@ User91504, schön von euch zu hören klingt beide gut. Rajesh S vor 6 Jahren 0
-1
Rajesh S

Die unten stehende Formel hilft beim Count, da OP die NON REPEAT-Werte im Datenbereich angibt.

{=SUM(IF(FREQUENCY(IFERROR(MATCH(A2:A12,A2:A12,0),""),ROW(A2:A12)-ROW(A2)+1)=0,1))} 

NB: Ich habe die vorherige Formel geändert und IFERROR hinzugefügt, weil OP erwähnt hat, dass UNDERSCORE eine BLANK CELL ist.

Und jetzt ist die Formel CSE, beenden Sie sie mit Strg + Umschalt + Enter .

Beachten Sie, dass meine unten beschriebene vorherige Formel ohne IFERROR funktioniert, wenn anstelle von Blank Cell Underscore geschrieben wird.

=SUM(IF(FREQUENCY(MATCH(A2:A12,A2:A12,0),ROW(A2:A12)-ROW(A2)+1)=0,1)) 

Hoffe das hilft dir.

Diese Formel ergibt als Ergebnis # N / A. Vermutlich weil die Funktion MATCH () ein Array mit # N / A zurückgibt, das dem Leerzeichen in den Beispieldaten von OP entspricht. Korrigieren mit IFERROR (): `= SUM (IF (FREQUENCY (IFERROR (MATCH (A1: A11, A1: A11,0)," "), ROW (A1: A11) -ROW (A1) +1) = 0 , 1)) `gibt mindestens eine numerische Antwort von 9 an. Diese Antwort ist jedoch falsch. Vielleicht würden Sie weniger Stimmen bekommen, wenn Sie tatsächlich die von Ihnen geposteten Formeln testen würden? Bandersnatch vor 6 Jahren 0
@Bandersnatch, beim Testen der Formel habe ich UNDERSCORE-Zeichen in den Datenbereich eingefügt, damit meine Formel keinen Fehler ergab. Da OP jedoch UNDERSCORE als BLANK angenommen hat, ist in diesem Fall IFERROR erforderlich. Lassen Sie mich die Formel bearbeiten. Danke für das positive Feedback. Rajesh S vor 6 Jahren 0