Menu

Excel #VALUE! 错误:原因和解决方法

#VALUE! 表示公式得到了类型不对的值,最常见的是需要数字的地方出现了文本:C2 中是 "n/a" 或一个空格时,=B2+C2 就会出错。SUM 会忽略文本,所以 =SUM(B2:C2) 能正常计算。

本页的每张表格都是实时的:修改数字或公式,就会重新计算。

#VALUE! 表示公式得到了类型不对的值,几乎都是需要数字的地方出现了文本。只要有一个单元格是 n/a,=B2+C2+D2 就会返回 #VALUE!,而 =SUM(B2:D2) 会跳过文本,把数字相加。

用 + 相加与用 SUM 相加
E3
ABCDEF
1RepJanFebMarTotal with +Total with SUM
2Ana12095110325325
3Ben80n/a105#VALUE!185
4Cy140130125395395
5Dee9010085275275
#VALUE! 某个参数类型不对,比如该填数字的地方填了文本。

E3 显示 #VALUE!,因为 C3 中是文本 n/a。F3 显示 185:SUM 把 80 和 105 相加,忽略了文本。在 C3 中输入一个数字,两个合计就一致了。单击 E3,可以在表格下方看到错误说明。

+、-、*、/ 和 ^ 运算符会尝试把每个操作数都转换成数字。对于看起来像数字的文本("5")或 Excel 能识别的日期,转换会成功,其他内容则会失败。而 SUM、AVERAGE、MIN、MAX 和 PRODUCT 这些函数会跳过区域中的文本。

看起来是空的单元格里有一个空格

这是最难发现的 #VALUE!:单元格看起来是空的,但有人在里面输入了一个空格,或者从其他系统导入时带了一个空格。真正的空单元格在算术运算中算作 0,而空格是文本。

看不见的空格
D3
ABCDE
1ItemPriceDiscountNet priceCharacters in C
2Desk240202202
3Chair85 #VALUE!1
4Lamp40400
#VALUE! 某个参数类型不对,比如该填数字的地方填了文本。

C3 和 C4 看起来都是空的,但 D3 显示 #VALUE!,D4 显示 40。LEN 列暴露了问题:C3 中有一个字符,是空格。单击 C3,把它删除,D3 就会显示 85。

要在 Excel 中清理整列,选中这一列,按 Ctrl+H(Mac 上也是 Control+H),在 查找内容 中输入一个空格,替换为 留空,然后单击 全部替换。这样也会删除文本内部的空格,所以只对数字列这样做。文本请用 TRIM 处理。

以文本存储的日期导致 #VALUE!

以文本形式输入的日期,只要符合你的区域日期格式,Excel 就能识别,所以 "2026-03-15"+30 在任何地方都能用。但对于设置为美国英语的 Excel,15.03.2026 这样的日期并不是日期,而是文本,给它加上天数就会得到 #VALUE!。

美国版 Excel 中的“日.月.年”文本
B3
ABC
1DeliveredDue (+30 days)Fixed
22026-03-152026-04-14
315.03.2026#VALUE!2026-04-14
#VALUE! 某个参数类型不对,比如该填数字的地方填了文本。

B2 显示 2026-04-14:ISO 格式的文本被识别成了日期。B3 显示 #VALUE!。C3 用 RIGHT、MID 和 LEFT 从文本中取出年、月、日,用 DATE 构造一个真正的日期,再加上 30 天:同样得到 2026-04-14。

处理整列时,数据 > 分列 更快:单击两次 下一步,在第 3 步中选择 日期 和 DMY,然后单击 完成。文本日期通常来自 CSV 文件,或者从网页复制粘贴而来。更多构造日期的方法,请看 DATE 函数一文。

函数得到了无法使用的参数

当函数收到的参数类型正确但取值不可能,或者参数类型不对时,也会出现 #VALUE!。

函数无法使用的参数
B2
ABC
1CodeResultWhat is wrong
2AB-1042#VALUE!negative length
3AB-1042#VALUE!start position 0
4AB-1042#VALUE!column number 0
55#VALUE!text typed as an argument
#VALUE! 某个参数类型不对,比如该填数字的地方填了文本。

