如何在 Excel 中仅从文本字符串中提取数字?
在使用 Excel 时,您可能会经常遇到数字与文本混合在同一单元格中的情况,例如“订单 1234”或“得分为 95.6”。为了便于后续分析、计算或生成报告,通常需要从这些文本字符串中精准提取出其中的数值。根据数字位于文本的开头、结尾还是中间,或者是否只需提取小数部分,Excel 提供了多种高效实用的方法来轻松完成这一任务。
本指南将为您介绍多种从 Excel 文本字符串中提取数字的实用方法,覆盖各类常见场景——无论是提取任意位置的数字、处理含小数的情况,还是专门从字符串开头或结尾精准提取数字。每种方法均清晰说明其工作原理、适用场景及高效应用的关键技巧。
从文本字符串的任意位置提取数字
从文本字符串中任意位置提取嵌入的数字是一项常见需求,尤其在清理从不同来源导入的数据或整合多个工作表信息时尤为实用。针对这一场景,有多种高效且灵活的解决方案可供选择,具体取决于您所使用的 Excel 版本以及对公式或插件的熟悉程度。
♦ 使用快速填充从文本字符串的任意位置提取数字
快速填充是 Excel 2013 及更高版本中提供的一项高效实用功能,能根据您演示的模式从文本字符串中智能提取数字。该方法无需使用公式或宏,轻松应对各类简单场景:
1. 在紧邻文本字符串的单元格中,手动输入您希望提取的数字(例如,若 A2 包含“Order 123A”,则在 B2 中输入“123”)。
2. 在下方活动单元格中手动输入初始示例后,按 Ctrl + E(或使用)数据选项卡 > 快速填充),Excel 即可自动向下填充,并从类似单元格中提取数字。
此方法非常适合结构一致的一次性中小型数据集。请注意,快速填充依赖于识别模式——如果您的数据高度不一致,或包含混合的数字与文本顺序,可能无法按预期提取。若快速填充未自动检测,请检查是否已启用:文件> 选项> 高级> 自动快速填充。
♦ 使用公式从文本字符串的任意位置提取数字
使用公式是从文本字符串中提取数字的灵活方式,借助内置函数或动态数组函数,尤其适用于需要在源数据更新时自动刷新结果的场景。
请选择一个空白单元格,用于显示提取出的数字。随后,根据您所使用的 Excel 版本,输入以下任一公式。输入完成后,按需向下拖动填充柄,将公式应用至其他单元格。请参考下图:
● 所有 Excel 版本:
=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"") 此公式兼容所有现代 Excel 版本,若您未使用 Excel 365 或 Excel 2021,它将是您的可靠之选。请注意,包含多个函数的公式可能会影响大型数据集的性能。此外,请确保文本字符串中至少包含一个数字字符,否则公式可能返回空白或错误结果。
● Excel 365 或 Excel 2021 及更高版本:
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, "")) 此公式借助全新的动态数组函数,大幅简化了 Office 365 或 Excel 2021 及更高版本用户的提取操作,无论是简单还是更复杂的字母数字混合场景,都能高效应对。请务必使用兼容的版本,否则公式可能无法按预期正常运行。

提示:当公式中包含混合数字、负数或带有特殊符号的数字时,请务必核对提取结果以确保准确无误。此外,公式默认可能无法识别小数点,如需提取小数,请参阅下方专门章节。若出现意外结果或错误,请仔细检查单元格引用及公式语法。
♦ 使用 Kutools for Excel 从文本字符串的任意位置提取数字
Kutools for Excel 提供了一种直观高效的方式,可从文本字符串的任意位置提取数字,特别适合偏好交互式界面而非复杂公式的用户,也适用于需要批量处理大量数据而无需手动操作的场景,既节省时间,又省去了记忆或排查公式之苦,让任务更轻松。
- 单击 Kutools > 文本 > 提取文本,如下图所示。

- 在提取文本对话框中:
(1.)选择包含文本字符串的单元格列表;
(2.)选择提取数字选项,即可仅提取其中的数字部分;
(3.)如需在源数据更新时自动同步提取结果,请勾选作为公式插入(否则结果将为静态文本);
(4.)单击确定。
- 出现提示时,请选择一个用于输出的空白单元格,并确保预留足够空间,以免覆盖现有数据。

- 单击确定,所选单元格中的数字将立即被提取出来。

