WENN() – Funktion

Die Logik-Funktion WENN()

Beschreibung

Die Funk­tion WENN() gehört neben SUMME() wohl zu den meist genutzten Funk­tio­nen in Excel. Auch wenn es für Ein­steiger nicht leicht ist, es lohnt sich wirk­lich, sich zumin­d­est mit den grundle­gen­den Din­gen auseinan­derzuset­zen. Und schon gle­ich hier zu Beginn der Hin­weis, dass es auch hier Alter­na­tiv­en gibt, wenn die Formel dro­ht, undurch­schaubar zu wer­den. Das geht dann beispiel­sweise in die all­ge­meine Rich­tung VERWEIS().

Syntax

=WENN(Bedin­gung; Dan­nWert; Sonst­Wert)

Argument(e)

Das Argu­ment Bedin­gung muss eingegeben wer­den. Es muss ein Aus­druck sein, der aus­gew­ertet wer­den kann und als Ergeb­nis den Wahrheitswert WAHR oder FALSCH ergibt. Dazu wer­den nor­maler­weise Ver­gle­ich­sop­er­a­toren wie =, <, > <> einge­set­zt. Prinzip­iell kann alles ver­glichen wer­den, so ist logis­cher­weise die For­mulierung

="Himmel" <> "Hölle"

selb­stver­ständlich wahr, denn es sind ja zwei vol­lkom­men ver­schiedene Zeichen­ket­ten.

Der Dan­nWert beschreibt, welch­es Ergeb­nis die Funk­tion zurück gibt, falls die Auswer­tung der Bedin­gung WAHR ist. Dieses Argu­ment ist eben­falls zwin­gend erforder­lich. Es kann sich hier­bei um einen beliebi­gen Wert han­deln, in Gren­zen auch um eine Anweisung (allerd­ings nicht wirk­lich empfehlenswert).

Der Sonst­Wert sollte immer angegeben wer­den, es kommt andern­falls unter Umstän­den zu irri­tieren­den Funk­tion­sergeb­nis­sen. Hier wird der Rück­gabe­w­ert beschrieben, der in dem Fall genutzt wird, wenn der Dan­nWert nicht zutrifft. Und da der Com­put­er (noch) aus­schließ­lich die bei­den Zustände Ja und Nein, sprich 1 und 0 ken­nt, gibt es keine andere Möglichkeit.

Hier schon ein­mal der Hin­weis: Durch Ver­schachtelung des WENN() lässt sich auf Umwe­gen doch noch etwas mehr als dieses reine schwarz/weiß erre­ichen.

▲ nach oben …

Beispiele

In dieser Datei, Reg­is­ter Wenn() find­en Sie (teil­weise dem­nächst) die fol­gen­den Beispiele und noch einiges mehr zu dieser Funk­tion. Die Beschrei­bun­gen in dem Tabel­len­blatt sind aber kürz­er gefasst als hier, dafür aber vielle­icht infor­ma­tiv­er und tiefer gehen­der.

Bedenken Sie bei diesen hier aufge­führten Text-Beispie­len immer, dass die WENN() – Funk­tion immer in jen­er Zelle ste­ht, wo das Ergeb­nis dieser Funk­tion aus­gegeben wird. Der Über­sichtlichkeit hal­ber und der besseren Les­barkeit wegen ver­wende ich rel­a­tiv viele Leerze­ichen in der Formel. Sie kön­nen diese genau so eingeben oder auch weglassen. Im schlimm­sten Fall wird Excel die Formel an ein­er fehler­haften Stelle in der Eingabezeile markieren.

=WENN(7 < 10; "kleiner"; 55)

Inter­pre­ta­tion: Wenn 7 klein­er ist als 10, dann gebe den Text klein­er zurück, son­st schreibe die Zahl 55 in die Zelle, wo die Funk­tion drin ste­ht. Es ist klar, dass hier der Text zurück gegeben wird, denn 7 ist klein­er als 10.


=WENN(7 < 7; "kleiner"; 55)

Inter­pre­ta­tion: Wenn 7 klein­er ist als 7, dann gebe den Text klein­er zurück, son­st die Zahl 55. Das Ergeb­nis muss natür­lich 55 sein, denn 7 ist zwar = 7 aber nicht klein­er.