每个公式都违反了一条规则:LEFT 不能取负数个字符,MID 从 1 开始计数,VLOOKUP 的列号从 1 开始,AVERAGE 会跳过区域中的文本,但不会跳过直接写在公式里的文本。把 B2 中的 -1 改成 2,它就会返回 AB。

还有两个原因,都和 Excel 版本或其他文件有关:

  • 旧版 Excel 中的数组公式。 在 Excel 2019 及更早版本中,作用于整个区域的公式,例如 =SUM(IF(A2:A10="North",B2:B10)),必须按 Ctrl+Shift+Enter(Mac 上按 Cmd+Shift+Enter)确认。只按 Enter 可能会返回 #VALUE!。Excel 2021 和 Microsoft 365 不需要这样做。
  • SUMIF 或 COUNTIF 引用了已关闭的工作簿。 这些函数只能在其他工作簿打开时读取它们。打开源文件,或者改用 SUMPRODUCT,它在文件关闭时也能工作。

找到导致 #VALUE! 的单元格

一个引用了多个单元格的长公式,可能因为其中任何一个而出错。在 Excel 中:

  1. 选中公式所在的单元格,选择 公式 > 公式求值。反复单击 求值:Excel 会一步一步地计算公式,并显示 #VALUE! 最先出现的位置。
  2. 或者选择 公式 > 错误检查 > 追踪错误,箭头会指向相关的单元格。
  3. 用 =ISTEXT(C3) 或 =LEN(C3) 检查可疑的单元格。在单元格中靠左对齐的数字通常是文本;转换方法请看 文本转数字。

修正公式,而不是隐藏错误

=IFERROR(B2+C2+D2,0) 会把 #VALUE! 变成 0,但对 Ben 来说这个 0 是错的:在有数据的月份里,他卖出了 185。应该写一个会跳过文本的合计公式。

跳过文本的合计
E2
ABCDE
1RepJanFebMarTotal
2Ana12095110
3Ben80n/a105185
4Cy140130125395
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: C3 中的 n/a 会让 + 相加出错。在 E2 中写一个公式,把 Ana 三个月的数据相加,并且在其中某个月是文本时也能正常计算。

“检查”还会在表格的副本上测试你的公式,这些副本中 n/a 位于 Ana 这一行,所以用 + 的公式在那里会出错。当一个文本单元格在非求和的计算中应该算作 0 时,可以把它包起来:=N(C3) 对文本返回 0,对数字返回数字本身;=IFERROR(C3*1,0) 还能把看起来像数字的文本(例如 '5)变成 5。

常见问题

Excel 中 #VALUE! 是什么意思?

公式收到了类型不对的值:通常是本该是数字的地方出现了文本,例如 C2 中是 n/a 或一个空格时的 =B2+C2。函数得到一个无法使用的参数时也会出现,例如 =LEFT(A2,-1)。

为什么用加号相加会出现 #VALUE!,而 SUM 却正常?

+ 运算符会尝试把每个操作数都转换成数字,遇到文本就会失败,所以只要有一个单元格是文本,=B2+C2+D2 就返回 #VALUE!。=SUM(B2:D2) 会跳过区域中的文本,把其中的数字相加。

Excel 中日期出现 #VALUE! 怎么解决?

这个日期是文本,而 Excel 按你的区域设置无法把它识别为日期,例如在设置为美国日期格式的 Excel 中输入 15.03.2026。用 =DATE(RIGHT(A2,4),MID(A2,4,2),LEFT(A2,2)) 重新构造日期,或者用 数据 > 分列 转换整列,并在第 3 步中选择 DMY 日期格式。

怎么找到导致 #VALUE! 的单元格?

选中公式,使用 公式 > 公式求值 逐步计算;或者选择 公式 > 错误检查 > 追踪错误,画出指向相关单元格的箭头。一个看起来是空的单元格,如果 =LEN(C2) 返回 1,说明里面有一个空格。

Excel 中怎么隐藏 #VALUE!?

=IFERROR(B2+C2,0) 会用 0 代替任何错误。更好的做法是修正原因,或者使用会跳过文本的公式,例如 =SUM(B2:C2),因为 IFERROR 也会把你本该看到的错误一起隐藏。

Coddy 编程语言插图

和 Coddy 一起学编程

开始