Excel提取數(shù)字和文本的3種方法,最后一個超簡單!

大家好,我是搞 Excel 的小爽鴨~
在日常生活中,我們在各種群里,接龍采購信息的時候,有可能會出現(xiàn)文本與數(shù)字混合的數(shù)據(jù) ,如下圖:

所以,我們需要把數(shù)量和名稱都提取出來,方便我們進(jìn)行查看。
今天,我來給大家介紹三種方法,跟隨我的步伐一起看看吧。
PS.本文使用的版本是 Office 2021,推薦使用 Office 2016 及以上版本。


函數(shù)方法
提取數(shù)字
在 Excel 中,并沒有可以直接提取數(shù)字的函數(shù),不過我們可以先將數(shù)據(jù)拆成一個個字符,然后通過數(shù)字的特性,將文本變成錯誤值,從而達(dá)到提取數(shù)字的目的。
① 第一步 : 拆
=MID(A2,ROW($1:$10),1)
PS : 由于公式是個數(shù)組公式,也就是除 Office 2021,Office 365 之外的版本,包括 WPS,需要先選區(qū)域,再用數(shù)組三鍵【Ctrl+Shift+Enter】進(jìn)行運(yùn)算,下面同理。

利用 mid 函數(shù),將字符串拆成一個個字符。
= MID (字符串,起始位置,提取數(shù)量)
row(1:10) 可以生成 1 到 10 的序列,作為 mid 函數(shù)的第二參數(shù),依次提取 1 個字符。
PS.10 主要是看最長的字符串長度,大于等于這個數(shù)即可。

② 第二步 : 轉(zhuǎn)
=1*MID(A2,ROW($1:$10),1)=1*①
由于 1*文本數(shù)字,返回?cái)?shù)字;1*文本字符,返回錯誤值。所以我們利用這個規(guī)律,將數(shù)字和文本字符分開。

③ 第三步:變
=IFERROR(1*MID(A2,ROW($1:$10),1),"")=IFERROR(②,"")
利用 iferror 函數(shù)將錯誤值返回為空。

④ 第四步:合
=CONCAT(IFERROR(1*MID(A2,ROW($1:$10),1),""))=CONCAT(③)
利用 concat 函數(shù),將所有數(shù)字進(jìn)行合并。

提取文本
前面已經(jīng)提取了數(shù)字,那么對文本,我們只要將拆后的字符串,把數(shù)字替換掉,再合并就可以直接搞定。
① 第一步 : 拆
=MID(A2,ROW($1:$10),1)

② 第二步 : 得
這一步目的主要是得到去除文本后,拆分的數(shù)字。
=IFERROR(1*MID(A2,ROW($1:$10),1),"")

③ 第三步 : 換
=SUBSTITUTE(MID(A2,ROW($1:$10),1),IFERROR(1*MID(A2,ROW($1:$10),1),""),"")=SUBSTITUTE(①,②,"")
文本拆分后的數(shù)據(jù),利用 substitute 函數(shù),將提取的數(shù)字(舊字符),替換為空(新字符),即是去掉數(shù)字。

④ 第四步:合
=CONCAT(SUBSTITUTE(MID(A2,ROW($1:$10),1),IFERROR(1*MID(A2,ROW($1:$10),1),""),""))=CONCAT(③)
利用 concat 函數(shù)將數(shù)據(jù)進(jìn)行合并。

就這樣,我們就已經(jīng)把數(shù)字和名稱都提取出來了。

前面,我們的 10 是固定的,如果不想固定,可以使用 len 函數(shù)獲取長度,然后進(jìn)行拼接,利用 indirect 函數(shù)進(jìn)行返回。
=CONCAT(IFERROR(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1),""))

還有就是如果我們已經(jīng)提取了數(shù)字,其實(shí)直接用 substitute 函數(shù)也可以。


PQ 法
不同于 Excel 函數(shù)公式,PQ 中就有提取指定字符的 M 函數(shù)。
思路跟上面的函數(shù)方法是一樣的,我們可以先提取數(shù)字(Text.Select),然后將字符串中的數(shù)字替換為空(Text.Repalce),即可得到文本。
首先,肯定是需要先將數(shù)據(jù)導(dǎo)入到 PQ 編輯器中。
全選數(shù)據(jù),在【數(shù)據(jù)】選項(xiàng)卡下,單擊【來自表格/區(qū)域】,單擊【確定】按鈕。

提取數(shù)字
在【添加列】選項(xiàng)卡中,選擇【自定義列】。
新列名:數(shù)量
自定義列公式:Text.Select([數(shù)據(jù)],{"0".."9"})

單擊【確定】按鈕后,如下圖,我們可以看到數(shù)字已經(jīng)提取出來了。

Select 的意思是挑選,顧名思義, Text.Select 函數(shù)就是從文本字符中挑選出指定的內(nèi)容。
=Text.Select (文本, {要提取的字符}) =Text.Select([數(shù)據(jù)],{"0".."9"})
{"0".."9"} 表示從 0 到 9 的數(shù)值,所以該公式的意思是:從文本中,挑選包含從 0 到 9 的數(shù)值。
Text.Select 在提取數(shù)字上,非常的方便,小伙伴 get 到了嘛~
提取文本
在【添加列】選項(xiàng)卡中,選擇【自定義列】。
新列名:名稱
自定義列公式:Text.Replace([數(shù)據(jù)],[數(shù)量],"")

單擊【確定】按鈕后,如下圖,我們可以看到數(shù)字已經(jīng)提取出來了。

Text.Replace 跟函數(shù)中的 substitute 函數(shù)類似,都是將文本中的舊字符替換為新字符。
=Text.Replace(文本,舊字符,新字符)=Text.Replace([數(shù)據(jù)],[數(shù)量],"")
所以這個公式大家應(yīng)該也不難理解,當(dāng)然也不是只有這一種做法。
所以這個公式大家應(yīng)該也不難理解,當(dāng)然也不是只有這一種做法。

公式 plus
前面寫了一大堆,其實(shí)如果你經(jīng)常使用,也可以把這個編寫成一個自定義公式。
如果你有安裝公式 plus,只需要一個 P 就可以搞定!
提取數(shù)字
=P_Num(A2)

提取文本
=P_Cn(A2)

So Easy~

想要下載公式?plus?的話,在我們后臺回復(fù)【P】即可獲取~
Excel 操作簡單、應(yīng)用廣泛,如果你想系統(tǒng)學(xué)習(xí),讓你的工作能力有機(jī)會增強(qiáng) 10 倍!
那就趕緊點(diǎn)擊下方小程序,加入《3 天 Excel 集訓(xùn)營》吧!
現(xiàn)在報(bào)名,只需 1 元!
還送35 個常見函數(shù)使用說明……
速戳下方圖片掃碼
加入《3 天 Excel 集訓(xùn)營》!


最后的話
本文寫的其實(shí)并不難,主要是讓大家學(xué)習(xí)一個思路。
對于函數(shù)做法,我們需要懂得:
拆:mid+row,可以字符串拆成一個個字符
轉(zhuǎn):1*或者--等,可以將文本數(shù)字轉(zhuǎn)為數(shù)字,文本變成錯誤值。
換:提取數(shù)值后,substitute 可以將數(shù)字替換掉,從而獲得文本。
對于 pq 做法,我們需要掌握兩個 M 函數(shù):
Text.Select?可以提取指定字符,超級實(shí)用。
Text.Replace?類似于 substitute 函數(shù),可以將舊字符替換為新字符。
好了,本文就到這里結(jié)束啦。

??
*廣告