Autor: Peter Haserodt  --- Aus Excel Standard - Gruppe: Funktionen

WENN

Autor: Peter Haserodt - Erstellt: ?      - Letzte Revision: ?Gruppenthema: 3 Folgen 1 2 3 Sie sind in Folge:3
Die Wenn Funktion - Wenn man sie nur verstehen würde

Die Struktur ist prinzipiell recht einfach:
Wenn(Bedingung;Dann;Sonst)

Tatsächlich wird es viel verständlicher, wenn man dies etwas anders formuliert:
Wenn(DieBedingung = WAHR;DannMachDies;SonstMachJenes)
Also: Der zweite Ausdruck der Funktion kommt zum tragen, wenn die Bedingung WAHR ist, der dritte Ausdruck, wenn die Bedingung Falsch ist.
 
 ABCD
1    
2 10Gut 
3 3Schlecht 
4    
Formeln der Tabelle
C2 : =WENN(B2>5;"Gut";"Schlecht")
C3 : =WENN(B3>5;"Gut";"Schlecht")
 

Dieses Beispiel ist einfach zu verstehen. Es wird auf den Zellwert in B2 reagiert.
Wichtig dabei ist es, dass unserer Bedingungsteil auch einen gültigen logischen Wert zurückgibt.
Was ist nun das Ergebnis einer Bedingung?
Dies ist immer WAHR oder FALSCH ! (Sprachlich könnte man auch sagen: Ja oder Nein, 1 oder 0, ...) kurzum gibt es aber nur ZWEI Ergebniswerte! (Ein bisschen schwanger gibt es nicht )
Und je nach Ergebnis wird der Wahrteil oder der Falschteil der Bedingung ausgeführt!

Formeln in der Wenn-Funktion oder verdameleite Ausdrücke!

In der Excel Hilfe findet man oft den Begriff Ausdruck bzw. gültigerAusdruck. Was ist eigentlich damit gemeint?

Formulieren wir die Struktur der Wennabfrage nochmals um:
Wenn(Ausdruck;Ausdruck;Ausdruck)
Und ich erkläre ausdrücklich, dass ich Sie nicht ärgern will
 
=Wenn(AusdruckAusdruckAusdruck)
 Der Ausdruck muss WAHR oder FALSCH liefernDer Ausdruck muss etwas liefern, dass ich weiterverwerten kannDer Ausdruck muss etwas liefern, dass ich weiterverwerten kann 
 


Was soll diese Ausdrückerei?

Nun, nichts anderes, als dass ich auch beliebig dort wieder Formeln einsetzen kann, solange sie als Ergebnis einen gültigen Wert für den Teil der Funktion liefern.

Ändern wir unser erstes Beispiel ein wenig:
 
 ABCD
1    
2 1012 
3 330 
4    
Formeln der Tabelle
C2 : =WENN(B2>5;3*4;5*6)
C3 : =WENN(B3>5;3*4;5*6)
 

Sie sehen, für meinen Wahr- und Falschteil habe ich jetzt Berechnungen eingesetzt und es funktioniert auch. Selbstverständlich können wir auch Zellbezüge dort mithineinnehmen.
Und damit gleich weiter:
 
 ABCDEFGH
1        
2 2 15 35 
3 4   610 
4 6      
5        
Formeln der Tabelle
D2 : =WENN(MAX(B2:B4)> 3; F2*G2;F3*G3)
 

Sie sehen, diesmal habe ich die Bedingung etwas komplizierter gemacht. Ich habe eine Funktion eingefügt aber dies ist egal, denn als Ergebnis dieses Ausdruckes erhalte ich Wahr oder Falsch! Das Maximum ist entweder größer oder nicht größer -> also ein gültiger Ausdruck.
Auch in den Wahr- und Falschteilen habe ich berechnet - und auch hier geben mir die jeweiligen Ausdrücke einen gültigen (für Excel darstellbaren) Wert zurück.
Peter Haserodt
  • Formelhilfe
  • Makroentwicklung
  • VBA-Programmierung
  • + + + + + + + + +
Verschachtelte Wenn Funktionen

Nun reicht es mir oft nicht, eine Bedingung zu untersuchen sondern ich will verschieden z.B. auf den Zustand einer Zelle reagieren.
Nehmen wir an, ich möchte die Zelle B2 daraufhin untersuchen, ob diese kleiner 0 ist und wenn dies nicht der Fall ist, soll nochmals unterschieden werden, ob sie größer 10 ist.
In Worten: Wenn < 0 dann mach dies sonst untersuche noch, ob es größer 10 ist.
Mit unseren bisherigen Kenntnissen können wir schnell darauf kommen:

Wir müssen einfach in einem Ausdruck noch eine Wenn Funktion einbauen:

Wenn < 0 Dann mach dies SONST Wenn größer 10 Dann mach jenes Sonst noch was anderes
In Excel:
 
 ABCDE
1     
2 5 Größer Gleich 0 und Kleiner Gleich Zehn 
3     
Formeln der Tabelle
D2 : =WENN(B2<0;"Kleiner Null";WENN(B2>10;"Größer Zehn";"Größer Gleich 0 und Kleiner Gleich Zehn"))
 

Und selbstverständlich können Sie wieder für jeden Ausdruck eine Berechnung einsetzen und und und...

Bevor Sie nun weiterlesen, sollten Sie selbst ein paar Wenns ausprobieren.
Kleine Aufgabe gefällig?
Zielzelle sei F2 (Also dort soll das Ergebnis erscheinen, dort steht unsere Wennformel)

Wenn die Summe von B2 bis B6 größer 100 ist, dann soll in F2 "Gut" stehen sonst soll untersucht werden, ob das Minimum von B2 bis B6 kleiner 10 ist, trifft dies zu, soll "Na Ja" stehen, ist dies falsch, soll untersucht werden, ob der Mittelwert von B2 bis B6 größer 15 ist, trifft dies zu, dann soll in F2 "OK" stehen sonst "Alles Mist".
Dann man los.



Mögliche Lösungen:
 
 ABCDEFG
1       
2 11   OK 
3 30   OK 
4 15     
5 14     
6 11     
7       
Formeln der Tabelle
F2 : =WENN(SUMME(B2:B6)>100;"Gut";WENN(MIN(B2:B6)<10;"Naja";WENN(MITTELWERT(B2:B6)>15;"OK";"Alles Mist")))
F3 : =WENN(SUMME(B2:B6)<=100;WENN(MIN(B2:B6)<10;"Naja";WENN(MITTELWERT(B2:B6)>15;"OK";"Alles Mist"));"Gut")
 

Ich habe Ihnen hier zwei mögliche Lösungen aufgezeigt, die in F2 ist vermutlich Ihre.
Aber um Ihnen zu zeigen, dass viele Wege nach Rom führen, auch noch die in F3, in welcher einfach die Bedingung "umgedreht" wurde. Ob ich nun > 100 oder <= 100 untersuche, ist letztendlich egal, ich muss nur aufpassen, was der Wahrteil und der Falschteil wird !!!.

Wennen Sie nun noch ein bisserl herum, bevor ich zum abschließenden Logikhorror komme

Die Logik, Die Logik - eine kleine Wenn Spielerei

Folgende kleine Aufgabe:
Wenn in B2 die Zahl <= 5 ist, dann "Schlecht" Sonst wenn größer 100 dann "Gut", Wenn Größer 500 Dann Sehr gut, ansonsten "Na Ja".

Probieren Sie es aus, bevor Sie weiterlesen!


Tatsächlich ist dies eine meiner Lieblingsaufgaben.
Der Ansatz sieht ja vermutlich so aus:
Wenn <= 5 Dann Weiterunersuchen wegen >100 und Weiteruntersuchen wegen > 500 Sonst "Na Ja" reinschreiben.
Die Lösungen sehen in der Regel so aus:
=WENN(B2<=5;"Schlecht";WENN(B2>100;"Gut";WENN(B2>500;"Sehr Gut";"Na Ja")))

Und das Staunen ist nicht schlecht, dass auch wenn man in B2 eine 1000 eingibt, in der Zielzelle kein Sehr Gut auftaucht. Alles andere funktioniert aber.

Dies ist ganz einfach. Wenn in einer logischen Überprüfungen einmal auf WAHR getroffen wird, ist für Excel die Sache beendet und der Wahrteil wird ausgegeben.

In der obigen Formel prüfen wir erst, ob B2 > 100 und dann erst, ob B2 > 500 ist.
Wenn aber B2 > 500, dann ist es aber auch > 100 und somit wurde der Wahrteil schon vorher getroffen und Feierabend.

Eine mögliche Lösung:

=WENN(B2<=5;"Schlecht";WENN(B2>500;"Sehr Gut";WENN(B2>100;"Gut";"Na Ja")))

Sie sehen, hier ist einfach die Reihenfolge der Überprüfung gedreht.
Es wird erst auf > 500 gechecked und dann auf > 100. Und somit erhalten wir die richtigen Ergebnisse.

Wenn der Zellwert > 500 ist, spuckt Excel uns den Wahrteil aus, ohne weiter in der Formel zu prüfen.

Also, einmal Wahr getroffen -> Ende der Fahnenstange


Dieses Thema hat weitere Beiträge

ODER
UND
WENN

Weitere Artikel der Gruppe: Funktionen Aus Excel Standard
Nach oben
ToDo
Google Werbung