=WENN(7 < A1; "kleiner"; 55)

Inter­pre­ta­tion: Wenn die Zahl 7 (also der Wert) klein­er ist, als der Wert in Zelle A1, dann wird in der Ziel-Zelle der Text klein­er aus­gegeben, son­st der Wert (die Zahl) 55.


=WENN("1.1.2000" < "01.02.2000"; "A"; "B")

Inter­pre­ta­tion: Wenn "1.1.2000" klein­er ist als "01.02.2000" … Spon­tan würde ich sagen, dass hier als Ergeb­nis A her­aus kommt, denn der Wert des 1. Jan­u­ar 2000 ist nun ein­mal klein­er als der des ersten Feb­ru­ar des gle­ichen Jahres.

Aber Excel hat da so seine eigene Logik. Es han­delt sich bei diesem Ver­gle­ich um 2 Texte und da gilt, dass Zeichen für Zeichen nacheinan­der ver­glichen wird. Und gle­ich beim ersten Zeichen wird klar, dass die "1" (Text, nicht Zahl) nun ein­mal nicht klein­er ist als der Text "0". Das ist der Grund, warum B als Ergeb­nis her­aus kommt.

Bleiben wir bei dem Beispiel. Und um es etwas real­ität­sna­her zu gestal­ten sage ich, dass in A1 der Text "1.1.2000" ste­ht und in A2 ist es auch der Text "01.02.2000", an den Anführungsze­ichen erken­nen Sie, dass es sich hier auch um Text han­delt und wegen der Gänse­füßchen bew­ertet Excel die Zellen auch als Text. – Ich möchte nun erre­ichen, dass Excel die bei­den Zellinhalte so inter­pretiert, wie es Men­schen tun. Also als kalen­darisches Datum. Dann sähe die Funk­tion vor der Kor­rek­tur so aus:

=WENN(A1 < A2; "A"; "B")

… was natür­lich wieder das fehler­hafte Ergeb­nis B brin­gen würde. Im Grunde genom­men habe ich ja nur die absoluten Werte in der Funk­tion durch einen Zell­bezug erset­zt. Zielführend ist hier fol­gende Kom­bi­na­tion:

=WENN(DATWERT(A1) < DATWERT(A2); "A"; "B")

Das klappt dann auch so wie gedacht, weil die Funk­tion DATWERT() den Datum­s­text in eine Zahl umwan­delt, die Excel als „echt­es” Datum inter­pretieren kann und auch wird. Sie erken­nen, dass sich prinzip­iell Funk­tio­nen auch gut ver­schachteln lassen.

▲ nach oben …

Apro­pos Datum, hier ein let­ztes Beispiel, wie es in dieser Art nicht nur in Sachen Datum gebraucht wird. Die Auf­gabe scheint ganz ein­fach: Zu einem beliebi­gen Datum soll das Quar­tal aus­gegeben wer­den. Also: 1. Quar­tal, 2. Quar­tal, … Das hört sich ein­fach an, ist es aber nicht in Wirk­lichkeit. Denn hier kommt die oben bere­its ange­sproch­ene Verschachtelung der WENN()-Funk­tio­nen zum tra­gen, und bei 4 Quar­tal­en ist das schon recht aufwendig.

Hier im Text-Teil (den Sie ger­ade lesen) beschränke ich mich auf zwei Ter­mine, die jew­eils im ersten und zweit­en Hal­b­jahr liegen. Es soll geprüft wer­den, ob ein bes­timmtes Datum auf einen der bei­den Ter­mine fällt. In der Datei logik.xlsx Reg­is­ter Wenn() ist auch die recht umfan­gre­iche Funk­tion für die vier Quar­tale vorgestellt. Trotz der Beschränkung hier im Text ist die Logik die gle­iche. Und (nur) drei Möglichkeit­en sind ein­fach über­sichtlich­er als vier oder mehr. Sie sind über die „drei Möglichkeit­en” irri­tiert? Sie meinen, es seien doch nur zwei? Es sind drei:

  1. Ter­min 1 trifft zu,
  2. Ter­min 2 trifft zu,
  3. kein­er der bei­den Ter­mine ist zutr­e­f­fend, weil nicht im aktuellen Jahr.

