Woran erkennt man, dass man zu viel mit Excel gearbeitet hat? Wenn man die Augen schließt und sich das Excel-Grid in die Netzhaut eingebrannt hat (Daniel Kogan – excelhero)

Verblüffend!

Man schreibe in eine Zelle den Text ‚WAHR. Das Ergebnis wird linksbündig als Text angezeigt. Das Gleiche passiert, wenn man eine Zelle als Text formatiert und anschließend mit den Buchstaben WAHR füllt.

Soweit so gut. Die Überprüfung mit der Funktion ISTTEXT bestätigt, dass ein Text in der Zelle steht; ISTLOG verneint die Existenz eines booleschen Wertes (WAHR oder FALSCH). Auch die Überprüfung mit =Zelle=WAHR und =ZELLE=“WAHR“, verneint das erste und bestätigt das zweite:

Irritierend ist nun, dass die Funktion ZÄHLENWENN 0 liefert, wenn man den TEXT „WAHR“ zählt:

Der Blick in den Funktionsassistenten irritiert:

Verblüffend!

Wer die Wahrheit nicht weiß, der ist bloß ein Dummkopf. Wer die Wahrheit kennt und sie eine Lüge nennt, der ist ein Verbrecher. (B. Brecht)

Die Datentypen (oder auch nicht vorhandenen Datentypen) in Excel bringen mich um.

Hintergrund: Ich schreibe ich drei Zellen die Texte ‚1, ‚2 und ‚3. Die Formel =A1+A2+A3 wandelt die Texte in Zahlen um und rechnet richtig. Die Funktion =SUMME(A1:A3) interpretiert die Texte als 0. Ebenso schafft =JAHR(„28.01.2019“) den Text in ein Datum, also in eine Zahl, zu verwandeln und liefert die korrekte Jahreszahl.

In der Zelle C2 steht WAHR. Ein Vergleich =C2*1 liefert 1. =C2=1 liefert FALSCH – der Wahrheitswert WAHR entspricht also 1, ist aber nicht 1. Die Funktionen ISTZAHL und ISTLOG liefern FALSCH und WAHR. Wahr ist ein logischer Wert und keine Zahl, kann aber in eine Zahl verwandelt werden.

So weit, so gut. Deshalb kann die Funktion

=SUMME(C2:C12)

nicht korrekt rechnen, wenn in der Spalte C nur Wahrheitswerte stehen. Multipliziert man jeden Wert mit 1, dann klappt die Summe (als Matrixfunktion):

{=SUMME(C2:C12*1)}

Sie kennen sicherlich dieses Problem bei der Funktion SUMMENPRODDUKT.

Und jetzt mein Erstaunen:

=WAHR+WAHR+WAHR

liefert 3, ebenso wie =“1″+“2″+“3″ die Zahl 6 liefert.

=SUMME(WAHR;WAHR;WAHR)

liefert aber auch 3. Liegen die Werte in Zellen, klappt die Typkonvertierung nicht!

Nachtrag: Bei Programmiersprachen heißt die Umwandlung „casting“. Sollen wir mal Excel casten?

Tschüss Niveau – bis Montag

Vielleicht sollte ich nicht so viel nachprüfen. Aber manchmal will ich es einfach wissen.

Ich trage in eine Spalte unterschiedliche Dinge ein: ganze Zahlen, Dezimalzahlen, Datumsangaben, Uhrzeiten, Text. Ich überprüfe ihre Existenz mit den beiden Funktionen ISTZAHL und ISTTEXT. Die Ergebnisse sind komplementär. Jedoch bei den beiden Gebilden WAHR und FALSCH liefert Excel: ISTZAHL: nö! ISTTEXT: keine Spur!

Ja – was ist es denn?

 

Gefühle sind heutzutage auch nur noch was für ganz Mutige.

Excel ist an vielen Stellen nicht konsequent. Der Text „1“ ist beispielsweise etwas anderes als die Zahl 1. Dennoch kann man den Text mit 1 multiplizieren.

Ebenso verhält es sich mit WAHR und 1. Eigentlich entspricht Wahr dem Wert 1 und Falsch dem Wert 0. Eigentlich. Multipliziert man die beiden Werte WAHR und FALSCH, beziehungsweise die Funktionen =WAHR() und =FALSCH() mit 1, erhält man 1 beziehungsweise 0. Intern handelt es sich jedoch um einen anderen Wert. Also
=WAHR=1

liefert FALSCH.

Und diese Unschärfe führt auch dazu, das Wahr-Werte nicht addiert werden können:

=SUMMENPRODUKT(C:C=“Briefpapier“)

liefert 0.

=SUMMENPRODUKT((C:C=“Briefpapier“)*1)

dagegen das korrekte Ergebnis:

Aus Langeweile hätte ich eben fast gearbeitet. Man muss aber auch höllisch aufpassen.

Gestern in der Excel-Schulung. Wir üben die WENN-Funktion. Standard-Beispiel: eine Provisionsberechnung. Ein Teilnehmer ruft mich, weil er eine Fehlermeldung erhält:

Ich gestehe: ich habe drei Mal hinschauen müssen, bis ich es entdeckt hatte: das schließende Anführungszeichen bei dem Sonst-Zweig (Wert_wenn_falsch) fehlt.

Ich brauche einen neuen Kopf. Der alte denkt zu viel.

Was mache ich falsch?

Ich wollte mal schnell einen Kalender erzeugen und die Wochenende mit einer grauen Zellfarbe hinterlegen.

Keine Wochenenden!

Keine Wochenenden!

Die Antwort: Sie haben als Formel

=WOCHENTAG(B2;2>5)

geschrieben. Die Klammer wurde falsch gesetzt. Es muss heißen:

=WOCHENTAG(B2;2)>5

20161012bedingteformatierung02

Ah, danke – jetzt funktioniert es!

Übrigens: 2>5 liefert den Wert FALSCH. FALSCH entspricht in Excel der Zahl 0. Hier wurde versucht Wochentag(B2;0) zu berechnen. Excel verlangt allerdings die Parameter 1, 2 oder 3 und liefert bei 0 einen Fehler. Da Fehler in der Bedingten Formatierung nicht angezeigt, sondern stillschweigend übergangen werden, wird keiner der Tage grau formatiert.