當前位置:秀美範 >

生活 >經驗 >

excel混合文本提取數字 13個步驟來解決

excel混合文本提取數字 13個步驟來解決

excel混合文本提取數字 13個步驟來解決

1、首先要分析數據內容,根據不同的類型,使用不同的方法。

2、分析這個表格,可以發現,除了數字外,就是漢字,在雙字節字符中,每個漢字算兩個字節,利用此特點,可以算出有多少個漢字、多少個數字,單字節字符數用LEN函數:=LEN(A2)。

3、雙字節字節數用LENB函數,注意下兩者的區分,單字節指字符個數,雙字節指字節個數:=LENB(A2)。

4、二者相減,即可得到文字的個數:=LENB(A2)-LEN(A2)。

5、再用總字符數減去文字個數,即得到要提取出來的數字個數:=LEN(A2)-(LENB(A2)-LEN(A2)),去掉括號,合併起來,公式為:=LEN(A2)*2-LENB(A2)。

6、知道了數字個數,再知道數字開始的位置,就可以用MID函數將數字提取出來了,但是現在不知道數字是從什麼位置開始的,可以使用SEARCHB雙字節查找函數+通配符?來查詢單字節出現的位置:=SEARCHB(?,A2)。

7、這樣提取公式就有了,提取函數也要用雙字節函數:=MIDB(A2,SEARCHB(?,A2),LEN(A2)*2-LENB(A2)),如果用單字節函數也可以,但公式稍長些:=MID(A2,INT(SEARCHB(?,A2)/2)+1,LEN(A2)*2-LENB(A2))。

8、提取結果是文本格式,如果要轉為常規的數字格式,可以在公式前加上--,或者*1,來轉換:=--MIDB(A2,SEARCHB(?,A2),LEN(A2)*2-LENB(A2)),轉換格式後,可以進行下一步的統計運算。

9、如果文字中有空格,直接提取就會出去,需要對原來的內容進行去空格替換後,再提取:=--MIDB(SUBSTITUTE(A2, ,),SEARCHB(?,SUBSTITUTE(A2, ,)),LEN(SUBSTITUTE(A2, ,))*2-LENB(SUBSTITUTE(A2, ,)))。

10、但是上面的方法,只能用於除了數字就是文字的內容提取,如果除此之外,還有其它的字母、符號等單字節字符,就會出錯。

11、對於這種不定型的,可以用數組公式進行提取,從每個字符開始,取出1~若干個字符(比如10個),再加上運算符號進行判斷,取出的是不是數值,再用MAX函數從中取出是數值的最多數字:=MAX(IFERROR(--MID(A2,ROW($1:$30),COLUMN($A:$J)),)),在輸入數組公式時,需要同時按住Ctrl+Shift+Enter結束公式編輯,公式會自動生成一對“{}”。

12、當然,也可以不用上面的數組公式,利用LOOKUP函數的向後兼容性,來提取出數字:=-LOOKUP(1,-MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&0123456789;)),ROW($1:$10))),此公式先判斷數字出現的最小位置,再從此位置開始依次取出若干個字符,最後用LOOKUP函數取出最長數字串的那個數字,即達目的。

13、雖然利用公式,可以從各種不同的混合文本中找出規律提取出數字,但是還是應該養成良好的習慣,在製作表格時,就將其分在不同的列中,有助於後續統計。

標籤: excel 文本 提取
  • 文章版權屬於文章作者所有,轉載請註明 https://xiumeifan.com/zh-hk/shenghuo/jingyan/g31yrj.html