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

您的位置: 首页 > 文章列表 > 系统应用 > 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删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
  • Win11蓝屏代码0x00000050怎么修复 正版软件
    Win11蓝屏代码0x00000050怎么修复
    Win11出现蓝屏0x00000050,通常按这五步排查最有效:第一,先禁用或卸载远程控制软件、杀毒软件以及游戏反作弊驱动;第二,运行mdsched.exe做内存检测,再到事件查看器里核对结果;第三,执行sfc、DISM和chkdsk,分别修复系统文件与磁盘问题;第四,进入安全模式卸载那些顽固驱动;
    5小时前 17:10 0
  • Linux怎么查看具体的进程被强制杀掉原因表 正版软件
    Linux怎么查看具体的进程被强制杀掉原因表
    退出码137表示进程被SIGKILL(信号9)强制终止,原因不限于OOM,还可能是手动kill、systemd终止或cgroup内存超限;需结合dmesg日志、OOMKilled标记及auditd审计综合定位真实源头。进程退出码 137 就是 SIGKILL,但不等于 OOM 很多人一看到 echo
    8小时前 14:03 0
  • Linux怎么查看响应波动归因表 正版软件
    Linux怎么查看响应波动归因表
    定位响应时间波动需交叉比对四组指标:/proc/interrupts增量节奏、/proc/softirqs中NET_RX模式、mtr跳点StDev与Wrst、curl各阶段耗时,时间对齐后可精准归因中断瓶颈、队列溢出或网络拥塞。Linux 没有叫“响应波动归因表”的标准概念或文件,你真正想找的,是*
    8小时前 14:02 0
  • Linux怎么查看网络丢包的具体原因 正版软件
    Linux怎么查看网络丢包的具体原因
    排查丢包时,先盯住/proc/net/dev里的Rx-DRP和Rx-OVR,通常就能把问题快速分层定位清楚:如果Rx-OVR>0,基本可以判断是Ring Buffer溢出,也就是硬件级丢包;如果Rx-DRP>0且Rx-OVR==0,那问题多半出在内核协议栈这一层。再往下,就配合ethtool -S去
    8小时前 14:01 0
  • Ubuntu如何设置具体的系统开机自检进度图 正版软件
    Ubuntu如何设置具体的系统开机自检进度图
    如果想让 Ubuntu 在启动时把内核日志完整显示出来,不能只改一处。除了删除 /etc/default/grub 里的 quiet splash,还得把 /etc/grub.d/10_linux 中的 gfxmode $linux_gfx_mode 这一行一并去掉,然后执行 sudo update
    8小时前 14:01 0