可使用SUBSTITUTE与TEXTJOIN、SUMPRODUCT数组公式或辅助列MID+CODE三种方法提取混合单元格中的数字;第一种适用于Excel 365/2019,后两种分别兼容旧版本及适合初学者。

如果您在Excel中面对包含数字和文字混合的单元格,需要单独提取其中的数字部分,则可能是由于原始数据格式不统一导致常规复制粘贴无法直接分离数值。以下是实现该目标的多种函数组合方法:
一、使用SUBSTITUTE与TEXTJOIN组合提取数字(适用于Microsoft 365或Excel 2019及以上版本)
该方法利用TEXTJOIN函数跳过非数字字符,配合SUBSTITUTE逐个替换掉所有字母、符号等非数字内容,最终拼接剩余数字字符。
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则仅按Enter即可)。
3、将公式向下填充至其他对应行。
二、使用数组公式+SUMPRODUCT提取纯数字(兼容Excel 2007及以上)
此方法适用于单元格中仅含**单个连续数字串**的情形,通过逐字符判断并构造10进制权重,最终计算出该数字的数值结果。
1、在空白单元格中输入公式:
=SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))*ROW(INDIRECT("1:"&LEN(A1))),),0),ROW(INDIRECT("1:"&LEN(A1)))),1)*10^ROW(INDIRECT("1:"&LEN(A1)))/10)
2、按Ctrl+Shift+Enter确认为数组公式。
3、复制该单元格并粘贴至其余需处理的行。
三、借助辅助列与MID+CODE分步提取(通用性强,适合初学者)
该方法通过建立字符位置索引,逐位判断ASCII码是否落在数字区间(48–57),再用MID提取对应字符,最后合并成数字字符串。
1、在B1单元格输入公式:
=IF(AND(CODE(MID($A1,COLUMN(A1),1))>=48,CODE(MID($A1,COLUMN(A1),1))
2、将B1公式向右拖拽至足够列数(例如Z1),覆盖原单元格最大可能长度。
3、在AA1输入:
=CONCAT(B1:Z1)
4、将AA1结果复制后选择性粘贴为数值,清除辅助列。










