总和显示 0,但整列都是数字(文本型数字)
测试用例
1
2
3
重置
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。
测试用例
1
2
3
重置
提交
A
B
C
D
E
F
G
1
2
3
4
5
6
7
8
9
10
○ 就绪 请在高亮的目标单元格输入公式,然后点「提交」。
题目
题目说明
月报上这列五张发票的合计显示 0(B2:B6)。金额是从系统导出的,被存成文本,所以 SUM 认为没有东西可加。把真正的总额填进 Correct total 单元格 E2。
必须在公式里把文本转成数字——你无法重新输入这一列。
题目数据
用表格查看整份数据(可选中、可复制)
| A | B | D | E | |
|---|---|---|---|---|
| 1 | Invoice | Amount | Report (wrong) | 0 |
| 2 | INV-901 | 1200 | Correct total | |
| 3 | INV-902 | 800 | ||
| 4 | INV-903 | 950 | ||
| 5 | INV-904 | 600 | ||
| 6 | INV-905 | 400 |
知识点
SUM 会忽略文本,而导入时把数字包成文本,就等于让整列对 SUM 失效。SUMPRODUCT(--区域) 会把每个值强制转成数字(-- 是两个负号),SUM(VALUE(区域)) 则是显式转换。快速判断法:文本型数字靠左对齐,真正的数字靠右。
解题思路
答案写在 E2。提交时我们会换 3 组输入重跑你的公式,写死数字一定过不了 —— 公式必须跟着单元格走。
- 目标单元格是 E2
- SUM 得到 0 是因为那些是文本、不是数字
- 要先把区域转成数字
- 公式形状:=SUMPRODUCT(--?) 或 =SUM(VALUE(?))
官方解法
展开 2 种解法(建议先自己试一次)
解法 1:用两个负号强制转换
=SUMPRODUCT(--B2:B6)
两个负号把每个文本型数字变成真正的数字,SUMPRODUCT 再求和:1200 + 800 + 950 + 600 + 400 = 3950。不需要辅助列,也不用重打。
解法 2:SUM 里包 VALUE
=SUM(VALUE(B2:B6))
VALUE 明确地逐格转换,SUM 再对数组求和。结果相同,而且更贴近实际发生的事——在 Excel 2019 及更早版本要按 Ctrl+Shift+Enter。
常见问题
明明有数字,为什么 SUM 返回 0?
那些是文本而不是数字,通常来自导出或从网页粘贴。可以用 SUMPRODUCT(--区域)、SUM(VALUE(区域)) 或乘 1 来转换。
怎么不点每一格就知道是文本型数字?
看对齐:文本型数字靠左,真正的数字默认靠右。靠左的数字就是文本值的指纹。