Konkretes Problem in Excel bei WENN-Funktion

Hallo !

Ich habe folgende Aufgabe:
Eintrittsspreis eines Museumsbesuches berechnen:

Bei Erwachsenen soll E als String eingegeben werden, bei Kindern K.
Außerdem soll abgefragt werden ob eine spezielle Karte vorliegt. Diese halbiert den Eintrittspreis bei beiden.
Erwachsene zahlen 8, Kinder 5 Euro.Korrekte Eingaben sind vorrausgesetzt.

Eingaben:
Alter: K oder E
Kurkarte: J oder N
Eintrittspreis (errechnet sich automatisch nach der Formel)

Die Musterlösung verstehe ich nicht !

=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

–> meine Frage ist hier wie er im Falle der Eingabe „K“ überhaupt zur 3. WENN Abfrage kommen soll ?

Muss die Funktion hier nicht B2 = „K“ oder „E“ heißen ?

Danke für Hilfe !

Alex

Die Musterlösung verstehe ich nicht !
=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

Hi Alex,
schreibe mal die Musterlösung korrekt hier rein, zweimal nach B2=„J“ abfragen macht keinen Sinn.
Und was soll geschehen wenn B1 weder E noch K ist und B2 weder J noch N ist?
Gruß
Reinhard

Bei Erwachsenen soll E als String eingegeben werden, bei
Kindern K.
Außerdem soll abgefragt werden ob eine spezielle Karte
vorliegt. Diese halbiert den Eintrittspreis bei beiden.
Erwachsene zahlen 8, Kinder 5 Euro.Korrekte Eingaben sind
vorrausgesetzt.

Eingaben:
Alter: K oder E
Kurkarte: J oder N
Eintrittspreis (errechnet sich automatisch nach der Formel)

Die Musterlösung verstehe ich nicht !

=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

Hallo Alex,

die Formel funktioniert im Prinzip richtig, allerdings gibt sie auch ein Ergebnis aus, wenn B1 und B2 leer sind. Das macht keinen Sinn.

Mein Vorschlag, der die fehlende Eingabe anmahnt und solange kein Ergebnis liefert, bis die Eingabe getätigt ist:

=WENN(ODER(B1="";B2="");„Eingabe unvollständig“;WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)))

nun zu deiner Frage:

–> meine Frage ist hier wie er im Falle der Eingabe „K“
überhaupt zur 3. WENN Abfrage kommen soll ?

Die Wenn-Funktion funktioniert in der Weise:
Wenn eine Bedingung erfüllt ist; dann mache …; sonst mache …
Anstelle des zweiten Teils (dann mache …) oder des dritten Teils (sonst mache …) kann eine weitere Funktion eingesetzt werden, die an der entsprechenden Stelle erst abgearbeitet wird. Das kann auch eine Wenn-Funktion sein. Man nennt das Verschachteln. Du findest bestimmt einige Beispiele in der Hilfe von Excel.

Muss die Funktion hier nicht B2 = „K“ oder „E“ heißen ?

diese Frage verstehe ich nicht.

Ist deine Frage damit beantwortet?

Gruß
Maria

Hallo Reinhard !.
Die korrekte Eingabe wird vorrausgesetzt, d.h. es kann in dieser Aufgabe nur „K“ oder „N“ (Erwachsener oder Kind) eingegeben werden und „J“ oder „N“ auf die Abfrage ob eine Kurkarte vorhanden ist oder nicht.Ansonsten habe ich die Aufgabe genauso aus der Musterlösung herausgeschrieben. Es wird erst in B1 gefragt ob Ersachsener oder kind und in B2 ob eine Kurkarte vorliegt oder nicht.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Maria !

Danke für Deine hilfe.
Trotzdem ist mir noch folgendes unklar:

Wie wird der letzte WENN-Teil überhaupt erreicht wenn die ersten beiden schon „False“ ergeben ? Es muss doch in dem Fall einen sofortigen Ausstieg aus der Schleife bewirken wenn einer der beiden ersten Teile „False“ ergibt und der 3. Teil wird nicht mehr abgearbeitet oder ?
D.h. wie soll in diesem Fall der Betrag für „K“ ermittelt werden ?

