Excel表格中经常会出现“文字+数字”混合在同一个单元格的情况,如果需要把其中的数字单独提取出来进行计算,可以通过REGEXP函数快速完成数字提取。

一、用REGEXP提取单元格中的数字

假设A列存放姓名和金额的混合内容,需要在B列提取金额。

选中B2单元格,输入:

=SUM(REGEXP(A2,"[0-9.]+")*1)

按回车后,Excel会自动识别A2中的数字内容,并将其转换为数值。随后向下填充公式,就可以批量处理整列数据。

Excel混合文本怎么提取数字?REGEXP函数一键解决-趣帮office教程网
REGEXP函数

二、公式解析

这个公式实际上分成三个步骤:

  • REGEXP(A2,"[0-9.]+"):利用正则表达式从文本中寻找数字。
  • *1:把提取出来的文本数字转换成真正的数值。
  • SUM():当一个单元格中存在多个数字时,可以将提取出的数字进行汇总。

例如A2内容是“苹果5个,香蕉3个,橘子2个”,使用:=SUM(REGEXP(A2,"[0-9]+")*1)

即可提取出5、3、2,并计算得到10。

三、根据实际内容修改提取规则

REGEXP函数的优势在于可以通过修改正则表达式控制提取内容。

如果只需要提取整数,可以使用:

=SUM(REGEXP(A2,"\d+")*1)

如果只提取“元”字前面的金额,可以使用:

=SUM(REGEXP(A2,"[0-9.]+(?=元)")*1)

这样可以避免把其他无关数字一起提取出来。

四、使用时需要注意

REGEXP函数属于较新的Excel函数,并不是所有旧版本都支持。如果输入公式后提示函数不存在,需要确认当前Excel版本是否支持REGEXP相关功能。

总结

Excel中遇到文字和数字混合的数据时,可以利用REGEXP函数+正则表达式快速提取数字。简单的数据用[0-9.]+即可处理,如果需要提取特定位置或特定单位前的数字,需要调整正则表达式。