STARTSEITE  /  EXCEL BASISWISSEN

WAHR und FALSCH: Die verborgenen Zahlen hinter jeder Excel-Formel

FAQ - Welche Fragen werden in diesem Artikel beantwortet?

Q Warum gibt =SUM(A1:A6>100) den Fehler #WERT! statt einer Zahl zurück?

A: Da SUM sich weigert, logische WAHR/FALSCH-Werte automatisch in Zahlen umzuwandeln, müssen Sie zunächst mit „--“ die Umwandlung erzwingen.

Q: Was bewirkt „--“ eigentlich in einer Formel wie =SUM(--(A1:A6>100))?

A: Das erste Minus wandelt WAHR in −1 und FALSCH in −0 um. Das zweite Minus kehrt das Vorzeichen um, sodass WAHR als 1 und FALSCH als 0 erhalten bleiben – reine Zahlen, die jede Funktion akzeptiert.

Q: Woher weiß SUMMENPRODUKT, welche Werte berücksichtigt und welche ignoriert werden sollen?

A: Jeder Wert wird mit der ihm zugeordneten 1 oder 0 multipliziert. Alles, was mit 1 multipliziert wird, bleibt unverändert. Alles, was mit 0 multipliziert wird, verschwindet. Die Summe der verbleibenden Werte ergibt Ihr Ergebnis.

Q: Führt die Funktion ZÄHLENWENN im Hintergrund heimlich boolesche Berechnungen durch?

A: Ja. Es erstellt aus Ihrer Bedingung ein Array mit WAHR/FALSCH-Werten, wandelt diese in 1en und 0en um und summiert sie. Das Ergebnis ist eine Zählung – doch der Mechanismus dahinter ist reine Multiplikation.

Q: Warum wird in professionellen Excel-Formeln bei komplexen Bedingungen „SUMPRODUCT“ anstelle von „COUNTIF“ oder „SUMIF“ verwendet?

A: Denn mit SUMMENPRODUKT können Sie mehrere boolesche Arrays durch Multiplikation kombinieren – jede Bedingung wird zu einem Filter, und es bleiben nur die Zeilen übrig, bei denen jede Bedingung WAHR ist (1 × 1 × 1 = 1). COUNTIF und SUMIF können standardmäßig nur einen Bedingungsbereich verarbeiten.


Das Geheimnis, das Excel Ihnen nie verraten hat

Öffnen Sie eine leere Zelle in Excel und geben Sie =1=1 ein. Drücken Sie die Eingabetaste.

Die Zelle zeigt WAHR.

Geben Sie nun =1=2 in die Zelle daneben ein.

FALSCH.

Die meisten Excel-Anwender sehen das und denken: „Na gut, das ist eine Ja-oder-Nein-Frage.“ Eine Bezeichnung. Etwas, das die WENN -Funktion verwendet. Sie machen weiter. Doch hier geschieht etwas Wichtigeres. Sobald Sie das erkennen, wird Ihnen ein großer Teil der Funktionsweise von Excel plötzlich klar.

WAHR ist nicht nur ein Wort. Es ist die Zahl 1. FALSCH ist nicht nur ein Wort. Es ist die Zahl 0.

Immer. Ohne Ausnahme. In jeder Formel, in jeder Excel-Version und in jeder Sprache. Es handelt sich dabei nicht um eine Konvention oder einen Trick, sondern um die mathematische Grundlage, auf der die gesamte Formel-Engine von Excel aufbaut. Sobald Sie das wissen, werden Sie es überall erkennen.


Überzeugen Sie sich selbst

Sie müssen mir nicht einfach glauben. Geben Sie Folgendes in eine beliebige Zelle ein:

=WAHR + 0

Excel-Rückgabewert 1.

=FALSCH + 0

Excel-Rückgabewert0.

=WAHR * 5

Excel-Rückgabewert 5.

=FALSCH * 5

Excel Excel-Rückgabewert 0.

WAHR verhält sich in der Arithmetik genau wie 1. FALSCH verhält sich genau wie 0. Es handelt sich um dasselbe, nur in unterschiedlicher Form.

Boolesche Arithmetik - The WAHR=1 / FALSCH=0 proof table


Was dies für Arrays bedeutet

Die wahre Stärke kommt erst dann zum Tragen, wenn Sie nicht nur einen booleschen Wert, sondern eine ganze Spalte davon haben.

