INDEX-MATCH 用於參考行與多個查找值的部分匹配

INDEX-MATCH 用於參考行與多個查找值的部分匹配

我有以下兩個(縮短的)表格:

A1:A5 - 資料表

URL
shop.samsung.com/au/accessories/mobile-accessories
samsung.com/us/amp/us/smartphones/galaxy-s9
samsung.com/us/appliances/electric-ranges
samsung.com/global/business/semiconductor/minisite/SSD/notice.html

E1:F5 - 參考表

If Folder Contains          Value
mobile-accessories          Mobile Accessories
smartphones                 Mobile Phone
appliances/electric-ranges  Cooking Appliance
appliances/refrigerators    Semiconductor

我正在嘗試創建一個公式來查看 URL 表,檢查字串在引用表的“如果資料夾包含”列中是否部分匹配,然後返回值。例如,如果我選擇第一個連結 (A2),我希望公式傳回“Mobile Accessories”,因為 A2 的 URL 中包含“mobile-accessories”。

相反,我知道該怎麼做(只需在之前/之後使用通配符進行 vlookup),但我無法找到一種方法來做到這一點。任何指導將不勝感激

答案1

只是想知道是否電器/冰箱應該映射到半導體正如您在示例中所示的那樣。我雖然可能是商業/半導體可能映射到半導體。但這不是問題。

在此範例中,範例 URL 資料位於 A1:A5,映射表位於 E1:F5。現在,在 B2 中輸入以下公式,然後按公式欄中的CTRL+ SHIFT+ENTER建立陣列公式。該公式現在應括在大括號中以表示它是數組公式。

將其向下拖曳到預期的行。

=IFERROR(INDEX($F$2:$F$5,MAX(IF(ISERROR(SEARCH($E$2:$E$5,A2)),0,ROW($E$2:$E$5))-ROW($F$1))),"No Category")

在此輸入影像描述

新增外部 IFERROR 僅用於裝飾目的,只是為了在未找到匹配項時顯示「無類別」文字。如果您的 EXCEL 版本是 2007 之前的版本,您可以刪除它。對於此類實例,公式應僅傳回錯誤,而不是「無類別」訊息,或者您也可以使用 IF(ISERROR()) 建構的混合。

答案2

要解決這個問題,需要輔助列來儲存部分匹配字串。

在此輸入影像描述

在儲存格中寫入此公式N41並填寫。

=VLOOKUP($N36,$O36:$O36,1,TRUE)

根據需要調整公式中的儲存格引用。

相關內容