Oder um zum besseren Ver­ständ­nis ein anderes Beispiel zu nehmen, welch­es vielle­icht prax­is­näher ist: Manche Paket­di­en­ste ver­wen­den die Ein­heit „Gurt­maß” als Grund­lage für den Preis. Die Berech­nung ist beispiel­sweise „Läng­ste Seite + kürzeste Seite in cm”. Da gibt es dann die drei Grup­pen „S‑Paket” (small), „M‑Paket” (medi­um) und „L‑Paket” (large) .. (und noch weit­ere). Das sind echte Beze­ich­nun­gen eines großen deutschen Paket­di­en­stes, der lieber englis­che Begriffe ver­wen­det. Auch dazu find­en Sie auf dem Arbeits­blatt ein Beispiel.

Wieder zurück zum The­ma Datum/Quartal. Die fol­gen­den Anweisun­gen beschreiben den Weg, wie Sie auch als Anfänger zum Ziel gelan­gen, und zwar Schritt für Schritt. Wollen Sie gle­ich das Ergeb­nis für die Hal­b­jahrester­min-Formel sehen, dann genügt ein Klick hier.

In A1 ste­ht der Ter­min für das erste Hal­b­jahr, in A2 der für das zweite Hal­b­jahr. Und in A3 das auszuw­er­tende Datum, welch­es gegen die bei­den anderen kalen­darischen Dat­en abgeglichen, ref­eren­ziert wer­den soll.. Alle 3 Zellen enthal­ten ein gültiges Datum, welch­es nicht umge­wan­delt wer­den muss. In beispiel­sweise A4 kommt dann die endgültige Formel/Funktion.

▲ nach oben …

Auch wenn das eine oder andere für Sie nun vielle­icht ver­wirrend erscheint, es ist dann let­z­tendlich doch schlüs­sig. Und solange Sie nicht wirk­lich fit sind in Sachen Formel-Ver­schachtelun­gen, soll­ten Sie den hier aufgezeigten Umweg gehen. Bei sehr kom­plex­en Ver­schachtelun­gen mache ich das auch heute noch so. – Fol­gende Logik ist hier in genau dieser Rei­hen­folge zielführend:

  1. Ist A3 = A1?
    1. Ja, dann Rück­gabe „Ter­min 1. Hal­b­jahr”
    2. Nein, dann weit­er zu 2.
  2. Ist A3 = A2?
    1. Ja, dann Rück­gabe „Ter­min 2. Hal­b­jahr”
    2. Nein, dann Rück­gabe „Kein Ter­min”

Um das zu real­isieren, gehen Sie erst ein­mal in eine beliebige, freie Zelle. Ich wäh­le hier B1. Dort schreibe ich fol­gende Formel hinein:

=A3=A1

und in B2 kommt die Formel

=A3=A2

Das Ergeb­nis ist dann jew­eils ein WAHR oder ein FALSCH. Damit habe ich dann erst über­haupt ein­mal die Kon­trolle, ob ein­er der bei­den Ter­mine mit dem Ver­gle­ichs-Wert in A3 über­ein­stimmt oder nicht. Zugegeben, dieses wer­den Sie nicht unbe­d­ingt immer durch­führen, aber manch­mal kann es hil­fre­ich sein. Schauen Sie sich ein­mal das Beispiel in der fol­gen­den Abbil­dung an:

Vorsicht, Falle!

Vor­sicht, Falle!

Der besseren Erkennbarkeit wegen habe ich A1 gelb markiert, weil es ja um die Zelle geht. Und sie ist auch im End­ef­fekt der Übeltäter. Aber warum behauptet Excel, dass die Werte nicht iden­tisch sind? Ein Klick in A1 zeigt, woran es liegt:

Die versteckte Uhrzeit ist Schuld

Die ver­steck­te Uhrzeit ist Schuld

