Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zählenwenn...ungleich

Zählenwenn...ungleich
20.10.2021 14:25:46
Michael
Hallo,
schon seit langem verwende ich die Funktion ZÄHLENWENN, doch zum tieferen Verständnis möchte ich hier etwas fragen. Es geht darum, zeilenweise abzuzählen, was nicht leer oder größer Null ist. Was ich aber nur zuverlässig hinkriege, ist von einer Gesamtzahl abzuziehen, was leer und was gleich Null ist, siehe Spalte [C] in der Datei https://www.herber.de/bbs/user/148708.xlsx.
Neulich sah ich hier im Forum, dass ZÄHLENWENN auch mehrere Kriterien verträgt, auch mehrere Bereiche hatte jemand geschafft anzugeben. Mehrere Kriterien hat Excel bei mir auch direkt verarbeitet, siehe Zelle [B2], mehrere Bereiche nicht, s. [B3], das gelang erst in [B4]. Wobei ich diese Notation im INDIREKT nicht verstehe, warum die geschweiften Klammern, warum der Punkt zwischen den Texten?
Wegen des INDIREKTs ist die Formel für mich so nicht mehr brauchbar, denn ich muss sie 500 Zeilen nach unten ziehen können. Der Versuch, die Zahlen im INDIREKT durch ZEILE() zu ersetzen, scheiterte schon schon bei der ersten Zahl. Darum ist die Formel in [B5] auskommentiert. Kann man das irgendwie hinkriegen?
Noch viel schöner fände ich die Formel, wenn sie einfach abzählen könnte, was nicht leer oder größer Null ist. Klar, größer Null können nur Zahlen sein, in der Datei sind alle Zahlen als Text gespeichert. Trage ich als Kriterium "0" oder einfach nur 0 ein, scheint es Excel egal zu sein, ob das Abgezählte Texte oder Zahlen sind, siehe Zellen [K14] und [L14] bzw. [K16] und [L16]. Trage ich als Kriterium "0" ein, will Excel zwingend Zahlen finden, auch ""&"""0""" hilft nicht weiter: Zellen [B7] und [B8]. Mit "nicht leer" verhält es sich genauso, die Zellen in Spalte [Q] sind leer, enthalten aber wahrscheinlich keine leere Zeichenkette auf die ich teste. Erst wenn ich [Q] markiere und "Entfernen" drücke, erkennt Excel die Zellen als leer(e Zeichenketten), jedenfalls in [B10] nicht in [B9], wo meiner Ansicht nach das Gleiche drinsteht... Warum ist das so?
Vielen lieben Dank schon jetzt an alle, die mir mit diesen "Kuriositäten" behilflich sind.
Michael

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ja, wenn "0"-Daten Textwerte sind ...
20.10.2021 14:45:15
neopa
Hallo Michael,
... dann werden sie auch wie Textwerte gewertet. Das trifft nicht nur auf die "0" sondern auch alle Deine anderen Ziffern in z.B. K:Q zu. Auch wenn diese scheinbar als "Standard" formatiert sind, sind es trotzdem noch Textwerte, weil Du offensichttich in diesem Tabellenblatt an diesen Stellen mal Werte als Textwerte zu stehen hattest . Hier hilft z.B. eine Multiplikation dieser Zellen mit 1 um die Datenwerte wieder zu Zahlenwerten werden zu lassen. Da kannst Du auch wieder normal auswerten.
Gruß Werner
.. , - ...
AW: wenn es (wieder Excel-)Zahlenwerte sind ...
20.10.2021 15:06:27
neopa
Hallo,
... und nur dann, kannst Du mit =SUMMENPRODUKT((K2:Q2&gt0)*1) oder =ZÄHLENWENNS(K2:Q2;"0";K2:Q2;"") auswerten.
Ohne die Wandlung Zahlenwerte könntest/müsstest Du z.B. folgende Formel einsetzen.
=WENNFEHLER(SUMMENPRODUKT((K2:Q2*1&gt0)*ISTZAHL(K2:Q2*1));0)
Gruß Werner
.. , - ...
Anzeige
nach ISTZAHL fragen
20.10.2021 14:49:15
WF
=SUMMENPRODUKT((A1:A99>0)*ISTZAHL(A1:A99))
WF
AW: das bringt ihm hier so nicht zum Ziel owT
20.10.2021 15:03:40
neopa
Gruß Werner
.. , - ...
Hatte ich Dir geschrieben ?
20.10.2021 15:06:30
WF
.
AW: nach ISTZAHL fragen
20.10.2021 15:06:21
Michael
Nein, das funktioniert leider nicht.
Mit =SUMMENPRODUKT(((K7:Q7)<>"0")*(K7:Q7<>"")) in [B7] erhalte ich allerdings das richtige Ergebnis: 4.
Meine zentrale Frage aber, warum ZÄHLENWENN mit dem Kriterium "0" die als Text formatierten Nullen findet, mit "0" oder eben ""&"""0""" (hier müsste die 0 doch Text sein, oder?) aber nicht, ist noch nicht beantwortet.
AW: die Verwendung des Vergleichsoperators ...
20.10.2021 15:17:45
neopa
Hallo Michael,
... erzwingt in der ZÄHLENWENN()-Funktion einen Vergleich mit einem Zahlenwert und Du hast eben nur Textwerte zum Vergleich anzubieten.
Gruß Werner
.. , - ...
Anzeige
AW: die Verwendung des Vergleichsoperators ...
20.10.2021 15:31:04
Michael
Danke, das ist doch mal eine klare Ansage. Damit kann ich arbeiten! Dann ist das eben so und ich muss mich dran gewöhnen (bin ich ja im Grunde schon ;-)
AW: bitteschön owT
20.10.2021 15:38:49
neopa
Gruß Werner
.. , - ...
AW: nach ISTZAHL fragen
20.10.2021 15:29:27
Michael
ISTZAHL kann ich sogar ganz weglassen ;-)
Im Ganzen müsste das Summenprodukt für Zeile 4 dann so aussehen:
=SUMMENPRODUKT(((K4:Q4)<>"0")*(K4:Q4<>"")*((V4:KM4)<>"0")*(V4:KM4<>""))~f~
Das aber will nicht. Mir scheint, die Bereiche der Einzeilteile müssen immer gleich groß sein. Mit
~f~=SUMMENPRODUKT(((K4:Q4)<>"0")*(K4:Q4<>""))+SUMMENPRODUKT(((V4:KM4)<>"0")*(V4:KM4<>""))
wäre mein "Problem" auf sicher nicht unelegante Weise gelöst. Warum aber klappt hier der Vergleich hier mit "0" obgleich alle Zahlen der Tabelle Texte sind, nicht aber mit der ZÄHLENWENN-Funktion. Die verhält sich doch irgendwie anders...
Anzeige
AW: Zählenwenn...ungleich
20.10.2021 15:24:07
Daniel
Hi
probiers mal so:
erstmal alles Zählen, was einen Inhalt hat, da hier deine "Leerzellen" wahrscheinlich aus Formeln stammen, die den Leerstring "" als Ergebnis hatten und die Formel dann mit Inhalte Einfügen - Werte überschrieben wurde, sind diese Zellen nicht leer sondern enthalten Text.
Daher zählt man hier am besten auf: enthält mindestens ein Zeichen.
Dann zählt man die 0-Werte und zieht diese ab.
getrennte Zellbereiche musst du auch getrennt betrachten.

=ZählenWenn(K2:Q2;"?*")-ZählenWenn(K2:Q2;0) + ZählenWenn(V2:KM2;"?*")-ZählenWenn(V2:KM2;0)
Gruß Daniel
Anzeige
AW: Zählenwenn...ungleich
20.10.2021 15:43:50
Michael
Danke auch Dir. Ja, das klappt. Nur vom Abziehen wollte ich ja weg ;-)
Dass "?*" auch hier verwendet werden können, war mir gar nicht bewusst, werde das sicher nochmal brauchen können.
Die Daten kommen aus irgendeinem Online-Befragungstool, Formeln sind also nicht dabei. Diese Daten kann ich nicht für jeden Zwischenstand wie auch immer vorbereiten. Hier geht es nur darum, in einem vorläufigen Datenexport festzustellen, wer bislang wie viel geantwortet hat. Nullen haben dabei dummerweise zwei Bedeutungen, sie treten auf bei gesehenen aber unbeantworteten Antwort-Optionen von Multiple-Choice-Fragen und bei Ja-Nein-Fragen sind sie das Nein. von letzteren haben wir aber nur sehr wenige. Und lieber zähle ich ein paar zu wenig als viel zu viele.
Anzeige
INDIREKT
20.10.2021 15:49:04
Michael
Doch interessehalber...wenn mir jetzt noch jemand sagen könnte, warum das mit dem INDIREKT klappt (Zelle [B4]; geschweifte Klammern, Punkt mittendrin) und warum nicht (Zelle [B5]), dann wäre ich noch 'n Stück schlauer ;-)
AW: hierzu ...
20.10.2021 16:09:59
neopa
Hallo Michael,
... mit dieser Formel zählst Du ja auch nur die Textwerte "0" und die Leerzellen "", deren Ergebnismatrix Du dann addierst. Dort wird mit ZÄHLENWENN() kein Zahlenvergleich angestellt.
Gruß Werner
.. , - ...
AW: hierzu ...
20.10.2021 16:23:33
Michael
Natürlich. Es geht mir um die Syntax. Zum einen INDIREKT({"K4:Q4"."V4:KM4"}). Da werden verschiedene Bereiche in den geschweiften Klammern aufgezählt und mit Punkt getrennt!? Das hab ich so noch nicht gesehen.
Würde ich das dynamisieren wollen, damit ich die Formel einfach runterziehen kann, will Excel das nicht. Die Formel in [B5] müsste korrekterweise so lauten:
=ANZAHL2($K$1:$Q$1;$V$1:$KM$1)-SUMME(ZÄHLENWENN(INDIREKT({"K"&"zeile()&":Q4"."V4:KM4"});{"0";""}))
Innerhalb von geschweiften Klammern scheint Excel nicht zu verstehen, dass Texte zusammengebastelt werden...
Anzeige
AW: das geht auch ohne INDIREKT() ...
20.10.2021 16:26:38
neopa
Hallo,
... außerdem hatte ich Dich so verstanden, das Du ohne Subtraktion das Ergebnis ermitteln willst. Hab jetzt einen Termin. Melde mich am Abend noch einmal.
Gruß Werner
.. , - ...
AW: das geht auch ohne INDIREKT() ...
20.10.2021 17:43:13
Michael
Sicher, mein "Problem" ist im Grunde gelöst. Aber bei all meiner Tüftelei ergaben sich neu Fragen, die mit dem eigentlichen Problem nicht mehr unmittelbar was zu tun haben ;-)
Danke Dir schon jetzt für Deine Antwort! Bis morgen
Michael
AW: nun ...
20.10.2021 19:17:12
neopa
Hallo Michael,
... für Dein eingestelltes Beispiel als nach unten kopierfähige Formel (und ohne {}) in B2 so:
=ANZAHL2($K$1:$Q$1;$V$1:$KM$1)-SUMMENPRODUKT(ZÄHLENWENN(K2:KM2;{"0";""}))
Aber grundsätzlich würde ich die Datenübernahme per Power Query (PQ) Funktionalität vornehmen. Dabei könntest Du einfach sämtliche als Textwerte übernommen Datenwerte in Zahlenwerte wandeln und dafür dann die Auswertung wie bereits geschrieben oder auch gleich in PQ vornehmen.
Gruß Werner
.. , - ...
Anzeige
AW: nun ...
21.10.2021 11:50:01
Michael
Nur schließt K2:KM2 den Bereich R:U mit ein, der für diese Abzählerei nicht relevant ist. Darum versuchte ich in einem ZÄLENWENN mehrere Bereiche unterzubringen:
ZÄHLENWENN((K4:Q4;V4:KM4);{"0";""})~f~
Das wollte natürlich nicht. Ich fand dann in einem uralten Beitrag dieses Forums die Variante mit dem INDIREKT, das als Vehikel dient, um ZÄHLENWENN mehrere Bereiche mitzugeben. INDIREKT möchte Text. Und wie der dem INDIREKT mitgegeben wird, das verstehe ich nicht:
~f~INDIREKT({"K4:Q4"."V4:KM4"}) ~f~
Naheliegenderweise wie mehrere Kriterien in geschweiften Klammern, aber warum darf dieser Text nicht "zusammengebastelt" werden:
~f~INDIREKT({"K"&ZEILE()"&":Q4"."V4:KM4"})~f~
Warum steht ein Punkt zwischen den Texten? Und nicht ein Semikolon innerhalb des Textes:
~f~INDIREKT({"K4:Q4;V4:KM4"})
Vielleicht Anfängerfragen...
Danke und LG
Michael
Anzeige
AW: dazu ...
21.10.2021 12:00:25
neopa
Hallo Michael,
... zunächst vorgemerkt, dass ich INDIREKT() überall da vermeide, wo es nicht notwendig ist. Mehr dazu sieh z.B. mal hier: https://www.online-excel.de/excel/singsel.php?f=24. Und um das von Dir angestrebte zu ermitteln bedarf es INDIREKT() halt nicht.
Das ich in meinem Formelvorschlag den Bereich Bereich R:U mit eingeschlossen habe, erklärt sich daraus, dass gemäß Deiner Beispieldaten, dort keine "0" und kein "" vorhanden ist und somit es keine Auswirkung auf das Ergebnis hat. Sollte aber das der Fall sein, würde ich die beiden Bereiche auch ohne INDIREKT() auswerten, dann eben auch ohne ZÄHLENWENN()
Gruß Werner
.. , - ...
Anzeige
AW: dazu ...
21.10.2021 14:13:37
Michael
Die Seite beantwortet meine speziellen Fragen leider auch nicht. Für mein ursprüngliches Problem bedarf es kein INDIREKT, trotzdem interessierte mich inzwischen, wie ich es verwendet fand.
Ich verwende INDIREKT ziemlich häufig, v.a. um absolute Bezüge zu/auf/in Tabellenobjekten herzustellen. Aber kaum öfter als 30 mal pro Datei, insofern hatte ich damit noch keine Performanceprobleme.
Lieben Dank und viele Grüße
Michael
AW: um absolute Bezüge herzustellen ...
21.10.2021 15:19:46
neopa
Hallo Michael,
... bedarf es aus meiner Sicht meist nicht zwingend INDIREKT(). Ich verwende dafür die Funktion INDEX() mit Konstanten für dessen 2. und oder 3. Argument der Funktion.
INDIREKT() ist dagegen zwingend notwendig, wenn man auf Zelladressen eines Tabellenblattes zugreifen möchte, dessen Namen z.B. erst ermittelt werden muss oder in einer Zelladresse vorgegeben ist. Von Vorteil ist INDIREKT() dann, wenn man spez. Matrizen für eine Auswertung bilden muss.
Gruß Werner
.. , - ...
AW: um absolute Bezüge herzustellen ...
21.10.2021 15:45:29
Michael
Genau dafür verwende ich INDIREKT: Auswertungen von Befragungen, bei denen die Spalten immer etwas anders heißen und mir egal ist, wo sie im Tabellenobjekt sind. Die Namen bastele ich mir zusammen und wenn schließlich eine Zahl dabei rauskommt, dann ist das auch die richtige ;-)
Oder eben für absolute Bezüge, wenn ich die Formel mit dem Bezug auf eine Tabellenobjektspalte nach rechts oder links ziehen will: erstmal ein INDIREKT drumrum, dass ich dann später ggf. mit Suchen&Ersetzen wieder entferne, wobei dann natürlich nicht mehr egal ist, wohin die Daten bei der nächsten Auswertung ins Tabellenobjekt kopiert werden.
Was mit INDEX alles möglich ist, habe ich erst in letzter Zeit hier im Forum erkannt. Vor allem endlich halbwegs verstanden, warum es sie mit zwei Parameterlisten gibt. Für meine Abzählerei, d.h. Ermittlung von Häufigkeiten, kann sie nicht gut brauchen.
Viele grüße
Michael
AW: dazu ...
21.10.2021 16:04:09
neopa
Hallo,
... ich kann Dir nur empfehlen, sich doch noch etwas mehr mit der INDEX()-Funktion vertraut zu machen. Mehr dazu sieh z.B. mal hier: https://www.online-excel.de/excel/singsel.php?f=180. Damit evtl. noch in Kombination mit VERGLEICH() bin ich meist einfacher flexibler, gerade wenn man eine entsprechende Formel nach unten und/oder rechts kopieren will. Da braucht man dann auch kein zusätzlichen SUCHEN und ERSETZEN.
Gruß Werner
.. , - ...

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige