Microsoft Excel

Herbers Excel/VBA-Archiv

Matrixwert mit 3 Bedingungen suchen

Betrifft: Matrixwert mit 3 Bedingungen suchen von: juliusmk
Geschrieben am: 03.09.2014 15:37:45

Hallo Forum,

offenbar stehe ich mal wieder auf dem Schlauch.

https://www.herber.de/bbs/user/92461.xlsx

Ich habe ein Tabellenblatt mit einer Matrix mit drei Bedingungen: Lieferant, Produkt und Kunde. Auf Basis dieser Werte soll ein Preis ermittelt werden, der in einem zweiten Tabellenblatt in einer ähnlichen Matrix steht.

Die Preise für die verschiedenen Produkte varriieren von Lieferant zu Lieferant und Kunde zu Kunde, deswegen kann ich das nicht vereinheitlichen. Also z.B. habe ich drei Lieferanten für jeweils Äpfel und Birnen, die ich an drei verschiedene Kunden verkaufen, jeweils zu unterschiedlichen Preis.

Wie hole ich mir jetzt den Preis aus der 2. Tabelle (Preismatrix) in die 1. Tabelle (Übersicht)?

Es auf Lieferant und Produkt einzuschränken, ist m.E. einfach mit Index & Vergleich. Dann zieht er mir aber einen willkürlichen Preis aus der richtigen Zeile. Aber wie ermittle ich jetzt dort, wo ein "X" die Kombination aus Lieferant, Produkt und Kunde markiert, den richtigen Preis, also die dazugehörige Spalte?

Vielen Dank!

juliusmk

  

Betrifft: AW: Matrixwert mit 3 Bedingungen suchen von: auch Christian
Geschrieben am: 03.09.2014 15:57:07

Hallo Julius,

ein Ansatz:

 ABCDEF
1  Kunde AKunde BKunde CPreis
2Lieferant 1Produkt 2  x125
3Lieferant 2Produkt 1   140
4Lieferant 1Produkt 1x  100
5Lieferant 1Produkt 1 x 150
6Lieferant 1Produkt 2   100
7Lieferant 3Produkt 2  x140
8Lieferant 3Produkt 1 x 150

Formeln der Tabelle
ZelleFormel
F2{=WENN(ZÄHLENWENN(C2:E2;"x"); INDEX(Preise!$C$2:$E$100;VERGLEICH(A2&B2;Preise!$A$2:$A$100&Preise!$B$2:$B$100;0); VERGLEICH("x";C2:E2;0)); INDEX(Preise!$F$2:$F$100;VERGLEICH(A2&B2;Preise!$A$2:$A$100&Preise!$B$2:$B$100;0)))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

MfG Christian


  

Betrifft: AW: Matrixwert mit 3 Bedingungen suchen von: juliusmk
Geschrieben am: 03.09.2014 16:19:05

Hi auch Christian

Das funktioniert, danke - ich begreife allerdings noch nicht wieso :(

Und: erschwerend kommt hinzu, dass ich mit dem Gedanken spiele, das Feld jeweils als Statusfeld zu nutzen, also statt X steht da BESTELLT; GELIEFERT; BEZAHLT, etc.

Kann ich das auch irgendwie mit NICHTLEER o.ä. verknüpfen?

Danke, juliusmk


  

Betrifft: AW: mit bezahlt ect. von: hary
Geschrieben am: 03.09.2014 16:48:51

Moin julius



Lieferung

 ABCDEF
1  Kunde AKunde BKunde CPreis
2Lieferant 1Produkt 2  bezahlt125
3Lieferant 2Produkt 1 bestellt 125
4Lieferant 1Produkt 1    
5Lieferant 1Produkt 1 bestellt 150
6Lieferant 1Produkt 2geliefert  150
7Lieferant 3Produkt 2  was du willst140
8Lieferant 3Produkt 1 bezahlt 150

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
F2:F8{=WENNFEHLER(INDEX(Preise!$A$1:$F$7;VERGLEICH(A2&B2;Preise!$A$1:$A$7&Preise!$B$1:$B$7;0);VERGLEICH(0;--(C2:E2="");0)+2);"")}$F$2 =IFERROR(INDEX(Preise!R1C1:R7C6,MATCH(RC[-5]&RC[-4],Preise!R1C1:R7C1&Preise!R1C2:R7C2,0),MATCH(0,--(RC[-3]:RC[-1]=""),0)+2),"")
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!


http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

gruss hary


  

Betrifft: AW: mit bezahlt ect. von: juliusmk
Geschrieben am: 05.09.2014 11:35:58

Hi Hary,

im Beispiel klappt das prima, wenn ich das jetzt auf mein Riesenexcel übertrage (mehr Kunden, Produkte und Lieferanten), dann setzt es aus. Problem ist, dass ich nicht ganz bergreife, was Du mit dem hinteren Teil bewirkst, also dem letzten Vergleich mit den "" und dem +2...

Kannst Du mir das erklären? Dann kann ich es anpassen. Vielen Dank!

juliusmk


  

Betrifft: AW: mit bezahlt ect. von: hary
Geschrieben am: 05.09.2014 12:21:57

Moin
VERGLEICH(0;--(C2:E2="");0)+2)
mit --(C2:E2="")
Also gilt fuer Pruefung Bereich C2:E2.
Wenn Bspw. in D2 was drinsteht kommt raus: wahr--falsch--wahr
durch die 2 Minuszeichen aendere ich wahr(1)/falsch(0) in eine Zahl um.
Dann kommt raus: 1--0--1
Mit VERGLEICH(0;1--0--1;0) finde ich die Stelle in der Null ist. Hier 2.
Da in Blatt"Preise" die Euronen erst ab SpalteC also 2 beginnen muss ich +2 nehmen.
Dann hab ich fuer den Index Spalte 4.
Du kannst dir auch innerhalb der Formel die Werte anzeigen lassen.
Bsp. Markier den Teil in der Formel: (C2:E2="") und Taste F9, dann siehst du was rauskommt.
Achtung!!! Danach immer ESC Taste druecken, sonst bleibt das so stehen.
gruss hary


  

Betrifft: AW: mit bezahlt ect. von: juliusmk
Geschrieben am: 05.09.2014 17:41:52

Es klappt, super! Ich hatte noch einen Denkfehler drin und habe nie von 0/0 (also A1) gezählt, sondern vom Beginn meiner Preismatrix, bin also immer um ein paar Felder nach unten und rechts verrutscht. Vielen Dank!


  

Betrifft: AW: Matrixwert mit 3 Bedingungen suchen von: hary
Geschrieben am: 03.09.2014 16:21:46

Moin



Lieferung

 ABCDEF
1  Kunde AKunde BKunde CPreis
2Lieferant 1Produkt 2  x125
3Lieferant 2Produkt 1 x 125
4Lieferant 1Produkt 1    
5Lieferant 1Produkt 1 x 150
6Lieferant 1Produkt 2x  150
7Lieferant 3Produkt 2  x140
8Lieferant 3Produkt 1 x 150

verwendete Formeln
Zelle Formel Bereich R1C1 für Add In
F2:F8{=WENNFEHLER(INDEX(Preise!$A$1:$F$7;VERGLEICH(A2&B2;Preise!$A$1:$A$7&Preise!$B$1:$B$7;0);VERGLEICH("x";A2:E2;0));"")}$F$2 =IFERROR(INDEX(Preise!R1C1:R7C6,MATCH(RC[-5]&RC[-4],Preise!R1C1:R7C1&Preise!R1C2:R7C2,0),MATCH("x",RC[-5]:RC[-1],0)),"")
{} Matrixformel mit Strg+Umschalt+Enter abschließen
Matrixformeln sind durch geschweifte Klammern {} eingeschlossen
Diese Klammern nicht eingeben!!


http://excel-inn.de/dateien/vba_beispiele/tabellenanzeige_in_html_addin.zip
http://hajo-excel.de/tools.htm
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 14.02 einschl 64 Bit

gruss hary


 

Beiträge aus den Excel-Beispielen zum Thema "Matrixwert mit 3 Bedingungen suchen"