Excel 提取数字和文字的公式方法

单元格里数字和文字混在一起,如何用公式分别取出数字或文字?本文讲清判断思路、可直接套用的公式、快速填充和分列的适用场景,以及提取后如何逐项核对。

很多表格的一个单元格里同时放着数字和文字,比如"订单 A123 共 45 件,已发货",或者"张三 13800001111 已付"。要把其中的数字单独取出来做统计,或者只留下文字做分类,手动一个个复制很费时间,而且容易出错。这篇写给经常整理表格的人,讲的是内容长度不固定、位置不规则时,怎样用公式把数字或文字提出来。

读完你能得到三样东西:一个判断思路,两条可直接改用的公式,以及一份提取后的核对清单。文中的公式以 A1 单元格为例,用的时候替换成你自己的单元格地址即可。

怎么从混合内容里提取数字或文字?一句话结论:逐个字符判断,再把符合条件的字符拼起来

LEFT、RIGHT、MID 这类函数适合位数固定的内容,比如身份证号的前 6 位。混合文本的数字位置和长度每行都可能不同,按位数截取会漏掉或多取。更稳妥的思路是:把单元格拆成单个字符,逐个判断它是不是数字,最后把符合条件的字符按原顺序拼回去。

你的情况推荐做法原因
数字和文字混在一起,数量不固定,Excel 版本较新用 TEXTJOIN 加 MID 和 ISNUMBER 的数组公式一条公式就能取出全部数字,结果随内容自动变化
同样的情况,但版本较旧,没有 TEXTJOIN用辅助列逐字拆开,再用 & 连接不依赖新函数,每一步都能看到中间结果
文字有固定规律,如"数量:12"这种格式快速填充(常见快捷键 Ctrl+E)只需示范一两个结果,不用写公式
数字和文字之间有固定的符号分隔分列,按分隔符切分操作直观,适合整列数据一次处理完
数据在 PDF 里,无法直接复制先用 OmniDoc 的 PDF 编辑器 OCR 并导出为 Excel,再套用上面的方法扫描件的文字需要先识别成表格内容

开始之前:先确认这几点

先看数据的样子。 打开几行真实数据,留意数字是否带小数点、千分位逗号或负号,文字中间有没有夹杂字母和符号。这些细节决定公式要不要改,忽略它们,结果会悄悄出错。

确认 Excel 版本。 TEXTJOIN 需要较新的版本。不确定时,在空白单元格输入 =TEXTJOIN(",",TRUE,"a","b"),能算出 a,b 就说明可以用。否则按后面的辅助列方法做。

想好结果放在哪里。 结果建议放在新的列,不要覆盖原数据。原内容保留着,万一公式写错,还能对照修改。

区分"取数字"与"取数值"。 公式取出的数字通常是文本格式,看起来是数字,却不能直接求和。这一点在后面的核对里会再提醒。

多行数据要统一格式。 如果有的行用全角括号、有的用半角,逐字符判断的结果可能不一致。先用查找替换统一符号,能减少返工。

在 Excel 里提取混合单元格中数字的步骤

  1. 在 B 列(或任一空白列)的第一行输入提取公式,例如 =TEXTJOIN("",TRUE,IF(ISNUMBER(--MID(A1,ROW(INDIRECT("1:50")),1)),MID(A1,ROW(INDIRECT("1:50")),1),""))。
  2. 公式中的 INDIRECT("1:50") 表示只检查前 50 个字符,单元格内容更长时把 50 改大。
  3. 如果需要三键确认,按 Ctrl+Shift+Enter;新版本 Excel 直接按回车即可。
  4. 向下拖动填充柄,把公式复制到其他行,逐行核对结果是否符合原文。
  5. 若数字中包含小数点,把条件改为 IF(OR(ISNUMBER(--MID(A1,ROW(INDIRECT("1:50")),1)),MID(A1,ROW(INDIRECT("1:50")),1)="."),...),否则小数点会被去掉。
  6. 对需要计算的结果,选中该列,用"分列"或在前面加 0 的方式把文本转为数值,再求和。
  7. 若原文在 PDF 中,先用 OmniDoc 桌面客户端的 PDF 编辑器对扫描件做 OCR,再导出为 Excel,把得到的文字粘贴到 A 列后,再执行上面的步骤。

同一方法提取文字:去掉数字,只保留文字

要只保留文字,把判断条件反过来:不是数字的字符才保留。公式为 =TEXTJOIN("",TRUE,IF(ISERROR(--MID(A1,ROW(INDIRECT("1:50")),1)),MID(A1,ROW(INDIRECT("1:50")),1),""))。

这条公式会保留空格、标点和符号。如果只想要纯汉字或字母,可以先用这条公式提取,再用 SUBSTITUTE 把多余的符号替换为空。比如"已付 款"这种内容,去掉空格后再做分类,结果会更整齐。

做完后逐项核对

提取完成后,不要直接使用结果,按下面的清单逐项检查。

检查项怎么看有问题怎么办
数字是否完整抽取 5 到 10 行,与原文对照,看位数是否一致检查是否超过 50 个字符的范围,扩大后重新填充
小数点和负号原文有"-"或"."的行是否保留按第 5 步修改判断条件,把小数点和负号纳入保留范围
能否参与计算用 SUM 对结果求和,看是否为 0 或报错结果为文本时,用分列或乘以 1 转为数值
文字是否混入残留符号看文字结果中是否有多余的空格或标点用 SUBSTITUTE 替换掉需要去掉的符号
扫描件识别是否正确对照 PDF 原图检查关键数字数字、金额等关键内容逐一人工核对,OCR 结果不能直接用作正式数据

📊 核心对比:公式、快速填充和分列怎么选?

三种方法各有适合的情况。内容复杂、需要随数据变化自动更新时,用公式;规律明显、只处理一次时,用快速填充;有固定分隔符、想一次切成多列时,用分列。

方法适合的情况优点局限
公式(TEXTJOIN、MID、ISNUMBER)数字和文字混杂,位置和长度不固定灵活、可复用,数据更新后结果会跟着变写法有一定学习成本,旧版 Excel 需要用辅助列替代
快速填充(Ctrl+E)文字有明显规律,如"数量:12"上手快,只需示范一两个结果依赖规律,格式混乱时结果可能不准,需逐行检查
分列数字和文字之间有空格、逗号、横线等固定分隔符操作直观,整列一次切完没有分隔符的混合文本无法处理

🎯 哪种做法适合你?

如果你每周都要处理同类表格,内容格式相对稳定,把公式写进模板省力。如果只是偶尔处理一份数据,且规律明显,快速填充示范一次即可。如果数据本身就是用符号隔开的,直接用分列,几秒钟就能完成。

❓ 常见问题(FAQ)

1. 为什么提取出来的数字不能求和?

公式取出的数字通常是文本格式,单元格左上角可能有绿色三角提示。选中该列后用"分列"直接完成,或在空白单元格输入 1 并复制,再用选择性粘贴的"乘"运算,都可以把文本转为数值。

2. 怎么从文字中提取数字,只取第一个数字?

逐字符提取会把所有数字拼在一起。只要第一段数字,需要先找到第一个数字的位置,再从该位置截取,过程比较繁琐。内容规律时,用快速填充示范一个结果,通常更省事。

3. 旧版 Excel 没有 TEXTJOIN 怎么办?

在辅助列中用 MID 把每个字符拆成单独一格,每格用 ISNUMBER 判断,符合条件的保留,不符合的留空。最后用 & 把各列连接起来。步骤多一点,但每一步都能看到结果,便于检查。

4. 数据在 PDF 里,能直接用这些公式吗?

PDF 里的文字需要先变成 Excel 的单元格内容。文字可以复制时,直接粘贴即可;扫描件要先做 OCR 识别,OmniDoc 桌面客户端的 PDF 编辑器支持 OCR 并可导出为 Excel,导出后再套用上面的方法。识别结果仍需对照原件核对。

📝 总结

表格里数字和文字混在一起时,按位数截取往往不够用,逐字符判断再拼接,通常更稳妥。先看清数据格式,选对公式或快速填充、分列,提取后再抽样核对,表格提取数字的结果才可靠。

打开 OmniDoc,处理你的表格文件

更新于 2026-11-04