
這是我的桌子:
A B c
1 foo.com/page1 foo.com/page1?xyz
2 foo.com/page2 foo.com/page1?abc
3 foo.com/page3 foo.com/page8?xyz
對於B列中的每個項目,我想知道A列中是否有匹配的項目(結果應該是:B1>TRUE,B2>TRUE,B3>FALSE)
我試過這個:
=match(B1, A:A&"*")
但它不起作用。
任何想法?
答案1
該解決方案僅適用於您的範例。
使用 VLOOKUP 近似匹配而不是精確匹配,您可以執行一些「模糊」匹配,就像您所描述的那樣。
=IFERROR(IF(LEFT(B1,LEN(VLOOKUP(B1,A:A,1,TRUE)))=VLOOKUP(B1,A:A,1,TRUE),TRUE,FALSE),FALSE)
基本上,該公式是使用單個長字串並蒐索許多較短的字串來尋找它可以找到的最接近的匹配項。
它標識第一個接近的匹配
驗證 A 列匹配中的所有字元都在 B 列字串中以最左邊的字元開頭
如果 A 符合中的所有字元都在 B 字串中表示,則傳回 TRUE
如果 A 符合中的所有字元未在 B 字串中表示,則傳回 FALSE
弱點(為什麼這可能會因真實數據而失敗):
此範例包含頁碼 1、2、3。