Excel Wenn-Funktion

milzbrand

Lieutenant
Registriert
Juni 2009
Beiträge
515
Guten Morgen,

wir bekommen von unseren Lieferanten Preisdateien im csv Format.

Prinzipiell wird in unserer Warenwirtschaft über Warengruppen die Preise kalkuliert.
Das gestaltet sich allerdings als sehr Zeitaufwändig, weswegen ich auf die schlaue Idee kam, die Preisdateien direkt aus Excel heraus zu kalkulieren und kam auf die WENN Funktion.
Hier habe ich allerdings das Problem, dass die WENN Funktion ab einer gewissen Länge nicht mehr einwandfrei funktioniert bzw. die Hälfte nicht berücksichtigt wird. Die Formel hätte 26 Positionen.

Hat zufällig jemand eine Idee für mich, wie ich das Problem lösen kann?
Ich hätte die Formel sonst aufgeteilt und das irgendwie mit einem Sverweis verknüpft.

Vielen Dank vorab! :-)

LG Alex
 
Hola,
dann mach das doch irgendwie mit Sverweis. Mehr kann man nicht sagen weil man leider null Infos zur Tabelle, zum Vorhaben, zur Formel oder sonstwas hat.
Gruß,
steve1da
 
  • Gefällt mir
Reaktionen: DeusoftheWired, seyfhor, frazzlerunning und 2 andere
Naja, es gibt einen Einkaufspreis und ausgehend davon soll über eine Formel der Verkaufspreis berechnet werden.
Da die Kalkulation aber etwas "feiner" sein muss, gibt es 26 Werte in der Formel.

=WENN(E106<2,5;E106*2,8;Wenn(E106<7,5;E106*2,1;Wenn( usw.

Den Rest der Tabelle ist ja uninteressant. EAN Nummern, Artikelnummern usw muss ich ja nicht erläutern und ist für mein Vorhaben ja nicht von Bedeutung.

LG
 
Wenn die Formel jetzt so aussieht, kann man das sicher in einen Xverweis umwandeln.
 
@milzbrand
Das macht man so auch nicht. In der Programmierung (bzw. ist es bei Excel "Scripten") gibt es immer Möglichkeiten, Abfragen auch anders herum aufzubauen. Eine IF-Else-Verschachtelung, die so viele Ebenen besitzt wie du es beschreibst, kann nur in die Hose gehen - egal mit welcher Sprache.

Mach dir mal Gedanken, ob du das Pferd anders herum aufzäumen kannst. Mir fehlen aktuell zu viele Infos / Details, als dass ich dir explizite Alternativen vorgeben könnte. Der angesprochene SVerweis wäre eine von mehreren Möglichkeiten.

Ein ordentliches Datenbanksystem, in der es eine Referenztabelle gibt (das wäre der bessere SVerweis) wäre NOCH besser - zumal man dort mittels Import-Script die CSV (ist nur ne Textdatei) des Lieferanten jederzeit per simplem Mausklick (ein Click auf ne definierte Schaltfläche reicht) einlesen kann.
 
Mach dir eine Hilfstabelle, zB ab H1. Hier schreibst du die Zahlen
0
2,5
7,5
... rein und daneben ab I1
2,8
2,5
...
also immer einen Versatz. Dann geht das ganz einfach mit dem Sverweis, 4. Parameter auf WAHR oder 1.
 
Am einfachsten scheint mir eine Hilfstabelle, wo du die Grenzen und Multiplikatoren reinschreibst und dann per SVerweis oder XVerweis die entsprechende Kombination suchst.
 
Es gibt verschiedene Möglichkeiten. Wenn du alles in einer einzigen Zeile haben möchtest, wäre das so besser:

=E106 * WENN(E106<2,5;2,8;WENN(E106<7,5;2,1;WENN(E106<XY;XY;ZX)))

Oder bei neueren Excel-Versionen gibt es die bessere Variante:

=E106 * IFS(E106<2,5;2,8; E106<7,5;2,1; E106<XY;XY)

Wichtig ist immer, dass du mit der kleinsten Bedingung beginnst!

Ansonsten bin ich bei @steve1da: Eine Hilfstabelle ist sinnvoll, da man dort die Multiplikatoren einfacher ändern kann.
 
Für die Lesbarkeit solltest du bei vielen verschachtelten WENN-Funktionen auf die WENNS-Funktion ausweichen!
Die WENNS-Funktion kann bis zu 127 Bedinungen enthalten!

Das sieht doch besser aus:

=WENNS(F2=1;D2;F2=2;D3;F2=3;D4;F2=4;D5;F2=5;D6;F2=6;D7;F2=7;D8)

Und beim Erstellen der Formel kannst du es so gestalten:

=WENNS(
F2=1;D2;
F2=2;D3;
F2=3;D4;
F2=4;D5;
F2=5;D6;
F2=6;D7;
F2=7;D8
)

;)

Quelle: https://support.microsoft.com/de-de/office/wenns-funktion-36329a26-37b2-467c-972b-4a39bd951d45
 
Zuletzt bearbeitet: (Quelle hinzugefügt)
Mit der Hilfstabelle kannst du dann auch verschiedene Multiplikatoren für verschiedene Produktgruppen über mehrere Spalten lösen, wenn die Grenzwerte gleich sind.
Wenn die Grenzwerte bei verschiedenen Produktgruppen unterschiedlich wären, wird die Hilfstabelle ev. auch kompliziert, aber dann wäre eine Datenbank-Lösung eh besser als nur ein Excel Arbeitsblatt.
 
Die betroffene .xlsx oder .csv hier als Anhang ins Forum laden, vorher Bezeichner, EAN o. Ä. druch Kauderwelsch ersetzen. Einmal den IST-Zustand darstellen und einmal den SOLL-Zustand, also das Ergebnis. Außerdem die für die Berechnung notwendigen Parameter an einer Beispielrechnung darstellen, damit andere die Schritte nachvollziehen können. Dann kann man sagen, ob sich das ganze in eine verschachtelte Formel mit Hilfsblättern gießen läßt oder nicht. Alles andere ist nur Raten.
 
  • Gefällt mir
Reaktionen: DJMadMax und Shir-Khan
Zurück
Oben