對賬名稱不一樣呼和也辦法

對賬的時候最怕名稱不一樣,左邊是全稱,右邊是簡稱,現在要根據簡稱查找引用全稱。

對賬名稱不一樣呼和也辦法

最原始的做法就是簡稱前後加通配符,再進行VLOOKUP。這種只針對連續字符相同的有效,如果出現北京大學、北大這種不連續的就無法查找。

=VLOOKUP("*"&D2&"*",A:A,1,0)

對賬名稱不一樣呼和也辦法

第1次改善,將簡稱的每個字符用MID單獨提取出來,再用&合併起來,並用通配符*隔開。

="*"&MID(D2,1,1)&"*"&MID(D2,2,1)&"*"

對賬名稱不一樣呼和也辦法

這樣即使不連續也不影響查找。

=VLOOKUP(F2,A:A,1,0)

對賬名稱不一樣呼和也辦法

這種方法雖好,但只局限性簡稱字符少的,如果有7-8個字,用&和MID寫公式會超級繁瑣。因此,第2次改善來了,用TEXTJOIN+MID。

先用MID的數組方式,將字符全部拆分開。

=MID(D2,ROW($1:$9),1)

對賬名稱不一樣呼和也辦法

TEXTJOIN可以合併內容,並添加分隔符號*。

=TEXTJOIN("*",1,MID(D2,ROW($1:$9),1))

對賬名稱不一樣呼和也辦法

前後再用&連接通配符*。

="*"&TEXTJOIN("*",1,MID(D2,ROW($1:$9),1))&"*"

對賬名稱不一樣呼和也辦法

直到最近,第3次改善來了,公式超簡潔。

=REGEXP(D2,"",2,"*")

對賬名稱不一樣呼和也辦法

第三參數為2的時候,代表替換。正如效果那樣,替換完就相當於每個字連接通配符*。

對賬名稱不一樣呼和也辦法

最終公式來了,每次改善其實都可以不藉助輔助列,一步到位。

  • 第1次:

=VLOOKUP("*"&MID(D2,1,1)&"*"&MID(D2,2,1)&"*",A:A,1,0)

  • 第2次:

=VLOOKUP("*"&TEXTJOIN("*",1,MID(D2,ROW($1:$9),1))&"*",A:A,1,0)

  • 第3次:

=VLOOKUP(REGEXP(D2,"",2,"*"),A:A,1,0)

也許公式的新時代已經來了,別再死守着傳統公式了。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/186758.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-11-27 05:48
下一篇 2024-11-27 05:57

相關推薦

發表回復

登錄後才能評論