In A3 ste­ht nur das Datum ohne Zei­tangabe, also im Prinzip 0:00h. Das Zahlen-For­mat bei­der Zellen ist iden­tisch auf „TT.MM.JJJJ” eingestellt, wodurch die Uhrzeit nicht angezeigt wird. Dadurch sieht es so aus, dass A1 und A3 die gle­ichen Werte bein­hal­ten (was aber nicht der Fall ist). Solche „Kleinigkeit­en” kön­nen einen schon zur Verzwei­flung treiben, wenn „man” nicht an solche Fehler­möglichkeit­en denkt.

Okay, die eben durchge­führte Kon­trolle zeigt also eine der zwei Möglichkeit­en auf. Aber das war ja nur die Kür, nun kommt die Pflicht. Erst ein­mal kor­rigiere ich in A1 das Datum auf das reine Datum ohne Uhrzeit, um ein solide Basis zu haben. Sofort wird sich in B1 der Wert auf WAHR ändern, denn nun sind die Inhalte der bei­den ver­glich­enen Zellen tat­säch­lich gle­ich. Ich schreibe nun beispiel­sweise in C1 erst ein­mal fol­gende Formel, um das Datum mit den ersten Hal­b­jahr abzu­gle­ichen:

=WENN(A3 = A1; "Termin 1. Halbjahr"; "XXX")

und in C2 kommt fast die gle­iche Formel:

=WENN(A3 = A2; "Termin 2. Halbjahr"; "XXX")

Das Ergeb­nis würde nun so ausse­hen:

Bei­de Hil­fs­formeln sind einge­fügt (Screen­shot aus Excel 2019)

Hin­weis: Mir ist bewusst, dass mit dieser For­mulierung keineswegs berech­net wird, ob das entsprechende Datum im ersten oder zweit­en Hal­b­jahr liegt. Es geht hier ganz klar nur um das Prinzip der Formeln! Stellen Sie sich aber ein­fach ein­mal vor, dass in A3 das einzig mögliche Datum im ersten Hal­b­jahr ver­merkt ist. Sprich: Nur wenn das in A1 eingegebene Datum mit dem Wert aus A3 übere­in­stimmt (also der 17.04.2014 ist), soll Ter­min 1. Hal­b­jahr aus­gegeben wer­den, son­st der alter­na­tive Wert XXX.

Machen Sie sich nun ein­mal bei­de Formeln in C1 und C2 unab­hängig voneinan­der bewusst. Es sind zwei eigen­ständi­ge WENN()-Funk­tio­nen, die jede für sich ein kor­rek­tes Ergeb­nis zurück geben.

Ich beginne ein­mal mit der zweit­en Formel (C2), sie ist leichter zu ändern und auch nachzu­vol­lziehen. Da ste­ht doch drin: Wenn das Datum in A2 gle­ich dem Datum in A3 ist, dann ist das Funk­tion­sergeb­nis Ter­min 2. Hal­b­jahr, son­st soll das Ergeb­nis XXX sein. Na ja, der Son­st-Teil gibt ja nicht wirk­lich ein viel­sagen­des Ergeb­nis zurück. Und richtig, die Auf­gabe war ja, dass dann Kein Ter­min zurück gegeben wird. Das ändern wir nun ein­mal:

=WENN(A1=A2; "Termin 2. Halbjahr"; "Kein Termin")

Und schon ist die zweite Formel kom­plett. Sie braucht nicht geän­dert zu wer­den. Aber sie ste­ht ja auch noch ganz alleine da, ohne eine Verknüp­fung mit der ersten Formel. Und die betra­cht­en wir uns jet­zt. – Wie bere­its beschreiben, kann in ein­er WENN()-Funk­tion nur das DANN oder das SONST zurück geben. Im obi­gen Beispiel trifft ja der DANN – Teil zu und es wurde der kor­rek­te Text zurück geliefert. Wenn ich jet­zt aber in A3 ein anderes Datum ein­trage, wird XXX in die Zelle einge­tra­gen. Eigentlich müsste dort die zweite Formel ste­hen, um zum gewün­scht­en Ergeb­nis zu kom­men, denn in C2 ste­ht nun je nach Sit­u­a­tion Ter­min 2. Hal­b­jahr oder Kein Ter­min.

