題 Excel公式 - 返回值基於查看兩個單獨的值(或/或)


我使用這個公式從下表中返回一個值:

=IF(ISNA(VLOOKUP(A2,USUB,1,FALSE)),"No Fruit Found",VLOOKUP(A2,USUB,2,FALSE))

USUB表有這樣的數據:

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)然後位置(USUB,4)並根據公式中的標準返回Fruit Code(USUB,2)的值?


4
2018-05-03 17:22


起源


我不明白,有重複嗎? - Raystafarian
謝謝你的回复。不重複。代碼用來代替專有名稱。 - CKoester
該數據有超過36,000行和40多列。該表是我在數據表中可能具有的示例。所以讓我們說在X列中,我想讓Fruit看起來像Fruit Code,我需要看看Fruit並返回Fruit Code的值。我遇到的問題是一些數據,水果是相同的,但具有不同的位置。所以我需要搜索水果和位置以得出水果代碼。對不起,如果這令人困惑...... - CKoester
可能是一個索引 - 與多個標準匹配。 - Raystafarian
您的位置和水果是否有數據驗證?我看到的問題是文本字符串返回無效數據的拼寫錯誤。我意識到你的例子是通用的,但請看一下 FT LAUDERDALE, FL 首先,它在城市和州之間有一個空間,而其他人沒有。此外,它可以輸入為 FORT LAUDERDALE, FL。如果兩者都有可能,那麼搜索它們將提供錯誤的信息。 - Scott Craner


答案:


我很少建議使用 DGET 功能,但這是一個很好的例子,你什麼時候可以很好地利用它。有關設置和使用,請參見下圖

enter image description here

公式是:

=DGET(USUB,"Fruit Code",$A$1:$B$2)

它甚至還有一個額外的好處,如果你沒有放置位置,它只會找到該水果的代碼。

要了解沒有水果和位置組合匹配的情況,請參閱以下內容:

=IFERROR(DGET(USUB,"Fruit Code",$A$1:$B$2),"Not found")

1
2018-05-04 10:34





您將使用具有多個條件的索引/匹配,作為數組輸入(使用 Ctrl + Shift + Enter

=INDEX($C$2:$C$13,MATCH(H3&I3,$B$2:$B$13&$E$2:$E$13,0)) 

(根據需要調整)

enter image description here

所以,我能夠使用Fruit Code和Location來返回ID。該公式正確解析為 J。那是你想要的嗎?你基本上只是鏈接 Match() 標準 &,然後是與之匹配的範圍 &,並輸入數組。


0
2018-05-03 18:01



感謝您的答复。您使用的工作表來自名稱管理器,與我正在使用的數據不同。也許我在想這個。索引/匹配公式不適用於我想要做的事情。再次感謝你。 - CKoester
@CKoester - 如果您可以像上面那樣進行設置,那麼您只需要更改對其他工作表的引用。設置公式時,您只需使用光標瀏覽範圍,它就會看到那裡。 - BruceWayne


這將首先查看是否存在重複項,否則它將返回正確的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"))

enter image description here


0
2018-05-03 18:18