Excel提取带单位数字并求和方法
时间:2026-02-14 15:16:43 401浏览 收藏
在Excel中处理“123元”“45.6千克”这类带单位的文本数字时,直接求和会返回0,必须先提取纯数值——本文系统梳理了四种高效解决方案:针对单位固定的SUBSTITUTE嵌套替换法、适配新版Excel的LET+REDUCE动态数组公式、零公式上手的分列功能,以及应对复杂单位(如“12.5 千克/箱”)的Power Query结构化清洗,无论你是追求快捷、兼容性、批量处理还是长期复用,总有一种方法能精准解决你的痛点,让杂乱文本秒变可计算数据。

如果您在Excel表格中遇到带有单位的文本数字(例如“123元”“45.6千克”“789米”),这些内容被识别为文本而非数值,直接使用SUM函数将返回0。以下是提取纯数值并完成求和的具体操作方法:
一、使用SUBSTITUTE嵌套替换法逐个清除单位
该方法适用于单位固定且字符单一的情况(如统一为“元”“kg”“m”),通过多层SUBSTITUTE函数将所有已知单位替换为空,再用VALUE转为数值。
1、在空白列(如B1)输入公式:=VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"元",""),"千克",""),"米",""))
2、按Enter确认,B1将显示A1中去除单位后的纯数字
3、选中B1单元格右下角填充柄,向下拖拽至覆盖全部数据行
4、在任意空白单元格输入求和公式:=SUM(B1:B100)(根据实际数据范围调整)
二、使用正则表达式风格的数组公式(适用于Microsoft 365或Excel 2021)
该方法利用TEXTJOIN与SEQUENCE生成数字字符序列,配合FILTERXML(需配合XML结构)或更稳定的LET+REDUCE组合,但标准兼容方案推荐使用REGEXREPLACE(仅限支持LAMBDA及正则函数的版本)。此处提供兼容性更强的LET+SUBSTITUTE动态构建方案。
1、在空白单元格输入以下公式(假设数据在A1:A10):=SUM(LET(arr,A1:A10,nums,REDUCE("",arr,LAMBDA(acc,val,acc&TEXTJOIN("",,IF(ISNUMBER(--MID(val,SEQUENCE(LEN(val)),1)),MID(val,SEQUENCE(LEN(val)),1),"")))&",")),--FILTERXML(""&SUBSTITUTE(nums,",","")&"
2、按Ctrl+Shift+Enter(旧版Excel)或直接按Enter(新版)执行数组运算
3、结果即为自动提取并求和的纯数值总和
三、借助分列功能进行非公式批量处理
该方法无需编写公式,适合一次性清洗大量数据,利用Excel内置“分列”工具按指定字符分割,保留左侧纯数字部分。
1、选中含单位的数据列(如A列),点击【数据】选项卡 → 【分列】
2、在向导中选择【分隔符号】→ 点击【下一步】
3、取消所有默认勾选,仅在【其他】框中输入单位字符(如输入“元”,若存在多种单位需分多次操作)→ 点击【下一步】
4、在列数据格式中选择【常规】或【数值】→ 点击【完成】
5、此时原列被拆分为两列,左侧列为纯数字,选中该列后使用=SUM(该列地址)完成求和
四、使用Power Query进行结构化清洗(适用于长期重复处理)
该方法适合单位不统一、含空格或复合单位(如“12.5 千克/箱”)等复杂场景,可保存查询步骤实现一键刷新。
1、选中数据区域 → 【数据】选项卡 → 【从表格/区域】→ 勾选【表包含标题】→ 确定
2、在Power Query编辑器中,右键点击含单位的列 → 【转换】→ 【提取】→ 【非数字字符之前的文本】
3、若上步未完全提取,再点击该列 → 【转换】→ 【数据类型】→ 【小数】或【整数】(自动报错项将变为空)
4、点击【主页】→ 【关闭并上载】→ 数据以新工作表形式载入,其中该列已为数值型
5、在新工作表中对清洗后列使用=SUM(该列)得出结果
今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
327 收藏
-
320 收藏
-
398 收藏
-
388 收藏
-
238 收藏
-
113 收藏
-
429 收藏
-
389 收藏
-
310 收藏
-
360 收藏
-
224 收藏
-
265 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习