Den zweitniedrigsten Preis ermitteln
#1
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:
Top
#2
Schau Dir mal =KKLEINSTE(...;2) an. Da Du MIN schon bedingt hast verwenden können, kannst Du das auch mit KKLEINSTE.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#3
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.
Top
#4
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.


Angehängte Dateien
.xlsx   Aggregat15.xlsx (Größe: 9,58 KB / Downloads: 6)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 2 Nutzer sagen Danke an Ego für diesen Beitrag:
  • RPP63, ipman
Top
#5
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.
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • ipman
Top
#6
@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!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#7
Vielen Dank für die tollen Antworten! Hat bei ersten Tests geklappt!
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste