二維碼 購物車
部落窩在線教育歡迎您!

用SUBSTITUTE替換法為產(chǎn)品找到最匹配的類別

?

作者:ITFANS來源:部落窩教育發(fā)布時間:2024-11-12 11:38:40點擊:616

分享到:
0
收藏    收藏人氣:0人
版權說明: 原創(chuàng)作品,禁止轉載。

編按:

產(chǎn)品名稱同時包含了分類和顏色等特性描述,怎么從中得到其分類呢?由于產(chǎn)品分類或類別的字符組成不固定、字符數(shù)不固定、位置不固定,不適合用提取的方法。有人用SEARCH進行查找匹配,但筆者推薦用SUBSTITUTE替換法。

 

有伙伴常需要為品名分類。比如下表,A列是品名,D列是已有的分類,現(xiàn)在需要在B列給出各品名的分類。如果品名中不包含任何現(xiàn)有分類,則歸類為“other”。

 


 

很明顯,品名中已經(jīng)包含了分類,譬如A2的分類就應該是D18,現(xiàn)在要做的就是怎么把它提取出來。由于產(chǎn)品分類或者類別的字符組成不固定、字符數(shù)不固定、位置不固定,不適合用提取的方法。

 


 

很多伙伴的第一反應就是查找,用SEARCH函數(shù)在品名中查找D列的分類。如果品名中包含現(xiàn)有分類,會得到一個數(shù)字,否則就是錯誤值。需要的分類就是這些數(shù)字對應的分類中的一個。

 

 

這種思路最終需要對D列的分類進行升序排列才能準確適配到對應的分類。

低版本用戶可以先對D列進行升序排列,然后用LOOKUP查找:

=IFERROR(LOOKUP(99,SEARCH($D$2:$D$67,A2),$D$2:$D$67),"other")

 



 

為何LOOKUP查找的是99?涉及的原理請看《一文講透LOOKUP二分法原理》。

高版本(Excel 2021及以上)用戶可以先使用SORT函數(shù)排序,再取最后一個SEARCH值對應的分類:

=IFERROR(TAKE(FILTER(SORT($D$2:$D$67),ISNUMBER(SEARCH(SORT($D$2:$D$67),A2))),-1),"other")

 


 

筆者推薦伙伴換一個思路來做:將各分類作為品名中的舊字符替換為空,若用某個分類替換后品名字符數(shù)最少,則它就是需要的分類。該思路適合所有版本,不需要排序

B2中輸入如下公式即可得到分類:

=INDEX($D$2:$D$67,MATCH(MIN(LEN(SUBSTITUTE(A2,$D$2:$D$67,""))),LEN(SUBSTITUTE(A2,$D$2:$D$67,"")),0),)

 


 

再添加一個IF判斷:

如果替換后最小字符數(shù)等于未替換時的字符數(shù),則說明分類為“other”。




 

 

本文配套的練習課件請?zhí)砑涌头⑿?/font>buluowojiaoyu索取。

Excel高手,快速提升工作效率,部落窩教育Excel精品好課任你選擇!

掃下方二維碼關注公眾號,可隨時隨地學習Excel:

相關推薦:

一文講透LOOKUP二分法原理

新函數(shù)Take和Drop用法

SORT函數(shù)遠比用排序按鈕方便

妙用FILTER函數(shù)實現(xiàn)任意關鍵詞查詢數(shù)據(jù)

版權申明:

本文作者ITFANS;部落窩教育享有稿件專有使用權。若需轉載請聯(lián)系部落窩教育。