二維碼 購(gòu)物車
部落窩在線教育歡迎您!

如何將缺少規(guī)律的產(chǎn)品代碼規(guī)格型號(hào)分別拆分提?。?/h1>

?

作者:EXCEL應(yīng)用之家來(lái)源:部落窩教育發(fā)布時(shí)間:2020-12-29 16:19:47點(diǎn)擊:7786

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

編按:
產(chǎn)品統(tǒng)計(jì)表中每個(gè)產(chǎn)品的代碼和規(guī)格型號(hào)記錄在同一個(gè)單元格里,并且產(chǎn)品代碼和規(guī)格型號(hào)都缺乏統(tǒng)一的規(guī)律。如何才能把產(chǎn)片代碼和規(guī)格型號(hào)拆分出來(lái)分別提取在不同單元格里呢?簡(jiǎn)單來(lái)說,就是如何拆分和提取無(wú)明顯規(guī)律的數(shù)據(jù)。只有一個(gè)辦法,仔細(xì)觀察數(shù)據(jù),找出特點(diǎn),然后把這些特點(diǎn)轉(zhuǎn)化為統(tǒng)一的規(guī)律。本例就是如此?。?/font>

今天這個(gè)題目比較有意思。

在核查產(chǎn)品時(shí),為了不遺漏,我們往往需要把產(chǎn)品名稱中的代碼和規(guī)格型號(hào)拆分出來(lái)方便統(tǒng)計(jì)核對(duì)。

下表我截取了一份公司的《標(biāo)準(zhǔn)件規(guī)格統(tǒng)計(jì)表》給大家。在遵循一定規(guī)則的前提下,標(biāo)準(zhǔn)件的規(guī)格型號(hào)的表達(dá)形式有千種萬(wàn)種:

 



 

現(xiàn)在我們需要將標(biāo)準(zhǔn)件的名稱拆分為兩部分:代碼(描述)部分及具體的規(guī)格型號(hào),如下表。

 



 

這就牽扯到數(shù)據(jù)拆分,而凡是這種操作都離不開查找、引用等函數(shù)。所以,這里的思路是:找到代碼(描述)部分和規(guī)格部分的界限,再利用提取函數(shù)進(jìn)行提取和拆分。

但是觀察一下這份源數(shù)據(jù)中產(chǎn)品的代碼和規(guī)格型號(hào)很雜亂,沒有規(guī)律可言。那如何才能將兩者精確拆分開呢?

 

真的沒有規(guī)律嗎?其實(shí)還是有一定規(guī)律的:

1)凡是有“×”符號(hào)的規(guī)格型號(hào)都是從第一個(gè)“×”前的數(shù)字開始的

2)有一個(gè)產(chǎn)品的規(guī)格型號(hào)是從空格后開始的(JGF φ5.2 φ5.2

3)沒有“×”符號(hào)和空格的兩個(gè)零件的規(guī)格型號(hào)可以虛擬添加“×”,然后也是從第一個(gè)“×”前的數(shù)字開始的

RV0.75 RV0.75× 0.75×

RV1 RV1× 1×

 

如何運(yùn)用這里的規(guī)律呢?當(dāng)然還得繼續(xù)整合或者創(chuàng)造規(guī)律:

1)和(3)均是從第一個(gè)“×”前的最后一個(gè)非數(shù)字(字母、漢字)后開始規(guī)格型號(hào)的

2)也可以認(rèn)為是從第一個(gè)空格前的最后一個(gè)非數(shù)字(字母、漢字)后開始規(guī)格型號(hào)的

 

到了這里,我們可以得出一個(gè)思路(盡管還不知道用什么函數(shù)實(shí)現(xiàn)):

將產(chǎn)品信息看作是一串?dāng)?shù)字、非數(shù)字組成的信息,然后從左向右提取到第一個(gè)分界標(biāo)志“×”或空格前的最后一個(gè)非數(shù)字處,即可得到代碼(描述)部分;剩下的就是規(guī)格型號(hào)部分。

這個(gè)思路的關(guān)鍵:將信息的每個(gè)字符判斷成一串代表數(shù)字和非數(shù)字的序列;用“×”或空格作為參考位置,然后向前尋找最后一個(gè)非數(shù)字的字符位置。

 

思考十秒鐘,讓我們一起來(lái)燒腦吧!

 

 

 

在單元格C2中輸入公式“=LEFT(B2,MATCH(1,FREQUENCY(1-FIND({"×"," "},B2&"× "),-ISERR(-(0&MID(B2&"× ",ROW($1:$99),1)))*ROW($1:$99)),))”并向下拖曳即可。

 

函數(shù)解析:

a)   FIND({"×"," "},B2&"× ")部分用于獲得參考位置,1-FIND(),其結(jié)果為{-6,-12},將參考位置變成負(fù)數(shù)并向前移一位。

為什么B2要添加后綴"× " ×和空格)?我們用第一個(gè)“×”和" " 的位置作為參考,添加后綴"× "可以令FIND函數(shù)不論如何都能查找到"×"" ",避免FIND函數(shù)報(bào)錯(cuò)。

b)   -ISERR(-(0&MID(B2&"× ",ROW($1:$99),1)))*ROW($1:$99))部分返回一個(gè)序列數(shù)組,每個(gè)負(fù)數(shù)對(duì)應(yīng)一個(gè)非數(shù)字字符(字母或者漢字、符號(hào)),每個(gè)0對(duì)應(yīng)一個(gè)數(shù)字字符。得到的序列如下:

{-1;0;0;-4;-5;0;-7;0;0;0;0;-12;0;0;0;0;0;……}(此處只截取了序列前方部分)

字符串B2后添加"× "是為了讓字符串與上面查找的字符串保持一致,避免后續(xù)出現(xiàn)計(jì)算錯(cuò)誤。

c)   FREQUENCY()部分,計(jì)算參考位置前移后數(shù)組{-6,-12}在序列中各值段的出現(xiàn)頻率。根據(jù)FREQUENCY函數(shù)的特性,分別在-5-12的位置上各計(jì)頻1,得到如下序列:

{0;0;0;0;1;0;0;0;0;0;0;1;0;0;0;0;0;……}(此處只截取了序列前方部分)

d)   再利用MATCH函數(shù)查找1,返回上述序列值中第一個(gè)1的位置5。至此得到了“×”和空格前的最后一個(gè)非數(shù)字字符的位置。

e)   最后用LEFT函數(shù)提取5個(gè)字符得到描述部分H05RN。

 

代碼部分完成后,規(guī)格型號(hào)部分就非常簡(jiǎn)單了,使用SUBSTITUTE函數(shù)配合TRIM函數(shù)就可以完成。

 



 

1.   SUBSTITUTEB2,C2,))部分顯示的是用空白替換在B2字符中,與C2相同的字符內(nèi)容,即留下除去C2字符內(nèi)容的B2的剩下字符。

2.   =TRIM()即除了單詞之間的單個(gè)空格外,清除字符中所有的空格。

 

這個(gè)題目思路整體上比較復(fù)雜,小伙伴們一時(shí)不能理解也沒有關(guān)系,在實(shí)際工作中如果遇到類似的問題會(huì)套用即可。

編后語(yǔ):

如果沒有看懂的小伙伴需要詳細(xì)解析,請(qǐng)?jiān)诠娞?hào)上回復(fù)規(guī)格型號(hào)拆分即可得到解析文章。

本文配套的練習(xí)課件請(qǐng)加入QQ群:902294808下載。

Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!

掃下方二維碼關(guān)注公眾號(hào),可隨時(shí)隨地學(xué)習(xí)Excel

IMG_256

相關(guān)推薦:

別再為拆分、合并工作表鬧心啦!最實(shí)用的7種方法,分分鐘搞定它?。ú鸱制?/font>

價(jià)格帶統(tǒng)計(jì)就用FREQUENCY

會(huì)用FREQUENCY函數(shù)統(tǒng)計(jì)excel數(shù)據(jù)的人,都是高手!

怎么用vlookup在兩個(gè)查找區(qū)域里查找?

版權(quán)申明:

文本作者EXCEL應(yīng)用之家;同時(shí)部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。