%20und%20der%20Zelle%20in%20Spalte%20B%20(Ganzzahl)%20den%20Wert%20der%20Zelle%20C..png)
Ich versuche ein Problem wie folgt zu lösen:
Spalte A: einer von drei möglichen Werten. {Äpfel, Orangen, Birnen}
Spalte B: eine Ganzzahl.
Der Wert der Spalte C sollte auf Grundlage der beiden vorherigen Spalten berechnet werden.
Für Spalte B muss ein Zahlenbereich angegeben werden. Z. B. (1-19, 20-99). Wenn also bei Äpfeln die Zahl zwischen 1 und 19 liegt, sollte der Wert 12 sein, wenn die Zahl zwischen 20 und 99 liegt, sollte der Wert 4 sein, wenn sie größer ist, sollte der Wert 18 sein.
Die auszugebenden Bereiche und Werte sind für jede Frucht unterschiedlich.
Das Beste, was ich derzeit tun kann, ist eine lange Kette verschachtelter if-Anweisungen, was ich jedoch nicht für optimal halte.
=IF(I74=Reference!$A$2,(IF(AND(H74>=1,H74<=19),Reference!$B$4,IF(AND(H74>=20,H74<=149), Reference!$C$4,IF(H74>=150,Reference!$D$4,"NaN")))),(IF(AND(H74>=1,H74<=19),Reference!$B$8,IF(AND(H74>=19,H74<=99), Reference!$C$8, IF(H74>=100, Reference!$D$8, "NaN")))))
Ich wäre für jede Hilfe wirklich dankbar. Danke.
Antwort1
Sie sollten über eine Referenztabelle verfügen, in der die Grenzmenge jedes Artikels beschrieben wird, und die Menge sortieren DESCENDING
.
Bitte schön:
=INDEX($C$2:$C$4, MATCH(1, (F2 = $A$2:$A$4) * (G2 > $B$2:$B$4), 0))
und verwenden Sie CTRL+ Shift+ Enteranstelle von , Enterum die Array-Formel einzufügen.
Erläuterung
$C$2:$C$4
ist der Preisreferenzbereich.
Da wir nach zwei Kriterien suchen müssen, verwenden Sie MATCH(1, (criteria1) * (criteria2) * (...), 0)
. Die Formel ist analog zu MATCH(TRUE, criteria1 AND criteria2 AND ...)
.
Es wird also grundsätzlich MATCH
in der Tabelle nach dem Artikelnamen gesucht und die Mengenbegrenzung ist niedriger als der Mengenwert.
In meinem Beispiel habe ich nur apples
die Referenztabelle eingefügt. Natürlich sollten Sie your oranges
und yourself hinzufügen.pears