Clever-Excel-Forum

Normale Version: Den zweitniedrigsten Preis ermitteln
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich benötige Hilfe für den folgenden Fall:

In Spalte A habe ich Artikelnummern
In Spalte B habe ich den Preis
In Spalte C habe ich den jeweiligen Onlineshop


Für einen Artikel/eine Artikelnummer gibt es sehr häufig, aber nicht immer mehrere Preise von unterschiedlichen Anbietern


Somit ergibt sich folgender Aufbau:


ArtNR        Preis     Shop

123456        13,99    A

123456        16,99    B

123456        14,99    C

123456        15,01    D

123456        14,05    E

123456        16,05    F

555444        4,89     A

333999        4,88     B

333999        3,89     C

333999        4,01     D


etc.....


Den jeweils günstigsten Anbieter hole ich mir, indem ich nach Artikelnummer und Preis aufsteigend suche und Duplikate entferne.

Nun benötige ich aber eine Liste mit dem jeweiligen zweitgünstigsten Anbieter - hierfür habe ich aber aktuell noch keine Formel gefunden.

Wäre super wenn mir da jemand einen Lösungsansatz geben könnte.

Vielen Dank! :28:
Schau Dir mal =KKLEINSTE(...;2) an. Da Du MIN schon bedingt hast verwenden können, kannst Du das auch mit KKLEINSTE.
Vielen Dank für die Antwort. Das mit =KKLEINSTE(...;2) hatte ich mir schon Mal angeschaut - ich habe nur noch nicht verstanden wie ich das pro Artikelnummer definiere. Es soll ja der jeweils zweitgünstigste Preis pro Artikelnummer ausgegeben werden.
Hallo i...,

Für mich ist es am verständlichsten KKLEINSTE mit Nebenbedingungen über die Funktion AGGREGAT zu nutzen.

Hierbei teile ich die Zellen des zu durchsuchenden Bereiches durch den Wahrheitswert der Nebenbedingung.
Durch die Division wird der Wahrheitswert zu 1 oder 0.
Zellwerte, die die Nebenbedingung erfüllen, werden durch 1 geteilt und ändern sich nicht,
Zellwerte, die die Nebenbedingung nicht erfüllen, werden durch 0 geteilt und ergeben einen Fehler.
Durch den zweiten Parameter der AGGREGAT-Funktion (6) filter ich die Fehlerwerte aus.

=AGGREGAT(15;6;Bereich/(Nebenbedingung);n)

hierbei steht:
15 für KKLEINSTE
6 für Fehlerwerte nicht berücksichtigen und
n für den zweiten Parameter von KKLEINSTE.
Hier die Fassung für xl2007-:

A1:C11: Deine Daten

E2:E4: 123456;555444;333999 (nach Duplikate-Eliminierung) 
E2:E4: =MIN(INDEX((10^6-(A$2:A$11>E1)*10^6)+A$2:A$11;)) auf ältere Excels umgeschriebene Ego-Formel

F2:G4: =INDEX(B:B;REST(KKLEINSTE(INDEX(-($A$2:$A$11=$E2)/1%%%+$B$2:$B$11/1%+ZEILE($B$2:$B$11)%%;);2-(ZÄHLENWENN($A$2:$A$11;$E2)<2));1)/1%%)

Das ZÄHLENWENN ist dabei, weil 555444 schon ein Unikat ist. Es wird so berücksichtigt; lässt man -ZÄHLENWENN()<2 weg: Fehler. Könnte gewollt sein!

Die Formel ist länger als die von Ego, da sie den gesamten Datensatz abbildet, nicht nur den Preis. War so erbeten.

@Ego: Schöne Unikatsformel-Idee! S.o., gleich sinngemäß verwendet.
@Helmut:
Es gefällt mir ausgesprochen gut, wie Du Deine Formel erklärst.
Uns "alten Hasen" ist dies ja spätestens seit selbst durchgeführter Formelauswertung klar.
In Foren habe ich Deine Erläuterung jedoch noch nicht gesehen, um so wichtiger für Querleser.
Deshalb: Chapeau für die Zeit, die Du Dir genommen hast!
Vielen Dank für die tollen Antworten! Hat bei ersten Tests geklappt!