Sie haben bei der zuerst disku­tierten Formel für den SONST – Teil gewiss erkan­nt, dass das "XXX" ein vorüberge­hen­der Platzhal­ter ist. Das ist natür­lich auch hier der Fall. Dieser Platzhal­ter wird ganz ein­fach durch die Kern-Formel aus C2 erset­zt. Als Kern-Formel beze­ichne ich die kom­plette Formel ohne das ein­lei­t­ende Gle­ich­heit­sze­ichen. Gehen Sie nun am besten so vor:

  • Markieren Sie in der Bear­beitungszeile die Formel ohne das führende Gle­ich­heit­sze­ichen
  • StrgC (entspricht Kopieren)
  • Esc – Taste
  • Klick­en Sie auf C1 und markieren Sie nun in der Bear­beitungszeile nur denn SONST – Teil, also "XXX" (ein­schließlich der Anführungsze­ichen).
  • StrgV (entspricht Ein­fü­gen), um die Markierung zu über­schreiben.
  • Mit der Einga­betaste (Enter, Return) den Vor­gang abschließen.

Damit wird das bish­er definierte Ziell etwas umdefiniert: In A3 und A2 ste­hen die fes­ten kalen­darischen Dat­en für das entsprechende Hal­b­jahr und ver­glichen wird nur der Wert in A1. Jet­zt sollte eine visuelle Prü­fung ergeben, dass in C1 in jedem Fall das kor­rek­te, das gewün­schte Ergeb­nis ste­ht. Die Formel sieht nun so aus:

=WENN(A1=A3; "Termin 1. Halbjahr"; WENN(A1=A2; "Termin 2. Halbjahr"; "Kein Termin"))

Auch wenn auf Ihrem Bild­schirm mehrere Zeilen für die Formel genutzt wer­den, die gehört in Excel in eine einzige Zeile. Bei einem kleinen Fen­ster oder entsprechend nie­driger Auflö­sung ist es aber dur­chaus möglich, dass Excel Ihnen die Formel auch in meh­re­ren Zeile anzeigt, obwohl es aus der Logik-Sicht des Pro­gramms eine einzige Zeile ist.

▲ nach oben …

Da nun ja fast alles wie gewün­scht da ste­ht, muss die Formel noch in die Zelle A4 ver­schoben wer­den, weil dieses ja das Ergeb­nis der Funktion(en) enthal­ten soll. Ein ein­fach­es c&p oder ziehen mit der Maus wird nicht unbe­d­ingt zum gewün­scht­en Erfolg führen. Okay ich gebe zu, dass in den neueren Ver­sio­nen mehr möglich ist als in den älteren. Das ver­schieben haut da prinzip­iell gut hin. Aber mit copy and paste fall­en Sie in jedem Fall auf die Nase, weil da ja die Adressen automa­tisch angepasst wer­den und Sie erhal­ten die Fehler­mel­dung #BEZUG!. Mein Vorge­hen in diesen Fällen: Ich kopiere die Kern-Formel, genau so wie eben auch beim ein­fü­gen der zweit­en Formel in die erste. Dann klicke ich in A4, schreibe ein Gle­ich­heit­sze­ichen und füge dann mit StrgV den vorher kopierten Inhalt der Zwis­chen­ablage ein und schon passt alles.

So, und an dieser Stelle noch ein dezen­ter Hin­weis: In Excel-Ver­sio­nen ab 2007 sind Ver­schach­telungen bis fast unendlich möglich. Wenn Sie der Herr der Dinge sein wollen und für Sie die Über­sicht wichtiger ist als irgendwelche intrans­par­ente Funk­tion­s­mon­ster, dann suchen Sie andere Wege zum Ziel. Denn ich traue mir nicht zu, nach einem hal­ben Jahr eine WENN-Funk­tion mit zehn oder mehr Ver­schachtelun­gen in ertrag­bar­er Zeit zu analysieren und eventuell verän­derten Gegeben­heit­en anzu­passen.

▲ nach oben …

Hat Ihnen der Beitrag gefallen?
Erleichtert dieser Beitrag Ihre Arbeit?

Dann würde ich mich über einen Beitrag Ihrer­seits z.B. 1,50  freuen … (← Klick mich!)

Dieser Beitrag wurde unter Excel-Funktionen abgelegt und mit , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.