
首先使用公式提取連續數字,再通過FIND與MID組合提取首個數字段,接著用VBA自定義函數遍歷字符獲取所有數字,最后利用PowerQuery批量處理數據并提取數字。
如果您在處理包含文字與數字混合的單元格時,希望僅提取其中的數字部分,可以使用多種方法實現。Excel本身不提供直接提取數字的內置函數,但可以通過公式組合或工具輔助完成。
本文運行環境:DellXPS13,Windows11
一、使用公式提取連續數字
通過嵌套函數組合可以從文本開頭或中間提取連續的數字字符。此方法適用于數字位于文本前段且連續的情況。
1、在目標單元格中輸入以下數組公式:=TEXTJOIN("",TRUE,IF(ISNUMBER(--MId(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),MId(A1,ROW(INDIRECT("1:"&LEN(A1))),1),""))
2、輸入完成后按Ctrl+Shift+Enter確認,Excel會自動添加花括號表示數組公式。
3、將公式向下填充以應用到其他行。
二、提取首個連續數字段(適用于含多個數字的文本)
當單元格中包含多個數字片段時,可通過此方法提取第一個出現的數字序列。
1、使用FIND定位第一個數字出現的位置:=MIN(IF(ISNUMBER(--MId(A1,ROW(INDIRECT("1:"&LEN(A1))),1))*1,ROW(INDIRECT("1:"&LEN(A1)))))
2、結合MID函數提取從該位置開始的連續數字:=IFERROR(MId(A1,MATCH(TRUE,ISNUMBER(--MId(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0),SUMPRODUCT(--ISNUMBER(--MId(MId(A1,MATCH(TRUE,ISNUMBER(--MId(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0),LEN(A1)),ROW(INDIRECT("1:"&LEN(A1))),1)))),"")
3、同樣需以Ctrl+Shift+Enter輸入數組公式。
三、使用VBA自定義函數提取所有數字
VBA能夠遍歷每個字符并判斷是否為數字,適合復雜場景下的靈活處理。
四、利用PowerQuery拆分并提取數字
PowerQuery適合批量處理大量數據,通過字符拆分和篩選實現數字提取。
1、選擇數據區域,點擊「數據」選項卡中的「從表格/區域」加載至PowerQuery。
2、在PowerQuery器中選中目標列,點擊「轉換」→「格式」→「提取」→「僅數字」。
3、若無此選項,可手動添加自定義列,使用表達式:Text.Select([Column1],{"0".."9"})
4、點擊「關閉并上載」,結果將寫回Excel工作表。
以上就是excel怎么提取單元格中的數字_excel從混合文本中提取數字的方法的詳細內容,!

