
我使用這個公式返回下表中的值:
=IF(ISNA(VLOOKUP(A2,USUB,1,FALSE)),"No Fruit Found",VLOOKUP(A2,USUB,2,FALSE))
USB表有這樣的資料:
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
我將使用什麼公式先查看 Fruit (USUB,1),然後查看 Location (USUB,4),並根據公式中的條件傳回 Fruit Code (USUB,2) 值?
答案1
答案2
答案3
這將首先查看是否有重複項,如果沒有,無論輸入的位置是什麼,它都會傳回正確的 ID。
如果有多個水果,它會尋找該位置以找到匹配的水果。
如果在任何一種情況下都找不到匹配項;要么水果不存在,要么水果和位置的組合,當有多個水果時是不正確的。
=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"))
對於表格的引用,請使用:
=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"))