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