In einer Google-Tabelle: Wie kann ich die Zeilen eines bestimmten Bereichs zählen, die einen Wert haben? Alle Hinweise, die ich bisher gefunden habe, führen zu Formeln, die die Zeilen zählen, die keinen leeren Inhalt (einschließlich Formel) haben, sondern eine Zelle mit
=IF(1=2;"";"") // Shows an empty cell
wird ebenfalls gezählt.
Was ist die Lösung für diese einfache Aufgabe?
Antworten:
Erstellen Sie mit der Funktion "CountBlank" eine weitere Spalte, die bestimmt, ob die referenzierte Zelle leer ist. Verwenden Sie dann count für die Werte, die in der neuen Spalte "CountBlank" erstellt wurden.
quelle
Ich habe es gerade benutzt
=COUNTIF(Range, "<>")
und es zählte nicht leere Zellen für mich.quelle
=COUNTIF(Range,"?*")
counta
: "Gibt die Anzahl der Werte in einem Datensatz zurück."Hinweis:
CountA
Betrachtet""
als Wert . Nur leere Zellen (drücken Sie in einer Zelle auf Löschen, um sie auszublenden) werden nicht gezählt.Google-Support: https://support.google.com/docs/answer/3093991
countblank
: "Gibt die Anzahl der leeren Zellen in einem bestimmten Bereich zurück"Hinweis:
CountBlank
Berücksichtigt sowohl leere Zellen (drücken Sie Löschen, um eine Zelle zu leeren) als auch Zellen mit einer Formel,""
die als leere Zellen zurückgegeben wird.Google-Support: https://support.google.com/docs/answer/3093403
Wenn Sie einen Bereich haben, der Formeln enthält, die dazu führen
""
, können Sie Ihre Formel aus ändernzu:
BEARBEITEN: Die Funktion ist
countblank
nichtcountblanks
, letztere gibt einen Fehler aus.quelle
Folgendes ist meiner Meinung nach die bisher beste Lösung:
Hier ist der Grund in 3 einfachen Schritten
Schritt 1: Einfach wie Torte - Fügen Sie eine zusätzliche Spalte hinzu
Die Antwort von eniacAvenger liefert die richtige Lösung, ohne sich um
=A1<>""
Randfälle zu kümmern, da sie den richtigen Wahrheits- / Falschwert zu erhalten scheint, basierend darauf, wie wir intuitiv leere Zellen betrachten, entweder jungfräuliche Leerzeichen oder erstellte Leerzeichen.Stellen Sie sich vor, wir haben diese Daten und möchten die Anzahl der Nicht-Leerzeichen in
B2:B6
:Wenn wir uns auf Spalte C verlassen würden , könnten wir die Anzahl der Werte in B wie folgt ermitteln:
Schritt 2: Verwenden Sie
FormulaArray
diese Option, um eine zusätzliche Spalte dynamisch zu erstellenDer Kommentar von consideRatio ist jedoch gültig. Wenn Sie eine zusätzliche Spalte benötigen, können Sie häufig dasselbe Ziel mit einer erreichen, mit
ArrayFormula
der eine Spalte im Speicher erstellt werden kann, ohne Speicherplatz zu verbrauchen.Wenn wir also C dynamisch erstellen möchten, können wir eine Array-Formel wie die folgende verwenden:
Wenn wir es einfach in C2 einfügen, wird das vertikale Array mit einem einzigen Strich des Stifts erstellt:
Schritt 3: Zählen Sie die Werte in der dynamischen Spalte
Aber wenn das gelöst ist, brauchen wir die Spalte nicht mehr, um nur die Werte anzuzeigen.
ArrayFormula
wird in den folgenden Bereich aufgelöst :{True,True,False,True,False}
.CountIf
Nimmt nur einen beliebigen Bereich auf und kann in diesem Fall die Anzahl der True-Werte zählen.Wir können also
CountIf
die WerteArrayFormula
wie folgt umschließen :Weiterführende Literatur
Die anderen Lösungen in diesem Thread sind entweder zu komplex oder schlagen in bestimmten Randfällen fehl, die ich in diesem Testblatt aufgezählt habe:
Google Spreadsheet - CountA Test - Demo
Warum
CountA
es so funktioniert, siehe meine Antwort hierquelle
ArrayFormula(...)
, um das Array von Werten innerhalb von zurückzugeben,CountIf
wie Sie vorgeschlagen haben. Ich habe die Antwort und die Tabellenkalkulationsdemo aktualisiert. Sie werden beide das Gleiche tun, aber Sauberkeit ist neben Güte.Für mich keine der Antworten arbeitete für Bereiche , die sowohl jungfräuliche Zellen und Zellen enthalten , die auf einer Formel empty basieren (zB
=IF(1=2;"";"")
)Was es für mich gelöst hat, ist Folgendes:
=COUNTA(FILTER(range, range <> ""))
quelle
Filter()
keine Elemente gefunden werden, zurückgegeben wird,#N/A
wasCOUNTA()
als Element behandelt wird, und daher immer 1 zurückgegeben wird, selbst wenn die Anzahl Null sein sollte. Beispiel in Google Sheets=COUNTA(filter({1;range},{1;range}<>"")) - 1
Gelöst mit einer Lösung fand ich Googeln von Yogi Anand: https://productforums.google.com/d/msg/docs/3qsR2m-1Xx8/sSU6Z6NYLOcJ
Im folgenden Beispiel wird die Anzahl der nicht leeren Zeilen im Bereich A3: C gezählt. Denken Sie daran, beide Bereiche in der Formel mit Ihrem Interessenbereich zu aktualisieren.
Vermeiden Sie auch zirkuläre Abhängigkeiten. Dies geschieht, wenn Sie beispielsweise die Anzahl der nicht leeren Zeilen in A: C zählen und diese Formel in die Spalte A oder C einfügen.
quelle
Es ist Arbeit für mich:
Anzahl aller nicht leeren Zellen von F2 bis zum Ende der Spalte
quelle
In Anbetracht der Reichweite würde
A:A
ich vorschlagen:Das Problem ist, dass COUNTA genau um die Anzahl der Zellen mit Zeichenfolgen der Länge Null überzählt
""
.Die Lösung besteht darin, genau diese Zellen zu zählen. Dies kann gefunden werden, indem nach allen Textzellen gesucht und alle Textzellen mit mindestens einem Zeichen subtrahiert werden
""
aber ohne wirklich leere Zellen""
aber ohne wirklich leere ZellenDies bedeutet, dass der Wert
COUNTIF(A:A,"*")-COUNTIF(A:A,"?*")
die Anzahl der Textzellen abzüglich der Anzahl der Textzellen mit mindestens einem Zeichen sein sollte, dh die Anzahl der Zellen, die genau enthalten""
quelle
Eine einfachere Lösung, die für mich funktioniert:
Es werden sowohl Zahlen als auch Zeichenfolgen, Datumsangaben usw. gezählt, die nicht leer sind
quelle
Soweit ich sehen kann, zählen die meisten Lösungen hier die Anzahl der nicht leeren Zellen und nicht die Anzahl der Zeilen mit nicht leeren Zellen.
Eine mögliche Lösung für den Bereich
B3:E29
ist zum BeispielHier wird
ArrayFormula(IF(B3:B29&C3:C29&D3:D29&E3:E29="";0;1))
eine Spalte von0
(wenn die Zeile leer ist) und1
(else) zurückgegeben.Eine andere ist in der Antwort von consideRatio angegeben .
quelle
Sie können eine benutzerdefinierte Funktion mit Apps Script (Extras> Skripteditor) definieren, die beispielsweise aufgerufen wird
numNonEmptyRows
:Verwenden Sie es dann in einer Zelle wie dieser,
=numNonEmptyRows(A23:C25)
um die Anzahl der nicht leeren Zeilen im Bereich zu zählenA23:C25
.quelle
So zählen Sie in Google Sheets die Anzahl der Zeilen, die mindestens eine nicht leere Zelle in einem zweidimensionalen Bereich enthalten :
Dabei ist A1: C5 der Bereich, den Sie auf nicht leere Zeilen prüfen.
Die Formel stammt von und wird im folgenden Artikel von EXCELXOR erläutert - https://excelxor.com/2015/03/30/counting-rows-where-at-least-one-condition-is-met/
quelle
Eine sehr flexible Möglichkeit, solche Dinge zu tun, ist die Verwendung von ARRAYFORMULA.
Stellen Sie sich als Beispiel vor, Sie möchten nicht leere Zeichenfolgen (Textfelder) zählen. Verwenden Sie diesen Code:
Was hier passiert, ist, dass Sie mit "ArrayFormula" eine Reihe von Werten bearbeiten können. Mit der SUMME-Funktion geben Sie "ArrayFormula" an, um einen beliebigen Wert der Menge zu summieren. Die "If" -Klausel wird nur verwendet, um "leer" oder "nicht leer" zu überprüfen, 1 für nicht leer und 0 ansonsten. "Len" gibt die Länge der verschiedenen Textfelder zurück. Dort definieren Sie die Menge (den Bereich), die Sie überprüfen möchten. Schließlich summiert "ArrayFormula" 1 für jedes Feld innerhalb der Menge (Bereich), in dem "len" mehr als 0 zurückgibt.
Wenn Sie eine andere Bedingung überprüfen möchten, ändern Sie einfach das erste Argument der IF-Klausel.
quelle