Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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:
Antworten Top
#2
Schau Dir mal =KKLEINSTE(...;2) an. Da Du MIN schon bedingt hast verwenden können, kannst Du das auch mit KKLEINSTE.
Antworten 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.
Antworten 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
Antworten 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.
[-] Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:
  • ipman
Antworten 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)
Antworten Top
#7
Vielen Dank für die tollen Antworten! Hat bei ersten Tests geklappt!
Antworten Top


Gehe zu:


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