如何將缺少規(guī)律的產(chǎn)品代碼規(guī)格型號(hào)分別拆分提?。?/h1>
?
作者:EXCEL應(yīng)用之家來(lái)源:部落窩教育發(fā)布時(shí)間:2020-12-29 16:19:47點(diǎn)擊:7786
版權(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.
SUBSTITUTE(B2,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:
相關(guān)推薦:
別再為拆分、合并工作表鬧心啦!最實(shí)用的7種方法,分分鐘搞定它?。ú鸱制?/font>
價(jià)格帶統(tǒng)計(jì)就用FREQUENCY
會(huì)用FREQUENCY函數(shù)統(tǒng)計(jì)excel數(shù)據(jù)的人,都是高手!
版權(quán)申明:
文本作者EXCEL應(yīng)用之家;同時(shí)部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(liá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. SUBSTITUTE(B2,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:
相關(guān)推薦:
別再為拆分、合并工作表鬧心啦!最實(shí)用的7種方法,分分鐘搞定它?。ú鸱制?/font>
價(jià)格帶統(tǒng)計(jì)就用FREQUENCY
會(huì)用FREQUENCY函數(shù)統(tǒng)計(jì)excel數(shù)據(jù)的人,都是高手!
版權(quán)申明:
文本作者EXCEL應(yīng)用之家;同時(shí)部落窩教育享有專有使用權(quán)。若需轉(zhuǎn)載請(qǐng)聯(lián)系部落窩教育。
最熱教程
- 像綠皮火車一樣長(zhǎng)像珠穆拉瑪峰一樣高的Excel表怎么操作才方便?
- Power Query實(shí)戰(zhàn):按指定次數(shù)遞增數(shù)據(jù)
- 2019年全網(wǎng)最全—excel提取身份證信息合集?。ńㄗh收藏)-下篇
- 明明沒有重復(fù),Excel卻判定數(shù)據(jù)重復(fù),這是怎么回事?
- 文本格式的求和,及求和中最容易出現(xiàn)的問題解疑
- 致命缺陷:不懂一維表!
- 函數(shù)組合思維,你有嗎?
- 學(xué)會(huì)這2個(gè)公式,整理考勤數(shù)據(jù)只要一分鐘
- 就算被說是拍馬屁也成,今天你應(yīng)該這樣發(fā)Excel報(bào)表……
- 如何計(jì)算Excel單元格中的算式,四種求和方法請(qǐng)收好!
最新教程
- SHEETSNAME,一鍵獲得所有工作表名稱完成目錄制作
- 延遲退休落地,快速查詢你上幾年才退休!
- 快速將PDF電子發(fā)票數(shù)據(jù)提取到發(fā)票明細(xì)登記表的方法
- 提取、查找、替換數(shù)據(jù)的王者——REGEXP正則函數(shù)
- Excel表10萬(wàn)行數(shù)據(jù),篩選卡頓怎么辦?
- 兩個(gè)不用嵌套的萬(wàn)能提取公式,含用REGEXP函數(shù)提取
- 用Excel制作刷題器,備考無(wú)憂 !
- 如何用LET+LAMBDA直接寫遞歸公式?
- 用函數(shù)合并多個(gè)工作表數(shù)據(jù)
- 用LAMBDA自定義顏色求和函數(shù)