Stellen Sie sich beispielsweise vor, Sie haben eine kurze Liste mit Verkaufszahlen in Spalte A und möchten wissen, wie viele davon über 100 liegen. Sie könnten diese von Hand zählen oder Excel eine Spalte mit WAHR/FALSCH-Werten erstellen lassen – einen pro Zeile – und diese dann summieren.

Schritt für Schritt würde das anhand einer Liste mit sechs Werten – 80, 150, 60, 200, 90 und 175 – so aussehen:

Schritt 1: Stellen Sie für jede Zeile die Frage:

=A1:A6 > 100

Excel wertet dies einmal für jede Zelle im Bereich aus und gibt ein Array mit booleschen Ergebnissen zurück:

{FALSCH, WAHR, FALSCH, WAHR, FALSCH, WAHR}

Drei Reihen bestehen den Test, drei nicht.

Schritt 2: Bitte beachten Sie, dass WAHR dem Wert 1 und FALSCH dem Wert 0 entspricht.

{0, 1, 0, 1, 0, 1}

Es hat sich nichts geändert. Nur das Etikett.

Schritt 3: Das Array summieren

=SUMME({0, 1, 0, 1, 0, 1})

Ergebnis: 3. Genau die richtige Antwort, und Sie haben keine WENN-Anweisung geschrieben.

So funktioniert die Funktion ZÄHLENWENN im Hintergrund. Das ist keine Zauberei, sondern boolesche Arithmetik. Jedes Mal, wenn Excel zählt, „wie viele Zellen einer Bedingung entsprechen“, erstellt es ein Array aus Einsen und Nullen und summiert diese.

Die sechsstufige Schritt-für-Schritt-Anleitung


Die doppelte Negation -- erklärt

Wenn WAHR gleich 1 und FALSCH gleich 0 ist, warum steht dann in professionellen Excel-Formeln manchmal ein -- vor einem Ausdruck? Das sieht wie ein Tippfehler aus.

=SUMME(--(A1:A6 > 100))

Der Grund dafür ist nicht ganz offensichtlich. Wenn Excel bei einem Vergleich die Werte WAHR/FALSCH ausgibt, liegen diese in einem speziellen logischen Datentyp vor. Die meisten arithmetischen Operationen (+, *, -) wandeln diese Werte automatisch in Zahlen um. Einige Funktionen, insbesondere ältere wie die Funktion SUMME, die in bestimmten Array-Kontexten verwendet wird, sind jedoch strenger. Sie erkennen einen logischen Wert und weigern sich, ihn als Zahl zu behandeln.

Die doppelte Verneinung erzwingt die Umwandlung ausdrücklich:

Beobachten Sie, wie sich die Formel vom Fehler zum Ergebnis entwickelt, wobei jeder Schritt eine weitere Ebene des Mechanismus offenbart.
Die doppelte Verneinung in der Praxis

Endergebnis: WAHR1, FALSCH0. Diese Werte sind nun reguläre Zahlen, die von jeder Funktion ohne Weiteres akzeptiert werden.

In SUMMENPRODUKT-Formeln, die von erfahrenen Excel-Anwendern erstellt wurden, werden Sie häufig -- sehen. Dies dient nicht nur der Optik, sondern ist eine bewusste Form der Typumwandlung.


Drei „WAHR“- und drei „FALSCH“-Beispiele in der Praxis

Lassen Sie uns dies anhand des zuvor genannten Sechs-Wert-Arrays konkretisieren und jeden Schritt einer tatsächlichen Berechnung nachvollziehen.

Wir haben sechs Umsatzzahlen: 80, 150, 60, 200, 90, 175

Wir möchten den Gesamtwert der Umsätze, die über 100 liegen, also die Summe der entsprechenden Beträge, nicht die Stückzahl.

Formel:

=SUMMENPRODUKT(--(A1:A6 > 100), A1:A6)

Der Inhalt des Arbeitsspeichers von Excel lässt sich in jeder Phase wie folgt darstellen:

Schritt Operation Array
1 A1:A6 > 100 {FALSCH, WAHR, FALSCH, WAHR, FALSCH, WAHR}
2 -- Zwang {0, 1, 0, 1, 0, 1}
3 Multiplizieren mit A1:A6 {0×80, 1×150, 0×60, 1×200, 0×90, 1×175}
4 Erweitern {0, 150, 0, 200, 0, 175}
5 SUMME(...) 525