Bei Erwachsenen soll E als String eingegeben werden, bei

Kindern K.
Außerdem soll abgefragt werden ob eine spezielle Karte
vorliegt. Diese halbiert den Eintrittspreis bei beiden.
Erwachsene zahlen 8, Kinder 5 Euro.Korrekte Eingaben sind
vorrausgesetzt.

Eingaben:
Alter: K oder E
Kurkarte: J oder N
Eintrittspreis (errechnet sich automatisch nach der Formel)

Die Musterlösung verstehe ich nicht !

=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

Hallo,

ich habe noch mal nachgebessert. In der neuen Formel wird auch sichergestellt, dass nur Eingaben wie e oder K in B1 und j oder n in B2 berücksichtigt werden, sonst kommt ein Hinweis.

=WENN(UND(ODER(B1=„e“;B1=„k“);ODER(B2=„j“;B2=„n“));WENN(ODER(B1="";B2="");„Eingabe unvollständig“;WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)));„Eingabe prüfen“)

Gruß
Maria

Hallo Alex,

Eingaben:
Alter: K oder E
Kurkarte: J oder N
Eintrittspreis (errechnet sich automatisch nach der Formel)

Die Musterlösung verstehe ich nicht !

=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

–> meine Frage ist hier wie er im Falle der Eingabe „K“
überhaupt zur 3. WENN Abfrage kommen soll ?

