PDA

Vollständige Version anzeigen : Problem mit Matrix-Formel


lft
16.03.2009, 17:43
Hallo zusammen,

leider weiß ich nicht weiter, hat nicht vielleicht doch jemand eine Idee oder eine Lösung für mein Problem mit folgender Matrix-Formel:

=INDEX('Daten-Standard-Preisliste'!B3:CB5;VERGLEICH(KGRÖSSTE(WENN('Daten-Standard-Preisliste'!A3:A5<=D4;'Daten-Standard-Preisliste'!A3:A5);1);'Daten-Standard-Preisliste'!A3:A5;0);VERGLEICH(KGRÖSSTE(WENN('Daten-Standard-Preisliste'!B1:CB1<=E6;'Daten-Standard-Preisliste'!B1:CB1);1);'Daten-Standard-Preisliste'!B1:CB1;0))

Aus einer Preisliste soll anhand des Durchmessers, der Länge und der Stückzahl automatisch der Preis ermittelt werden (siehe Aufbau Tabelle oder Anhang Beispieltabelle).

Durchmesser/Länge 1001000 1501000 2001000 2501000 3001000
Preisstaffel
1 97,00 106,00 114,00 130,00 145,00
2 90,00 98,00 106,00 121,00 135,00
3 87,00 94,00 102,00 116,00 129,00

Aus der Eingabe des Durchmesser und der Länge bilde ich mit „Verketten“ den Wert der Spalten. Die Preisstaffel ergibt sich aus der Eingabe der Menge. Die Werte in den Spalten, reichen von 100500 bis 4505000 (Durchmesser 100 bis 450 und Länge 500 bis 5000).
Wenn die Werte in Durchmesser und Länge exakt eingegeben werden (z.B. Durchmesser = 200 und Länge = 1000) klappt alles wunderbar. Sobald aber Werte eingegeben werden die zwischen zwei Werten liegen (z.B. Durchmesser von 201 bis 249) müsste der Preis weiterhin aus der Spalte „2001000“ gezogen werden (bei Durchmesser 301 bis 349 der Preis aus Spalte „3001000“ usw.). Und genau hier liegt das Problem, es werden ganz andere Spalten mit falschen Preisen gezogen. Die Spalten die gezogen werden scheinen in den Wertebereichen die „größten“ Werte zu sein Z.B. bei Durchmesser = 251 und Länge 1000 Wert aus Spalte mit Durchmesser = 250 und Länge 5000 (2505000). Ich vermute, dass es ein Problem bei Anwendung von „KGRÖSSTE“ in der Formel ist. Habe schon verschiedene Varianten (mit KKLEINSTE etc.) ausprobiert aber ohne Erfolg.
Wie kann man das Problem des korrekt zu ermittelten Preises zwischen zwei Wertebereichen lösen ?

Bin für jeden Tipp dankbar.
Vielen Dank im voraus.

Uwe

chris-kaiser
16.03.2009, 18:06
hiho


=INDEX(B3:CB5;VERGLEICH((C9=1)+(C9>5)*3+UND(C9>1;C9<6)*2;A3:A5;0);VERGLEICH(--(ABRUNDEN(C10*2;-2)/2&ABRUNDEN(C11*2;-3)/2);B1:CB1;0))

ganz ohne Matrix und Hilfsformel :)

wenn DU mit Hilfszellen arbeiten möchtest wird die Formel kürzer
ist in der Mappe enthalten

lft
16.03.2009, 19:16
Hallo Chris,

vielen Dank für die schnelle Antwort.
Absolut elegante und kompakte Lösung. Viel einfacher als mein "umständlicher" Versuch mit der Matrix-Formel und "KGRÖSSTE" etc. Mir fehlt einfach die Routine und Erfahrung beim Umgang mit dem nicht ganz trivialen Thema "Matrix-Formeln". Habe bisher auch mehr mit Access gemacht.

Nochmals Vielen Dank.

Uwe

chris-kaiser
16.03.2009, 19:22
Hallo Uwe

gern geschehen, freut mich wenn es so passt.