此方法操作简便,有效降低公式出错或误用单元格引用的风险。但请注意,Kutools 是一款插件,在标准 Excel 安装中不可用。它不仅非常适合批量操作,也特别适合希望避开复杂函数语法或 VBA 的用户。
如果数字未按预期提取,请仔细检查原文本中是否存在混合格式(例如隐藏字符或非标准数字)。此外,在进行批量更改前,请务必备份工作表。
♦ 使用 VBA 代码从文本字符串的任意位置提取数字
对于高级用户,或在公式与插件无法满足特定需求的情况下,VBA 提供了一种灵活高效的方式,可从 Excel 文本字符串中精准提取数字。该方法高度可定制,尤其适用于自动化重复性任务或处理非标准数据集。
- 按 Alt + F11 打开 VBA 编辑器。在 Microsoft Visual Basic for Applications 窗口中,单击插入 > 模块。然后在新打开的模块窗口中,粘贴以下代码:
- VBA 代码:仅从文本字符串中提取数字:
Sub ExtrNumbersFromRange() Dim xRg As Range Dim xDRg As Range Dim xRRg As Range Dim nCellLength As Integer Dim xNumber As Integer Dim strNumber As String Dim xTitleId As String Dim xI As Integer xTitleId = "KutoolsforExcel" Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8) If TypeName(xDRg) = "Nothing" Then Exit Sub Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8) If TypeName(xRRg) = "Nothing" Then Exit Sub xI = 0 strNumber = "" For Each xRg In xDRg xI = xI + 1 nCellLength = Len(xRg) For xNumber = 1 To nCellLength If IsNumeric(Mid(xRg, xNumber, 1)) Then strNumber = strNumber & Mid(xRg, xNumber, 1) End If Next xNumber xRRg.Item(xI) = strNumber strNumber = "" Next xRg End Sub - 插入代码后,按 F5 或单击运行按钮,将弹出一个提示框,要求您选择要处理的文本字符串范围。

- 选择范围后,单击确定,系统将弹出第二个提示框,要求您指定输出的起始单元格。

- 再次单击确定,原始选择中嵌入的所有数字将被提取并放入您指定的输出区域。
VBA 方法的优势在于能够高效处理大型数据集,并且在掌握基础 VBA 知识的前提下,灵活自定义操作行为(例如仅提取首个数字、处理小数或排除特定符号)。注意事项:VBA 宏操作无法撤销,若所选列表的放置区域与原始数据重叠,可能导致数据被覆盖,因此务必先在备份文件中进行测试。同时,请确保 Excel 中已启用宏功能。
仅从文本字符串中提取小数
有时,您的文本字符串中可能包含带小数点的数字(例如“weight:15.25kg”)。若需精准提取其中的小数部分(含小数点),标准公式可能无法准确识别。以下解决方案专为应对这类场景而设计:
以下公式可高效提取文本字符串中的小数。请在紧邻数据的空白单元格中输入该公式,然后根据需要使用填充柄将其复制到其他行。
● 所有 Excel 版本:
=LOOKUP(9.9E+307,--LEFT(MID(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A2&"1023456789")),999),ROW(INDIRECT("1:999")))) 此公式兼容大多数 Excel 版本,专为在提取过程中准确识别小数点作为数字的一部分而设计。请仔细检查您的数据,确保文本中不含多余句点。若小数未能按预期提取,请核查原始字符串是否存在非标准字符或格式问题。
● Excel 365:
=REGEXEXTRACT(A2,"[\d.]+") 在 Excel 365 中,动态数组能更智能地处理复杂文本字符串并返回提取的小数。在目标单元格中输入公式后,按下 Enter 即可,如有需要再向下扩展公式。

提示:如果您反复得到零值或错误结果而非数字,请确保您的数据包含有效的小数,并且单元格引用准确无误。若您的数字可能同时包含负值和小数,则可能需要对公式进行相应调整。
从文本字符串末尾提取数字
当数字始终出现在文本字符串末尾时(例如“221_ProductID_446”或“923Ticket#2021”),您可能希望精准提取末尾的数字部分(如“446”或“2021”)。本处提供的公式专为这一场景打造,确保只提取文本末尾连续的数字序列。
将以下公式复制并粘贴到空白单元格中:对于较旧版本的 Excel,请使用 Ctrl + Shift + Enter 确认以创建数组公式;对于支持动态数组的新版 Excel,只需按 Enter 即可。
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0))) 向下拖动填充柄,将此公式应用到其他行。此方法最适合格式一致的情形——即每条字符串中仅需提取末尾的数字,并会自动忽略中间或开头出现的数字。

注意:如果您的数据中混有空格、特殊符号,或格式位置不一致,请调整公式,或采用上述更通用的方法。务必仔细核对输出结果是否符合预期,特别是当文本末尾包含形似数字的非数字字符时。
从文本字符串开头提取数字
如果您只需提取文本字符串开头的数字,专用公式可精准帮您分离出该部分。
将公式置于空白目标单元格中;对于较旧版本的 Excel,请使用 Ctrl + Shift + Enter 创建数组公式(在 Excel 365/2021 中,只需按 )Enter):
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1) 随后,将公式向下拖动至所有需要提取的行。此方法仅提取字符串开头的数字部分——即使字符串其他位置还包含更多数字,也只会捕获开头的数字。

提示:若字符串的首字符非数字,此公式可能返回空白或错误。请根据需要检查并清理原始数据,以确保获得最佳效果。
从文本字符串中提取数字是 Excel 数据准备中常见且关键的任务。具体方法需根据您的数据结构、Excel 版本以及对公式或插件的熟悉程度来选择。若上述方案不适用于您的场景,可尝试组合多种方法,或探索其他专用插件以满足更高级的需求。为避免常见问题,建议检查提取结果的一致性、保留备份副本,并从小规模数据样本开始测试。
相关文章:
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……
Office Tab 为 Office 带来标签式界面,让您的工作更轻松
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!
所有 Kutools 插件,一个安装程序
Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱





