Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Günstigster Preis anzeigen lassen?

Forumthread: Günstigster Preis anzeigen lassen?

Günstigster Preis anzeigen lassen?
25.10.2025 17:53:24
Philipp
Hallo an die Community.

Ich verzweifle gerade an einer Tabelle & hoffe, dass mir hier jemand helfen kann.

Folgendes Problem:
Aufgrund stark schwankender Lieferantenpreise möchte ich für die interne Kalkulation einen Preisvergleich der verschiedenen Lieferanten erstellen.

Nun ist es leider so, dass die verschiedenen Lieferanten verschiedene Gebindegrößen haben & ich entsprechend die Preise auf eine Einheitsgröße berechnen muss (dh. zB Liter bzw. Kilo).
Da es ja auch verschiedene Artikelbezeichnungen gibt, muss ich die jeweiligen Lieferantenartikel auf einen gemeinsamen Nenner runterbrechen, in meinem Fall die interne Artikelbezeichnung.
Das ist zwar etwas aufwendig, aber noch kein Problem - aber wie kann ich mir jetzt in der Übersicht den günstigsten Preis (gemessen an der Einheitsgröße) für den Einkauf gem. der internen Bezeichnung anzeigen lassen (siehe Beispieldatei: https://www.herber.de/bbs/user/179360.xlsx)?

Die Grundidee ist, dass ich dann die neuen Preislisten der Lieferanten immer in ein Tabellenblatt hochlade & mir dann entweder über die Artikelnummer oder die Bezeichnung die aktuellen Preise hole & die Kalkulation mir dann automatisch ermittelt, wo ich Artikel XY am günstigsten einkaufen kann.

Wahrscheinlich ziehe ich mit meiner Variante mit der Kirche ums Dorf & es geht auch eleganter, aber ad hoc wäre mir mit der Ermittlung des günstigsten Wertes je Lagerartikel schon mal sehr geholfen.
Weiß jemand vielleicht Rat?
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Günstigster Preis anzeigen lassen?
25.10.2025 20:10:01
Marc
Ich würde dann es so machen, das man die Artikel und Größe und Gebindegröße einpflege, diese dann auf eine gemeinsame (kleinster gemeinsamer Teiler) reduziere und dann mit bedingter Formatierung und Formel MIN das günstigste mir anzeigen lassen..


A Name des Artikel
B Händler
C Gebindegröße (z.b. STK oder Kilo etc..)
D Preis für dieses Gebinde (absolut)
E Preis für ein STK/Kilo (kleinste Einheint) ( D/C) --> hier bedingte Formatierung mit MIN(E:E) (oder ähnlich) --> wichtig hier, das hier z.B. das € Zeichen nicht im Wert der Zelle (sondern wenn überhaupt über Formatierung angeziegt wird)

damit musst du bei bekannten Händlern nur D (und eventuell bei Gebindeänderung C) ändern
und bei neuen Händerln, einfach unten anfügen

Mit Matrix Formel kannst du auch mehrere Artikel hier in der Liste unter B (Apfel und Birne) in der bedingten Formatierung anzeigen lassen:


=E2=MIN(WENN($B$2:$B$16=$B2;$E$2:$E$16))


Userbild


Wenn man Zeile 1 dann noch mit Daten Filter versieht, so kannst auch dann entsprechend bei Bedarf den gesuchten Artikel in (B) selektieren
Anzeige
AW: Günstigster Preis anzeigen lassen?
26.10.2025 01:20:09
Alwin Weisangler
Hallo Philipp,

anbei mal mein Lösungsvorschlag:
Da du O365 verwendest, kann man das so bauen, dass egal ob sortiert oder nicht der Datensatz mit der niedrigsten Summe Pro Artikeltyp ausgegeben wird.
Im Blatt „Lieferantenartikel“ steht in Zelle I3 eine Formel, welche bis zum letzten Datensatz dieser Tabelle spillt und die Werte in Spalte I in Litern oder KG berechnet und in Spalte J die passende Maßeinheit ausgibt.
Im Blatt „Übersicht“ stehen die Formeln ab C3. Diese musst du runterziehen.
https://www.herber.de/bbs/user/179364.xlsx

Gruß Uwe
Anzeige
AW: Günstigster Preis anzeigen lassen?
26.10.2025 11:08:59
Philipp
Hallo Uwe.

Vielen Dank für Deine Antwort - die Formel ist großartig (wenngleich sie mich etwas überfordert).
Kannst du mir bitte nochmal helfen, damit ich diese besser verstehe?

Grundsätzlich muss ich beim Neuanlegen von Lieferantenartikeln das eigentliche Liefergebinde angeben, damit das korrekt berechnet wird.
Manche Gebinde werden allerdings in ml angegeben; "versteht" Deine Formel bzw. Excel diese Maßeinheit?
Oder müsste man diese noch ergänzen?

Ich hatte in der Übersicht aber versehentlich andere Bezeichnungen verwendet als in Spalte E bei den Lieferantenartikeln.
Wenn ich das anders bezeichne, erhalte ich einen Fehler (https://www.herber.de/bbs/user/179368.xlsx) - welchen Parameter muss ich in der Excel anpassen?

Und zuvor hatte ich testweise noch einen weiteren Lieferanten mit anderen Preisen eingefügt.
Bei der Butter hat die Formel korrekt gerechnet, bei Milch allerdings nicht.
Aber die Formel zieht sich doch komplett nach unten & inkludiert neue Einträge?

Danke vorab für Deine Hilfe.

lg Philipp
Anzeige
AW: Günstigster Preis anzeigen lassen?
26.10.2025 13:36:27
Alwin Weisangler
Hallo Philipp,

Tja, du hast einfach die Vorgabe geändert, so dass kein Leerzeichen gefunden wurde. Ich habe es jetzt so geändert, dass beide Varianten möglich sind.
ins Blatt "Übersicht" Zelle C3 und runterziehen:
=LET(

xA; WENNFEHLER(LINKS($B3; FINDEN(" "; $B3) - 1);$B3);
xB; FILTER(Lieferantenartikel!$B$3:$K$1000; ISTZAHL(FINDEN(xA; Lieferantenartikel!$D$3:$D$1000)));
xC; MIN(INDEX(xB; ; SPALTEN(xB)));
xd; FILTER(xB; INDEX(xB; ; SPALTEN(xB)) = xC);
SPALTENWAHL(xd;1;10;2;3)
)

Wenn ich noch mal was an der Formel im Blatt "Lieferantenartikel" ändern soll, musst du dafür entsprechend der Problematik gerecht werdende Datensätze in dieser Liste eintragen und hochladen. Bis zu einem gewissen Grade wird das wohl machbar sein, aber da muss ich schon sehen und testen können ob es dafür eine Lösung gibt.
Mit den neuen Formeln geht schon so einiges, was früher nur per VBA machbar war.

Gruß Uwe
Anzeige
AW: Günstigster Preis anzeigen lassen?
26.10.2025 14:08:09
Alwin Weisangler
Wenn es nur noch um das erkennen ml und l geht würde das so funktionieren:

=LET(
xA; FILTER(H3:H1000; H3:H1000>"");
xArrM; MAP(xA; LAMBDA(xB;
LET(
xC; TEXTTEILEN(xB; {" ";"=";"x";".";"à";"À";"Kt";"Pkg";"pkg";"kg";"g";"l";"L";"ml"});
xD; FILTER(xC; ISTZAHL(--xC));
xE; MAP(xD; LAMBDA(xF;
LET(
pos; FINDEN(xF; xB);
xG; GLÄTTEN(TEIL(xB; pos + LÄNGE(xF); 3));
WENN(
xG="ml"; xF/1000;
WENN(TEIL(xG;1;1)="g"; xF/1000; xF)
)
)
));
REDUCE(1; xE; LAMBDA(acc;xF; acc * xF))
)
));
xArrE; MAP(xA; LAMBDA(xB;
LET(
xU; GLÄTTEN(RECHTS(xB;2));
WENNS(
xU="ml"; "LT";
RECHTS(xB;1)="g"; "KG";
RECHTS(xB;1)="l"; "LT";
WAHR; ""
)
)
));
HSTAPELN(xArrM; xArrE))
Dabei ist es auch egal, ob ml oder l direkt nach der Zahl steht oder ein Leerzeichen dazwischen ist.
https://www.herber.de/bbs/user/179369.xlsx

Gruß Uwe
Anzeige
AW: Günstigster Preis anzeigen lassen?
27.10.2025 11:40:11
Alwin Weisangler
Hallo Philipp,

ich habe mal die Formel im Blatt "Übersicht" jetzt mal spillend umgebaut. Da ich O2024 nutze ist diese Formel etwas umständlich zusammengesetzt. Also für jede Spalte wird via MAP(LAMBDA;...) eine Matrix in die Variable der Spalte geschrieben und mit HSTAPELN() ausgegeben.
Zudem habe ich da wo es sinnvoll ist FINDEN() in SUCHEN() geändert. Damit ist die Ausgabe gegenüber Groß-/Kleinschreibung tolerant.

Da in O2024 BYROW() bzw. BYCOL() nicht zur Verfügung stehen.

Dies kann man vereinfachen, wenn man den Namensmanager zu Hilfe nimmt. Da ich nicht einschätzen kann, ob du überhaupt absehbar aus dieser Hilfe Erkenntnisse draus ziehen kannst, habe ich darauf erst mal verzichtet.

Die Tabelle im Tabellenblatt "Übersicht" sollte nun keine händischen Maßnahmen mehr erfordern.
Wie sich die Sache bei großen Datenmengen verhält kann ich nicht beurteilen. Es kann durchaus sein, dass da doch noch eine VBA-Lösung nötig ist.

Eine Rückmeldung, ob du damit brauchbar was anfangen kannst wäre sinvoll. Anbei deine Datei mit ein paar weiteren Testdaten.
https://www.herber.de/bbs/user/179375.xlsx

Gruß Uwe


Anzeige
AW: Günstigster Preis anzeigen lassen?
27.10.2025 12:38:25
Philipp
Hallo Uwe.

Vorab noch einmal vielen Dank für Deine Hilfe.

Macht es dann Sinn, wenn ich Dir die Datei in der Form hochlade, wo bereits alle (zumindest Stand jetzt) Lieferanten & Lieferantenartikel eingepflegt sind?
Wenn ich nämlich Deine letzte Formel in die Gesamttabelle eingebe, erhalte ich wieder eine Fehlermeldung - vermutlich aus dem selben Grund wie vorher, irgendwo fehlt ein Zeichen (das ich natürlich nicht sehe).

Ich bräuchte dann aber noch ca. 1 Tag, weil die Liefereinheiten noch nicht alle hinterlegt bzw. die Lagerartikel noch nicht alle zugeordnet sind - je nach Lieferant stehen diese mal in der Bezeichnung, mal in einer Extra-Spalte etc.
Der Einfachheit würde ich erstmal nur ein Sample fertig machen - die komplette Datenmenge wird dann aber deutlich mehr Artikel umfassen...

lg Philipp
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18