Die drei Zeilen mit dem Wert FALSCH – 80, 60 und 90 – wurden mit Null multipliziert und verschwanden. Die drei Zeilen mit dem Wert WAHR – 150, 200 und 175 – wurden hingegen mit der Zahl Eins multipliziert und behielten ihre Werte bei. Die Summe der verbleibenden Werte beträgt 525.

Dieses Muster bildet den Kern fast jeder fortgeschrittenen Excel-Formel. Das Boolesche Array ist kein Ergebnis, sondern ein Filter. Werte, die eine Eins enthalten, werden durchgelassen. Nullen blockieren sie. Alles andere ist reine Arithmetik.


Ist das vielleicht etwas, das Sie bereits tun, ohne es zu merken?.

Sobald Sie das Muster verstanden haben, werden Sie es in den Formeln wiedererkennen, die Sie seit Jahren verwenden.

ZÄHLENWENN(Bereich, Kriterien) zählt, wie viele Zellen den Kriterien entsprechen. Dabei wird jede Zelle intern verglichen. Das Ergebnis ist „WAHR“, „FALSCH“ usw. Diese Werte werden in „1“, „0“, „1“ usw. umgewandelt. Dann addieren Sie diese. Das Ergebnis ist eine Zählung.

SUMMEWENN(Bereich, Kriterium, Summe_Bereich)verwendet dasselbe boolesche Array, multipliziert jedoch zunächst den Filter mit den Werten im Summenbereich, anstatt die Einsen und Nullen zu addieren. Es ist genau dasselbe Muster wie oben.

MITTELWERTWENN: berechnet die Summe der übereinstimmenden Werte und teilt sie durch die Anzahl der übereinstimmenden Werte. Zwei boolesche Operationen, eine Formel.

Die Formel WENN(Bedingung, Wert_wenn_wahr, Wert_wenn_falsch) liefert einen einzelnen Wert WAHR oder FALSCH, der bestimmt, welcher Zweig genommen wird. Dabei ist es unerheblich, ob Sie die Formel als WENN(A1>100, ...) oder als WENN(WAHR, ...) schreiben – sie sind identisch

Je tiefer Sie in Excel einsteigen, desto mehr werden Sie feststellen, dass die boolesche Arithmetik Aufgaben ausführt, die der Logik ähneln.


Wie dies in der Arbeitsmappe dargestellt wird

In der in dieser Reihe behandelten Kostenbasis-Arbeitsmappe erscheint die Boolesche Logik innerhalb der Kernverteilungsformel als Logikoperator namensisActive:

isActive, periodStart <= periodEnd

Excel ermittelt für jede Kombination aus Kategorie und Monat, ob sich der aktive Zeitraum der Kategorie mit dem aktuellen Monat überschneidet. Das Ergebnis ist entweder WAHR oder FALSCH. Dann:

monthlyDays, WENN(isActive,
    NETTOARBEITSTAGE.INTL(periodStart, periodEnd, 1, _DataFestivita),
    0)

Die Anzahl der Arbeitstage wird berechnet, wenn isActive den Wert WAHR (also 1) hat. Ist der Wert dagegen FALSCH (also 0), wird das Ergebnis auf Null gesetzt und es fallen in diesem Monat keine Kosten für die Kategorie an. Im herkömmlichen Sinne wird kein WENN-Zweig ausgeführt, da der boolesche Wert direkt bestimmt, ob Kosten anfallen.

Dieses Muster wiederholt sich in der fortgeschrittenen Excel-Arbeit. Sobald Sie es erkannt haben, werden Sie es in jeder Arbeitsmappe sehen, die Sie öffnen.


Die Zusammenfassung in einem Satz

WAHR = 1. FALSCH = 0. Boolesche Arrays sind Filter. Multiplizieren Sie einen Wert mit 1, um ihn beizubehalten, und mit 0, um ihn zu löschen. Summieren Sie das Ergebnis. Das ist der Mechanismus, der hinter ZÄHLENWENN, SUMMEWENN, SUMMENPRODUKT und jeder Array-Formel steckt, über die Sie sich jemals Gedanken gemacht haben.

Alles andere ist nur Detail.