Wenn(…; dann …; sonst …)
die Formel aufgeteilt:
=wenn(b1=„E“;
wenn die Person Erwachsener ist,

dann:

WENN(B2=„J“;4;8);

ist eine weitere Wenn Abfrage (wenn Kurkarte vorhanden ,also B2=„j“, dann 4; sonst 8;

das ist die sonst Vorgabe

WENN(B2=„J“;2,5;5)

also wenn b1=„E“ nicht zutrifft, dann wird dieser Teil abgearbeitet,
in diesem Fall eine weitere Wenn-Funktion.
Hier wird nicht mehr auf B1 eingegangen, da dieser Teil nur greift, wenn B1E, d.h. B1=K ist.
Stattdessen wird geprüft, ob B2=„J“ ist, dann 2,5 (für ein Kind mit Kurkarte), sonst also wenn B2"J" 5.

Gruß
Maria

Wie wird der letzte WENN-Teil überhaupt erreicht wenn die
ersten beiden schon „False“ ergeben ? Es muss doch in dem Fall
einen sofortigen Ausstieg aus der Schleife bewirken wenn einer
der beiden ersten Teile „False“ ergibt und der 3. Teil wird
nicht mehr abgearbeitet oder ?
D.h. wie soll in diesem Fall der Betrag für „K“ ermittelt
werden ?

=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

Hi Alex,
nochmals, die zweite Abfrage ob B2=„J“ ist wird nie ausgeführt, denn wenn es so ist wird die erste Abfrage nach B2=„J“ ausgeführt.

Zu deiner Frage, du siehst das falsch. Wenn die drei ersten Bedingungen Falsch ergeben ist das Ergebnis der Formel die letzte 5 der Formel, da ist nix mit Ausstieg und es ist keine Schleife. Abgesehen von Matrixformeln gibt es bei Excelfunktionen keine Schleifen.
Gruß
Reinhard

Wie wird der letzte WENN-Teil überhaupt erreicht wenn die
ersten beiden schon „False“ ergeben ? Es muss doch in dem Fall

=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

Hallo Alex,
vielleicht hilft dir diese Darstellung.

=WENN(B1="E"; WENN(B2="J";4;8); WENN(B2="J";2,5;5))

wenn Erwachsener dann sonst
 wenn j (Kurkarte) wenn j (Kurkarte)
 dann 4 dann 2,5
 sonst 8 sonst 5

Damit sieht man auch, dass die Formel sachlich und formeltechnisch richtig ist.

Gruß
Maria

=WENN(B1=„E“; WENN(B2=„J“;4;8); WENN(B2=„J“;2,5;5))

wenn Erwachsener dann sonst
wenn j (Kurkarte) wenn j (Kurkarte)
dann 4 dann 2,5
sonst 8 sonst 5

Damit sieht man auch, dass die Formel sachlich und
formeltechnisch richtig ist.

Hallo Maria,
der „sonst“ Zweig wird doch nie im leben ausgeführt!?
Gruß
Reinhard

Wie wird der letzte WENN-Teil überhaupt erreicht wenn die
ersten beiden schon „False“ ergeben ? Es muss doch in dem Fall
einen sofortigen Ausstieg aus der Schleife bewirken wenn einer
der beiden ersten Teile „False“ ergibt und der 3. Teil wird
nicht mehr abgearbeitet oder ?
D.h. wie soll in diesem Fall der Betrag für „K“ ermittelt
werden ?

=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

Hi Alex,
nochmals, die zweite Abfrage ob B2=„J“ ist wird nie
ausgeführt, denn wenn es so ist wird die erste Abfrage nach
B2=„J“ ausgeführt.

Hallo,
die dritte Wenn-Abfrage ("die zweite Abfrage ob B2=„J“) wird genau dann erreicht, wenn die erste Wenn-Abfrage: B1 ungleich E ist, in diesem Fall Kind, dann wird geprüft ob Kurkarte oder nicht und entsprechende Preise für „K“ werden ausgegeben.

die zweite Wenn-Abfrage wird ausgeführt, wenn die erste Wenn-Abfrage wahr ist (B1=„E“). Diese prüft dann ob Kurkarte oder nicht und gibt die entsprechenden Preise für „E“.

Gruß und Gute Nacht
Maria

Hallo Maria,
der „sonst“ Zweig wird doch nie im leben ausgeführt!?
Gruß
Reinhard

Hallo Reinhard,

einfach mal in Excel einsetzen und probieren. Funktioniert.
Na ja - ist schon spät.

Gute Nacht
Maria

aargs :smile:

die dritte Wenn-Abfrage ("die zweite Abfrage ob B2=„J“) wird
genau dann erreicht, wenn die erste Wenn-Abfrage: B1 ungleich
E ist, in diesem Fall Kind, dann wird geprüft ob Kurkarte oder
nicht und entsprechende Preise für „K“ werden ausgegeben.

die zweite Wenn-Abfrage wird ausgeführt, wenn die erste
Wenn-Abfrage wahr ist (B1=„E“). Diese prüft dann ob Kurkarte
oder nicht und gibt die entsprechenden Preise für „E“.

Hallo Maria,
du hast Recht, ich lag völlig falsch, diese doppelte Abfrage hat mich völlig aus der Bahn geworfen und den Überblick vermasselt :frowning:
Schlaf schön
Gute Nacht
Reinhard

1 „Gefällt mir“

sternchen

der „sonst“ Zweig wird doch nie im leben ausgeführt!?

einfach mal in Excel einsetzen und probieren. Funktioniert.
Na ja - ist schon spät.

Hallo Maria,
das stimmt, bin auch geistig nicht mehr so fit, eher Bettbedürftig.
Ich habe dir zwar grad im anderen Zweig diese Threads zugestimmt, aber bin schon wieder schwer am Grübeln über die doppelte Abfrage des Gleichen.
Getestet habe ich noch nix, aber wird passieren.
Gruß
Reinhard

Danke für den Tip !

Ich habe es wirklich wie einen Ausstieg aus einer Schleife gesehen und dachte das der hintere Teil garnicht abgearbeitet wird !

Verständnisfrage: wäre also bei 5 WENN-Funktionen denkbar das die ersten 4 False ergeben und die letzte True und daher trotzdem die letzte ausgeführt wird ?

Gruß
Alex

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Alex,

Ich habe es wirklich wie einen Ausstieg aus einer Schleife
gesehen und dachte das der hintere Teil garnicht abgearbeitet
wird !

Nein, ist keine Schleife in dem Sinne.

Verständnisfrage: wäre also bei 5 WENN-Funktionen denkbar das
die ersten 4 False ergeben und die letzte True und daher
trotzdem die letzte ausgeführt wird ?

Wieso trotzdem? grad deshalb.
Das Problem, der Unterschied zu einer Schleife, liegt darin, in einer Schleife wird, wenn die erste Wenn-Abfrage zutrifft, dieser Teil abearbeitet und dann die Schleife verlassen, d.h. die anderen Sonstbedingungen werden gar nicht geprüft, was bedeutet da kann auch was drinstehen was einen Fehler erzeugen würde.
In Excel ist das anders. Auch wenn die erste Wenn-Abfrage ein True ergibt, werden alle anderen Sonstbedingungen abgeprüft, wenn da irgendwo ein false entsteht, ist das Ergebnis der Formel: False oder NV oder oder.
Beispiel:
in Vba haste das da:

If a= 5 then
 msgbox "Huhu"
Else
 x=7/0 'also ein fehler
End If

Wenn nun a = 5 ist haste keinen Fehler.

In Excel wäre das
=wenn(A1=5;"Huhu";7/0)
und das ergibt DIV/0 Fehler auch wenn A1 5 ist.

Gruß
Reinhard

Gruß
Alex

Wie wird der letzte WENN-Teil überhaupt erreicht wenn die
ersten beiden schon „False“ ergeben ? Es muss doch in dem Fall
einen sofortigen Ausstieg aus der Schleife bewirken wenn einer
der beiden ersten Teile „False“ ergibt und der 3. Teil wird
nicht mehr abgearbeitet oder ?
D.h. wie soll in diesem Fall der Betrag für „K“ ermittelt
werden ?

=WENN(B1=„E“;WENN(B2=„J“;4;8);WENN(B2=„J“;2,5;5)

Hi Alex,
nochmals, die zweite Abfrage ob B2=„J“ ist wird nie
ausgeführt, denn wenn es so ist wird die erste Abfrage nach
B2=„J“ ausgeführt.

Zu deiner Frage, du siehst das falsch. Wenn die drei ersten
Bedingungen Falsch ergeben ist das Ergebnis der Formel die
letzte 5 der Formel, da ist nix mit Ausstieg und es ist keine
Schleife. Abgesehen von Matrixformeln gibt es bei
Excelfunktionen keine Schleifen.
Gruß
Reinhard

Hallo,

In Excel ist das anders. Auch wenn die erste Wenn-Abfrage ein
True ergibt, werden alle anderen Sonstbedingungen abgeprüft,
wenn da irgendwo ein false entsteht, ist das Ergebnis der
Formel: False oder NV oder oder.
Beispiel:

In Excel wäre das
=wenn(A1=5;„Huhu“;7/0)
und das ergibt DIV/0 Fehler auch wenn A1 5 ist.

hier möchte ich doch einmal widersprechen. Wenn A1=5, gibt Excel „huhu“ aus, die Sonst-Abfrage wird nicht geprüft. Erst wenn A1 ungleich 5 ist, wird die Dann-Abfrage übersprungen und die Sonst-Abfrage ausgeführt und es erfolgt dann die Fehlerausgabe „#Div/0!“. Bitte testen!

Gruß
Maria

hier möchte ich doch einmal widersprechen. Wenn A1=5, gibt
Excel „huhu“ aus, die Sonst-Abfrage wird nicht geprüft. Erst
wenn A1 ungleich 5 ist, wird die Dann-Abfrage übersprungen und
die Sonst-Abfrage ausgeführt und es erfolgt dann die
Fehlerausgabe „#Div/0!“. Bitte testen!

Hallo Maria,
ich habe das nach bestenm Wissen und Gewissen geschrieben :smile: Und ich bin brettsicher dass ich schon mehrmals den Fall hatte dass Excel einen Fehler durch eine Formel anzeigte obwohl die erste Wenn-Bedingung korrekt war bzw. zutraf, trotzdem kam ein Fehler wegen den Sonst-Bedingungen.
Ich versuche das nachzustellen, aber frühestens Morgen.
Ich habe grad Zeitstress bzw keine Zeit aus vielerlei Gründen, ich habe gelesen von dir dass meine Formel für diese Zeiten von vor 1900 nicht funktionieren oder nur teilweise. Auch das checke ich, hab nur grad keinen Plan wann *g
Und überhaupt, ich habe dich gelesen, du wärst die Kandidatin die mir mal was vom „effektiven Jahreszins“ erklären könnte, ohne Excelfunktionen, einfach von dr Logik her. Aber deshalb melde ich mich, wenn ich darf, mal auf deiner Emailadresse, beschäftigt mich schon seit Jahren warum ich zu blöd bin , jetzt ohne Interesse ein Auto zu kaufen, dass ich nicht durchblicke wenn in Azeigen geworben wird, warum da 3% effektiver Zins steht, die Anzahlung ist x, der Preis y, die Anzahlung z und irgendwie komme ich da immer auf andre Werte für den effektiven Jahreszins. Ich habe gerechnet mit Monaten a 30 Tagen, oder den Zins nur pro Jahr, auf das Ergebnis in den Anzeigen kam ich nie. Deshalb ist das unabhängig von Exceel, mit den 30 Finanzmathematischen Funkioenen in Excel kann ich eh nix anfangen.
Von Benutzung der eingebauten Funktionen in Excel habe ich nix.
Mir wäre es sehr lieb, diu postest eien Tabelle wo ich genau sehe wie sich die Abzahlung entwickelt, also mt direkten Formeln und nicht =ZZS(A1,3;12) oder son Kram.
Gruß
Reinhard

Hallo Reinhard,

bitte keinen Stress. Ich habe große Hochachtung vor dir. Ich kann 'ne Menge von dir lernen, versuche es schon - bin aber, was vba betrifft, noch sehr „schwerfällig“. Auch andere Sachen hast du voll drauf. Ich staune oft, weil du schon antwortest während ich noch grübel und absolut keine Peilung habe.

hier möchte ich doch einmal widersprechen. Wenn A1=5, gibt
Excel „huhu“ aus, die Sonst-Abfrage wird nicht geprüft. Erst
wenn A1 ungleich 5 ist, wird die Dann-Abfrage übersprungen und
die Sonst-Abfrage ausgeführt und es erfolgt dann die
Fehlerausgabe „#Div/0!“. Bitte testen!

Ich versuche das nachzustellen, aber frühestens Morgen.

hier in diesem Fall ist das ja einfach, einfach die Formel in eine Zelle kopieren und ausprobieren

ich habe gelesen von dir dass meine Formel für diese Zeiten
von vor 1900 nicht funktionieren oder nur teilweise.

nein, das hab ich nicht gesagt, deine Formeln waren Klasse!!!
Sie setzen das Datum korrekt um. Die Problematik mit den Schalttagen ist einigen, die das lesen, nur unzureichend bekannt, wenn man tatsächlich Zeitdifferenzen berechnen muss, sollte man das im Kopf haben und zumindest anmerken.

Oft ist es nicht notwendig, bei Zeiten von vor ca. 1000 Jahren auf den Tag genau zu rechnen. Wie gesagt, meist reicht sortieren, dann braucht man wieder was gebasteltes, wenn man in einer Liste Datumswerte hat sowohl vor als auch nach 1900.

Es kommt immer drauf an, was man braucht. Zum Beispiel eine Liste von Persönlichkeiten, die zeitlich geordnet werden sollen. Für diesen Fall war meine Formel, einfach eine weitere Option bei Excel-Themen in bezug auf Datum.

Tut mir leid, wenn das bei dir so ankam, als wäre es nicht richtig.

Und überhaupt, ich habe dich gelesen, du wärst die Kandidatin
die mir mal was vom „effektiven Jahreszins“ erklären könnte,
ohne Excelfunktionen, einfach von dr Logik her. Aber deshalb
melde ich mich, wenn ich darf,

klar, wenn ich kann, helfe ich gern, wir werden sehen

Mir wäre es sehr lieb, diu postest eien Tabelle wo ich genau
sehe wie sich die Abzahlung entwickelt, also mt direkten
Formeln und nicht =ZZS(A1,3;12) oder son Kram.

Ich überleg mir was

Gruß Maria