商城首页欢迎来到中国正版软件门户

您的位置:首页 >Excel提取数字方法及公式教程

Excel提取数字方法及公式教程

  发布于2026-03-11 阅读(0)

扫一扫,手机访问

可使用SUBSTITUTE与TEXTJOIN组合、数组公式或VBA自定义函数提取混合文本中的数字:一、TEXTJOIN+MID提取全部数字;二、LOOKUP+MID提取首个连续数字串;三、VBA函数遍历拼接所有数字字符。

Excel怎么提取数字_Excel文本中分离数字公式【教程】

如果Excel单元格中混合了文字和数字,需要将其中的数字单独提取出来,则可能是由于文本格式导致常规方法无法直接识别数值。以下是实现该目标的多种公式方法:

一、使用SUBSTITUTE与TEXTJOIN组合提取所有数字

该方法通过逐个替换非数字字符为空,再用TEXTJOIN连接剩余数字字符,适用于Excel 365或Excel 2019及以上版本。其核心是将文本拆解为单字符,判断是否为数字后保留。

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、若A1内容为“abc123def45”,则结果返回“12345”。

二、使用数组公式配合SUMPRODUCT提取首个连续数字串

该方法适用于仅需提取文本开头或中间第一个连续数字序列的场景,不依赖高版本函数,兼容Excel 2007及以上。

1、输入以下公式:=LOOKUP(9E+307,--("0"&MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),ROW(INDIRECT("1:"&LEN(A1))))))

2、按Ctrl+Shift+Enter完成数组公式录入。

3、若A1为“订单号:XZ20240512-001”,则返回“20240512”。

三、借助VBA自定义函数提取全部数字

当公式复杂度高或需频繁调用时,可创建自定义函数。该函数遍历每个字符,拼接所有数字字符并返回纯数字字符串。

1、按Alt+F11打开VBA编辑器。

2、插入新模块,在代码窗口中粘贴以下代码:Function ExtractNumbers(r As Range) As String Dim s As String, c As String, i As Long s = r.Value For i = 1 To Len(s) c = Mid(s, i, 1) If c >= "0" And c <= "9" Then ExtractNumbers = ExtractNumbers & c Next i End Function

3、关闭编辑器,返回工作表,在任意单元格输入=ExtractNumbers(A1)即可调用。

四、使用Power Query从文本列批量提取数字

适用于大量数据清洗场景,无需编写公式,通过图形界面操作即可生成可刷新的数字提取流程。

1、选中数据列,点击数据 → 从表格/区域,勾选“表包含标题”,确定加载至Power Query编辑器。

2、右键该列 → 转换 → 提取 → 数字 → 选择“仅提取数字”。

3、点击主页 → 关闭并上载,结果将自动写入新工作表。

本文转载于:互联网 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。