編按: 介紹兩種超簡(jiǎn)單的提取數(shù)字、字母、漢字的萬(wàn)能函數(shù)公式。其中包括運(yùn)用WPS最新REGEXP正則表達(dá)式函數(shù)。REGEXP通過(guò)正則表達(dá)式進(jìn)行提取數(shù)字、字母、漢字,不需要嵌套其他函數(shù),非常簡(jiǎn)潔、高效。 之前介紹過(guò)很多提取數(shù)字或者字母的方法,要么限制多,要么公式嵌套復(fù)雜。今天,教大家用TEXTSPLIT和WPS最新函數(shù)REGEXP來(lái)提取,勿需嵌套其他函數(shù),輕輕松松,簡(jiǎn)直就是萬(wàn)能提取。1. TEXTSPLIT函數(shù)萬(wàn)能提取=TEXTSPLIT(單元格,TEXTSPLIT(單元格,提取參數(shù),,1,1,""),,1,1,"")。用兩個(gè)TEXTSPLIT函數(shù)進(jìn)行嵌套。需要提取什么數(shù)據(jù),就將什么數(shù)據(jù)組成填寫(xiě)在“提取參數(shù)”里。如果數(shù)據(jù)組成是常量,可以使用“{“參數(shù)1”,”參數(shù)2”,……}”的形式。比如下面表格,需要將其中的數(shù)字全部提取出來(lái)。這些數(shù)字的組成就包括0~9的阿拉伯?dāng)?shù)據(jù),還有小數(shù)點(diǎn)、負(fù)號(hào),可以寫(xiě)成:{"0","1","2","3","4","5","6","7","8","9",".","-"}=TEXTSPLIT(A2,TEXTSPLIT(A2,{"0","1","2","3","4","5","6","7","8","9",".","-"},,1,,""),,1,,"")英文字母有26個(gè),如果寫(xiě)成常量數(shù)組太繁瑣。此處可以用CHAR(ROW($65:$90))函數(shù)來(lái)表達(dá)從A到Z的26個(gè)字母。=TEXTSPLIT(A8,TEXTSPLIT(A8,CHAR(ROW($97:$122)),,1,1,""),,1,,"")B11之所以是錯(cuò)誤值,是因?yàn)锳11中沒(méi)有英文字母。用TEXTSPLIT套路公式還是繁瑣了點(diǎn),必須請(qǐng)出WPS最新函數(shù)正則表達(dá)式函數(shù)REGEXP。2. REGEXP函數(shù)萬(wàn)能提取——勿須嵌套REGEXP是WPS最新版本中才有的。需要根據(jù)提取數(shù)據(jù)的類(lèi)型編寫(xiě)正則表達(dá)式。在B2輸入“=REGEXP(A2,"[0-9.-]+")”下拉填充即可提取數(shù)字。使用正則表達(dá)式“[0-9.-]+”匹配所有整數(shù)和小數(shù)。提取英文則輸入“=IFERROR(REGEXP(A8,"[A-z]+"),"")”。使用正則表達(dá)式“[A-z]+”匹配所有的大小寫(xiě)字母。提取中文輸入“=IFERROR(REGEXP(A14,"[一-龥](méi)+"),"")”。一是中文的第一個(gè)Unicode編碼,“龥”(讀“yù”)是中文最后一個(gè)Unicode編碼,[一-龥](méi)+可指代所有漢字。如果不提取生僻字,也可以使用“[一-龜]+”替代,更方便輸入。
|