.png)
Ich verwende diese Formel, um einen Wert aus der folgenden Tabelle zurückzugeben:
=IF(ISNA(VLOOKUP(A2,USUB,1,FALSE)),"No Fruit Found",VLOOKUP(A2,USUB,2,FALSE))
Die USUB-Tabelle enthält folgende Daten:
Fruit Fruit Code FruitID Location CITY
Apple APP A SEATTLE,WA SEATTLE
Bananas BAN B MODESTO,CA MODESTO
Cherry CHER C CHARLESTON,SC CHARLESTON
Blackberrires BLCKB D VICKSBURG,VA VICKSBURG
Blueberries BLUB E SAN DIEGO,CA SAN DIEGO
Cantaloupe CANT F GULF SHORES, AL GULF SHORES
Grapes GRP G NAPA VALLEY,CA NAPA VALLEY
Peach PCH H ATLANTA, GA ATLANTA
Grapefruit GRPFRT I FT LAUDERDALE, FL FT LAUDERDALE
Pomegranate POM J HONOLULU, HI HONOLULU
Kiwi KIW K SALEM, OR SALEM
Welche Formel würde ich verwenden, um zuerst nach Obst (USUB,1) und dann nach Standort (USUB,4) zu suchen und basierend auf den Kriterien in der Formel einen Wert für den Obstcode (USUB,2) zurückzugeben?
Antwort1
Ich würde nur selten empfehlen, dieDGETFunktion, aber dies ist ein perfektes Beispiel dafür, wann Sie es sinnvoll einsetzen können. Siehe das Bild unten für die Einrichtung und Verwendung
die Formel lautet:
=DGET(USUB,"Fruit Code",$A$1:$B$2)
Es bietet sogar den zusätzlichen Vorteil, dass, wenn Sie keinen Standort angeben, einfach der Code für diese Frucht gefunden wird.
Um die Fälle zu erfassen, in denen es keine passenden Frucht- und Standortkombinationen gibt, sehen Sie unten nach:
=IFERROR(DGET(USUB,"Fruit Code",$A$1:$B$2),"Not found")
Antwort2
Sie würden einen Index/Match mit mehreren Kriterien verwenden, eingegeben als Array (mit CTRL+SHIFT+ENTER:
=INDEX($C$2:$C$13,MATCH(H3&I3,$B$2:$B$13&$E$2:$E$13,0))
(Bei Bedarf anpassen)
Ich konnte also einen Fruchtcode und einen Standort verwenden, um eine ID zurückzugeben. Die Formel wird korrekt in aufgelöst J
. Ist es das, was Sie wollten? Im Grunde verknüpfen Sie einfach Match()
Kriterien mit &
und dann die Bereiche, die sie mit abgleichen sollen &
, und geben sie als Array ein.
Antwort3
Dabei wird zunächst geprüft, ob Duplikate vorhanden sind. Ist dies nicht der Fall, wird die richtige ID zurückgegeben, unabhängig davon, was als Standort eingegeben wurde.
Wenn mehr als eine dieser Früchte vorhanden ist, wird an dem Standort nach einer Entsprechung gesucht.
Kann in beiden Fällen keine Entsprechung gefunden werden, so ist entweder die Frucht nicht vorhanden oder die Kombination aus Frucht und Standort (bei mehreren vorhandenen Früchten) nicht korrekt.
=IF(COUNTIF(A:A,H2)>1,IFERROR(INDEX($C$2:$C$13,MATCH(1,INDEX(($D$2:$D$13=I2)*($A$2:$A$13=H2),),0)),"Multiple fruits but Location is wrong"),IFERROR(INDEX(C:C,MATCH(H2,A:A,0)),"Not Found"))
Für den Verweis auf eine Tabelle verwende dann folgendes:
=IF(COUNTIF(USUB[Fruit],H2)>1,IFERROR(INDEX(USUB[FruitID],MATCH(1,INDEX((USUB[Location]=I2)*(USUB[Fruit]=H2),),0)),"Multiple fruits but Location is wrong"),IFERROR(INDEX(USUB[FruitID],MATCH(H2,USUB[Fruit],0)),"Not Found"))