Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Matrix mit mehrere Kriterien durchsuchen

Matrix mit mehrere Kriterien durchsuchen
07.02.2017 09:48:14
Maximilian
Hallo Zusammen,
ich sitze im Versand und habe hier verschiedene Preislisten unserer Lieferanten vorliegen. Ich möchte nun eine Preissimulation zu jedem einzelnen Lieferanten durchführen um herauszufinden, mit welchem Lieferanten das letzte Jahr für uns am günstigsten gewesen wäre.
Die Preislisten sind alle gleich aufgebaut - ich könnte als schon mit einem Ergebnis eine ganze Menge anfangen.
Mein Problem ist es diese Matrix nach mehreren Kriterien zu durchsuchen, zumal es sich um ein Gewicht-bis(!)-kg handelt.
Eine Formel ist ein muss, da ich im Original ca. 6000 Lieferungen behandeln muss. Wenn es garnicht anders geht, dann auch gerne mit VBA...
Danke für jede Hilfe!
Viele Grüße,
Maximilian
https://www.herber.de/bbs/user/111267.xlsx

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit INDEX(), VERGLEICH(), AGGREGAT() ...
07.02.2017 10:14:54
...
Hallo Maximilian,
... und weiteren Funktionen in einer Matrixfunktion(alität)sformel, die aber keines spez. Formelabschlusses wie bei klassischen Matrixformeln bedarf.
In I2:

=INDEX(A:E;VERGLEICH(MAX(H3*1000;50);A:A);AGGREGAT(15;6;SPALTE(B1:E1)
/ISTZAHL(FINDEN(LINKS(TEXT(G3;"00000");2);B$15:E$15));1))

Formel nach unten kopieren
Gruß Werner
.. , - ...
AW: mit INDEX(), VERGLEICH(), AGGREGAT() ...
07.02.2017 10:32:25
Maximilian
Hallo Werner,
AGGREGAT war mir neu. Vielen Dank für deine (vor allem schnelle) Hilfe!
Es funktioniert einwandfrei!
Super!
Danke dir und dir noch einen schönen Dienstag!
Viele Grüße,
Maximilian
Anzeige
AW: Danke, wünsch ich Dir auch owT
07.02.2017 10:33:13
...
Gruß Werner
.. , - ...
AW: Danke, wünsch ich Dir auch owT
07.02.2017 15:11:10
Maximilian
Hi Werner,
kleine Ergänzung, da es doch nicht einwandfrei funktionierte. Durch
INDEX(A:E;(VERGLEICH(MAX(H3*1000;50);A:A)
wurde einer 71kg (z.B. H3 = 0,071) Ladung, eine 70kg Kategorie zugeordnet. Obwohl diese unter eine 80kg Kategorie fallen müsste. Die recht einfache Lösung:
INDEX(A:E;(VERGLEICH(MAX(H3*1000;50);A:A)+1)
liefert jetzt zwar fast immer die richtige Kategorie, aber wenn die Ladung kleiner als 50kg ist, fällt diese nun dummerweise in die 60kg Kategorie...ärgerlich.
Hast du einen Vorschlag?
AW: dann auch da AGGREGAT() anstelle VERGLEICH ...
07.02.2017 17:03:52
...
Hallo Maximilian,
... und anstelle MAX() natürlich dann entsprechend mit MIN().
So:
=INDEX(A:E;AGGREGAT(15;6;ZEILE(A$3:A$13)/(A$3:A$13>=MIN(H3*1000;200));1);
AGGREGAT(15;6;SPALTE(B1:E1)/ISTZAHL(FINDEN(LINKS(TEXT(G3;"00000");2);B$15:E$15));1))
Gruß Werner
.. , - ...
Anzeige
Danke dir...
08.02.2017 13:15:34
Maximilian
...Werner!
AW: Matrix mit mehrere Kriterien durchsuchen
07.02.2017 10:41:32
Fennek
Hallo,
die Formate sind "gruselig", aber dieser Code list trotzdem die Zone aus:

Sub Fen()
Range("J3:J20").Clear
Re = Application.Transpose(Application.Transpose(Range("B15:E15")))
'Debug.Print Join(Re, "|")
For i = 3 To Cells(Rows.Count, "G").End(xlUp).Row
Debug.Print Format(Left(Cells(i, "G").Text, 2), "00")
Z = Application.Match("*" & Format(Left(Cells(i, "G").Text, 2), "00") & "*", Re, 0)
If IsError(Z) Then Z = Application.Match(Val(Left(Cells(i, "G"), 2)), Re, 0)
'Debug.Print Z
Cells(i, "J") = Z
Next i
End Sub
mfg
Anzeige
AW: hat sich überschnitten, owt
07.02.2017 10:44:50
Fennek
AW: hat sich überschnitten, owt
07.02.2017 13:13:39
Maximilian
Danke für deine Hilfe Fennek!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige