跳至主要内容

从文本字符串中删除或去除非数字字符

Author: Xiaoyang Last Modified: 2025-07-31

有时,您可能需要从文本字符串中删除所有非数字字符,只保留如下截图所示的数字。本文将介绍一些在 Excel 中解决此任务的公式。

doc-strip-non-numeric-1


使用公式删除或去除文本字符串中的所有非数字字符

在 Excel 2019 和 Office 365 中,新的 TEXTJOIN 函数结合 IFERROR、MID、ROW 和 INDIRECT 函数可以帮助您从文本字符串中提取仅数字,通用语法为:

=TEXTJOIN("",TRUE,IFERROR(MID(text,ROW(INDIRECT("1:100")),1)+0,""))
  • text:要删除所有非数字字符的文本字符串或单元格值。

1. 请复制或在空白单元格中输入以下公式以输出结果:

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))

2. 然后,按 Ctrl + Shift + Enter 键一起获取第一个结果,见截图:

doc-strip-non-numeric-2

3. 接着,选择公式单元格,然后向下拖动填充柄到您想应用该公式的单元格,只有数字被提取出来,所有其他非数字字符都被去除了,见截图:

doc-strip-non-numeric-3


公式解释:

ROW(INDIRECT("1:100"):INDIRECT 公式中的数字 1:100 表示 MID 函数会评估文本字符串的 100 个字符。这个数组将包含 100 个数字,像这样:{1;2;3;4;5;6;7;8....98;99;100}。注意:如果您的文本字符串更长,您可以根据需要将数字 100 改为更大的数字。

MID(A2,ROW(INDIRECT("1:100")),1:此 MID 函数用于提取 A2 单元格中的文本以获取单个字符,并将生成类似这样的数组:{"5";"0";"0";" ";"K";"u";"t";"o";"o";"l";"s";" ";"f";"o";"r";" ";"E";"x";"c";"e";"l";"";"";"";"";"";""...}

MID(A2,ROW(INDIRECT("1:100")),1)+0:在此数组后添加 0 值是为了强制将文本转换为数字,数字文本值将被转换为数字,而非数字值将显示为 #VALUE 错误值,像这样:{"5";"0";"0";#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE! !;#VALUE! !;#VALUE!...}

IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0:此 IFERROR 函数用于将所有错误值替换为空字符串,像这样:{"5"; "0";"0";"";""; "";"";"";"";"";""; … }

TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,"")):最后,此 TEXTJOIN 函数将由 IFFERROR 函数返回的数组中的所有非空值组合起来并返回结果。

doc-strip-non-numeric-4


注意事项

1. 使用上述公式,数字将以文本格式返回,如果您需要真实的数值,请使用此公式,记得同时按下 Ctrl + Shift + Enter 键以获得正确结果。

=TEXTJOIN("",TRUE,IFERROR(MID(A2,ROW(INDIRECT("1:100")),1)+0,""))+0

2. 在早期版本的 Excel 中,此公式将不起作用,在这种情况下,以下公式可能会帮助您,请将此公式复制或输入到空白单元格中:

=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)

doc-strip-non-numeric-5


通过一个简单功能删除或去除文本字符串中的所有非数字字符

也许,记住上述公式太难了,这里我将向您介绍 Kutools for Excel,使用其 删除特定字符 功能,您只需点击几下即可从文本字符串中删除数字、字母、不可打印或字母数字字符。 点击免费试用 Kutools for Excel!


相关函数:

  • TEXTJOIN
  • TEXTJOIN 函数使用特定分隔符连接来自行、列或单元格范围的多个值。
  • MID
  • MID 函数用于查找并返回给定文本字符串中间的特定数量的字符。
  • ROW
  • Excel 的 ROW 函数返回引用的行号。
  • INDIRECT
  • Excel 的 INDIRECT 函数将文本字符串转换为有效引用。
  • IFERROR
  • IFERROR 函数用于在公式计算出错误时返回自定义结果,并在没有发生错误时返回正常结果。

更多文章:


最佳的办公生产力工具

Kutools for Excel - 助您脱颖而出

🤖 Kutools AI 助手:基于智能执行革新数据分析:智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数
热门功能查找、高亮或标记重复项  |  删除空行  |  合并列或单元格而不丢失数据  |  无需公式四舍五入 ...
超级 VLookup多条件  |  多值  |  跨多表  |  模糊查找...
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表...
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见状态  比较列以 选择相同和不同单元格 ...
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿与工作表管理器 | 资源库(自动文本)  |  日期提取  |  合并工作表  |  加密/解密单元格  |  按列表发送电子邮件  |  超级筛选  |  特殊筛选(筛选粗体/斜体/删除线...) ...
排名前 15 的工具集12 个文本工具添加文本删除特定字符 ...)  |  50+ 种图表 类型甘特图 ...)  |  40+ 实用 公式基于生日计算年龄 ...)  |  19 个插入工具插入二维码从路径插入图片 ...)  |  12 个转换工具小写金额转大写汇率转换 ...)  |  7 个合并和拆分工具高级合并行拆分 Excel 单元格 ...)  |  ... 更多功能
使用您偏好的语言来操作 Kutools - 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...


Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑

  • 一秒内在数十个打开的文档之间切换!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,您的生产力可提升 50%。
  • 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。