Gibt es eine Möglichkeit die Excel-Formel "Wenn" mit mehren Möglichkeiten zu erstellen?

...komplette Frage anzeigen

7 Antworten

Da die Verschachtelung mehrer Wenn-Funktionen sehr unübersichtlich werden kann, ist es -manchmal- von Vorteil, stattdessen zu verketten: Hier ist es möglich, weil jeder Eintrag eine Eindeutige Auswirkung haben soll:

=wenn(A1=1;"A";"")&wenn(A1=2;"B";"")

Das runterziehen über soviele Zeilen, wie Du auswerten willst.

NB: & verknüpft Texte und macht deshalb aus (hier nicht auftretenden) Zahlen Zahlenlabels=Textzahlen. Unterschied: die Zahl 33 kann entweder gespeicher5 werden als Text: Zeichen(51)&Zeichen(51) oder als Wert:

33 = 1*2^´0+0*2^1+0*2^2+0*2^3+0*2^4+1*2^5, digital: 100001

Beachte aber die anderen AW, das ist das, was Du in der Schule und auch für nicht ganz so einfach liegende Fälle immer brauchst!

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo,

definieren wir doch mal die Wenn Funktion!

Aus was besteht die Wenn Funktion?
Aus 3 Teilen, nämlich:

=WENN(Bedienung;MacheFolgendes;AnsonstenDas)

Also, du hast einen Formelaufruf (=WENN) und eine Gliederung in 3 teile (Bedingung,Dann,Sonst)

Die Bedingung fragt ab, was genau gewollt ist bzw. überprüft deine Zelle auf einen Wert wie z.B. A1=3 (Die Bedingung ist also Wahr wenn in der Zelle A1 ein 3 steht) Wenn das der Fall ist DANN kommt der DannWert zum Einsatz anSONSTten soll der SontWert genommen werden.

Soweit so gut.

Jetzt kannst du deine Formel verschachteln. Stell dir das vor wie ein riesen Karton, in dem mehrere kleine Kartons sind.

Der Sonst-Wert übernimmt hier die Verschachtelung. Anstatt einer Aktion, sagst du hier einfach du willst noch eine Abfrage.

Also folgendes, deine Zelle A1 ist mit einer 3 befüllt:

=WENN(A1=3;[Was hier ja jetzt zutrifft]"Ja hier steht eine 3";[DANN sagst du hier steht eine 3]WENN(A1=2;[Aha, du willst schauen ob evtl. eine 2 enthalten ist, also Ansonsten wenn etwas anderes drin steht , in diesem Falle die 2 schreibst du folgendes]"Ja hier steht eine 2";[Dann sagst du hier steht eine 2]"Hier steht etwas anderes als eine 2 oder 3"))[Ansonsten steht hier Etwas anderes als 2 oder 3]

Zusammengefasst:

Anzahl der WENN Abfragen = 2
WennAbfrage 1 = Steht in Zelle A1 eine 3?
DannWert 1 = WENN ja DANN "Ja hier steht eine 3"
SonstWert 1 = WennAbfrage 2
WennAbfrage 2 = Steht in Zelle A1 eine 2?
DannWert 2 = WENN ja DANN "Ja hier steht eine 2"
SonstWert 2 = WENN etwas anderes als 2 oder 3 in A1 steht "Hier steht etwas anderes als eine 2 oder 3"

Das wäre eigentlich alles zu einer verschachtelten Wenn-Funktion!

Liebe Grüße,

iMPerFekTioN

Antwort bewerten Vielen Dank für Deine Bewertung
Iamiam 23.09.2016, 11:56

@ Imperfect-Ion ;): DH für die ausführliche Anleitung!

1
iMPerFekTioN 23.09.2016, 12:05
@Iamiam

Ach ich fühl mich immer wie ein keines Kind an Weihnachten wenn ich ein Lob von euch bekomme :p Danke dir!

0
Iamiam 23.09.2016, 12:43
@iMPerFekTioN

eine gute AW ist eben eine gute AW! und wenn sie dann auch noch versucht, das Blickfeld des Fragers zu weiten, ist das verdienstvoll! Also keine falsche Bescheidenheit!

1

Zusatzantwort zur Zusatzfrage: auch der Verweis aif eine Zelle ist möglich, erfordert aber einige Gehirnwindungen zusätzlich:

=INDIREKT(ZEICHEN(SPALTE("auSgabespalte")+64)&ZEILE($oberste Zelle der Suchspalte)-1+VERGLEICH(Eingabewert;Suchspalte;0))

Also wenn Suchargument in c5, oberste Zelle der Suchspalte A1, Ausgabespalte=B

=INDIREKT(ZEICHEN(SPALTE(B1)+64)&ZEILE(A1)-1+VERGLEICH($C$5;A$1:A$999;0))

Das geht nur bis Ausgabespalte max Z (also einstelliger Spaltenbuchstabe. mehr wäre extrem aufwändig)

höher und sogar einfacher geht es mit der Funktion Adresse:

=INDIREKT(ADRESSE(VERGLEICH(C5;A:A;0);SPALTE(B:B)))

geht allerdings so nur für das erste Auftreten von C5 in der Liste A:A, (mehr sollte bei eindeutiger Zuordnung auch nicht sein (und Du kannst das natürlich auch begrenzen auf zB Zeile1:Z26). Das ließe sich mit entsprechendem Aufwand beliebig ausweiten (KKleinste etc)

Kannst A:A und B:B aber beliebig -immer als ganze Spalte!- verschieben, auch auf ein anderes Blatt versetzen (Formel passt sich an) und C5 nach A5 schieben, so dass das Deiner ursprünglichen Positionierung wieder gerecht würde.

Antwort bewerten Vielen Dank für Deine Bewertung

Du kannst es zum Beispiel verschachteln. Du gibst ja immer zwei Dinge an. Wenn deine Bedingung zutrifft, dann soll etwas gemacht werden. Wenn sie nicht zutrifft, dann was anderes. Und dort kannst du nochmals mit einem Wenn arbeiten.

=WENN(A1=1;"A";WENN(A1=2;"B";WENN(...

gibt aber sicher noch bessere Lösungen

Antwort bewerten Vielen Dank für Deine Bewertung
pjh89 23.09.2016, 11:31

Danke, das Funktioniert schon mal. Nun ergibt sich leider ein neues Problem: Ich hab 20 Alternativen in meiner Formel. Wenn ich jetzt meine Formel in die unterliegende Spalte kopiere, dann gehen auch alle Bezugsquellen ein Feld weiter runter. Gibt es da eine Lösung? Brauch die Formel ca 600x und wenn ich das alles per Hand ändern muss hab ich was zu tun :D

1
iMPerFekTioN 23.09.2016, 11:39
@pjh89

Wenn deine Bezugsquelle z.B. A1 musst du diese Absolut Adressieren

Aus A1 wird dann $A$1

Kannst auch in deiner Formel auf A1 klciken und einmal auf F4, dann wird die Adressierung automatisch gesetzt!

Grüße,

1
LeroyJenkins87 23.09.2016, 12:14
@pjh89

Zum einen ist die Lösung von Ninombre besser mit der Funktion "VERWEIS". Er ist ja auch Excel-Experte ;)

Wenn du nicht willst, dass sich ein Bezug ändert, dann kannst du mit dem $-Zeichen arbeiten. Wenn du zum Beispiel einen Bezug auf die Zelle "A1" hast und dieser sich nicht ändern soll, dann musst du "$A$1" schrieben. Dann bleibt der Bezug immer bei der gleichen Zelle.

Dies kannst du auch nur teilweise nutzen:

$A1: Der Bezug bleibt immer in der Spalte A. Die Zeile kann sich aber ändern.

A$1: Der Bezug bleibt immer in der Zeile 1, kann aber die Spalte ändern.

 

Ich hoffe, ich habe dich richtig verstanden und dies hilft dir.

1

Statt eine riesige WENN Formel nimm lieber VERWEIS. Die kannst du fast beliebig erweitern und ist übersichtlicher und kürzer.

=VERWEIS(A1;{1.2.3.4.5.6.7};{"A"."B"."C"."D"."E"."F"."G"})
Antwort bewerten Vielen Dank für Deine Bewertung

wenn das viele Werte sind, wird es mit wenn ziemlich unübersichtlich. Alternativ:

=VERWEIS(A1;{1;2;3};{"A";"B";"C"})

Antwort bewerten Vielen Dank für Deine Bewertung
LeroyJenkins87 23.09.2016, 11:30

Top Antwort. Die Funktion kannte ich nicht

0
Ninombre 23.09.2016, 11:36
@LeroyJenkins87

Alternativ, wenn Du die Werte nicht alle in die Formel packen willst:

Tabelle anlegen mit zwei Spalten (ich nehme für das Beispiel

Spalte X             Spalte Y
1                         A
2                         B

etc.

Dann mit sverweis arbeiten
=sverweis(a1;X:Y,2;falsch)

Vorteil: Daten können einfacher geändert werden
Nachteil: Da steht halt irgendwo eine solche Hilfstabelle

2
pjh89 23.09.2016, 11:37

Ok, der Verweis sieht auch super aus. Gibt es die Möglichkeit statt zb. "A" auszugeben auch ein Feld auszugeben? Bei der Wenn Funktion geht das, aber beim Verweis gibt er mir da nur einen Fehler aus.

Ich habe halt wechselnde Themen, die ich gerne oben in der Liste einfach ändern will.

1
iMPerFekTioN 23.09.2016, 11:43
@pjh89

Nein, da du hier eine Tabelle "anlegst" welche du innerhalb der Formel definierst, der Bezug einer Zelle ist hier nicht möglich!

Das ist sozusagen ein SVERWEIS innerhalb einer Formel.

D.h. du hast Wert 1 der dir dann Wert 2 ausgibt! 1 = A; 2 = B; 3 = C!

Oder täusche ich mich da Ninombre? :o

1
Ninombre 23.09.2016, 11:48
@pjh89

bei verweis hab ich keine Variante parat, um im Ergebnisvektor auf eine Zelle zu verweisen (s. Frage von iMPerFekTioN)

Bei der Umsetzung mit SVERWEIS kannst Du in die zweite Spalte der Tabelle (im Beispiel also Y) auch =b7 schreiben. Dann wird der Wert aus B7 in die Hilfstabelle übernommen und über den SVERWEIS der 1 zugeordnet.

2
pjh89 23.09.2016, 11:56
@Ninombre

Jetzt läuft es. Besten Dank, bist der Hammer!

1
DeeDee07 23.09.2016, 15:51

DH!

Wenn das Kriterium nur natürliche Zahlen ab 1 sind (wie in der Frage), geht es auch mit WAHL noch etwas kürzer:

=WAHL(A1;"A";B";C";usw)

Ansonsten ist der VERWEIS vielseitiger.

3
Iamiam 23.09.2016, 22:11
@DeeDee07

@ Ninombre: jetzt bin ich platt: ich glaubte mich felsenfest zu erinnern, dass Verweis geördnete Listen braucht und wollte das eben nochmal probieren mit

Variante von Verweis:

=VERWEIS(4;A1:A6;C4:H4)

also mit Vektor 1 senkrecht iund Vektor 2 waagrecht (das geht nämlich mit Verweis), aber egal, wo die 4 im Vektor1 steht, es wird immer die der Zellenposition entsprechende Ergebniszelle ausgelesen! Hat MS da was dran gedreht? Ist ja gut, dass es so geht, bloß wenn man sich drauf verlässt, dass dann ein falsches Ergebnis kommt, ist das auch nicht gut!

1
Ninombre 23.09.2016, 22:30
@Iamiam

an die mögliche graue Vorzeit kann ich mich nicht erinnern. Der Verweis liefert ja eine Zahl innerhalb des Suchbereichs für einen exakten Treffer. Den kann man wohl tatsächlich auch zeilen/spalten vertauscht umsetzen, also wie Du beschrieben hast. Das habe ich so bisher nicht verwendet,. müsste aber gehen.

1

du musst sie verschachteln

wenn in a 1 steht dann A

sonst : Wenn in b 2 steht dann B

sonst: Wenn in c 3 steht dann c

usw.

in jedem sonst muss wieder eine wenn funktion usw.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?