Frage von bunkertoni, 69

Excel WENN DANN Funktion Eingabefehler?

Hallo Ihr lieben, Möchte bei Excel in einer Preisliste die Preise bei ansteigender Stückzahl im Preis senken (Mengenrabatt). Funktioniert aber nur halb. Denn bei Bsp. 999 Stck. zeigt er FEHLER. Das Selbe auch bei 1000, 4999, 5000 usw.

Hier die Funktion: =WENN(UND(A8=0);"0,00";WENN(UND(A8<999;A8>-1);"0,120";WENN(UND(A8<4999;A8>1000);"0,120";WENN(UND(A8<9999;A8>5000);"0,120";WENN(UND(A8<500000;A8>10000);"0,120")))))

Vielen Dank für eure Unterstützung!

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 50
  1. Bei UND(A8=0) kannst du dir das UND sparen.
  2. Die Fälle 999 und 1000 wurden gar nicht abgefangen. Statt A8<999 schreibst du A8<=999, statt A8>1000 schreibst du A8>=1000.
  3. Statt "0,120" reicht 0,12, denn du willst sicherlich keinen Text in der Spalte stehen haben, sondern eine Zahl. Füge mit Excelfunktionalitäten (Formatierungen) weitere Stellen hinzu.
  4. Deine Staffelung kannst du dir in deiner Formel sparen, denn alles was zwischen -1 und 500000 liegt (außer 0), wird "0,120" zugeordnet.
  5. Es fehlt ein abschließender Sonst-Zweig, der verwendet wird, wenn keine Bedingung erfüllt ist.
Kommentar von Jackie251 ,

weiterhin könnte man anmerken das hier eine Verweisfunktion schon die bessere Wahl wäre als eine Wennschachtel

Kommentar von Suboptimierer ,

Richtig! 

Zumindest kann man sich die UNDs bei den verschachtelten  WENNs sparen, wenn man korrekt staffelt und die Vergleichsoperatoren sinnvoll einsetzt. Da mit den UNDs aber auf Nr. Sicher gegangen werden kann, habe ich deren Verwendung mal nicht kritisiert (außer das erste UND).

Kommentar von bunkertoni ,

Klasse vielen Dank!

Es ist nur bei diesem Produkt so, dass der Preis nicht sinkt - daher alles "0.120"!

Kommentar von Suboptimierer ,

Dir geht es wahrscheinlich ja nur ums Prinzip. Von deswegen reicht es vollkommen, wenn du darauf aufmerksam gemacht worden bist. Was du daraus dann machst, bleibt dir überlassen ;)

Kommentar von Iamiam ,

die "Wennschachtel": Klasse-Ausdruck, muss ich mir merken!

Expertenantwort
von dkilli, Community-Experte für Computer, 36

Das geht viel einfacher. 

=WENN(A1<1000;A1;WENN(A1<5000;A1-500;WENN(A1<10000;A1-1000;A1-2000)))

Die Formel musst du nur anpassen und erweitern

Keine passende Antwort gefunden?

Fragen Sie die Community