Menu

Excel 怎样把文本转换为数字:VALUE 等方法

=VALUE(A2) 把 '120 这样以文本形式存储的数字变成数字 120。两个负号 =--A2 也能做到,NUMBERVALUE 能处理用逗号作小数点的数字,“转换为数字”则可以就地修正单元格。

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

=VALUE(A2) 把 A2 中以文本形式存储的数字转换成真正的数字。文本数字看起来很正常,但 SUM、AVERAGE 和 COUNT 都会跳过它们,所以合计可能会是 0:

SUM 跳过以文本形式存储的数字
C2
ABC
1ImportedVALUE
2120120
38585
4240240
51515
60460
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

A6 的合计是 0,因为 A 列中的四个单元格都是文本(输入时带了撇号,从 CSV 或网页导入的数据也常常这样)。C 列逐个转换它们,C6 给出真正的合计 460。

怎样判断数字是以文本形式存储的

在 Excel 中,以文本形式存储的数字:

  • 靠单元格左侧显示,而数字靠右侧显示(除非改过对齐方式);
  • 单元格左上角有一个绿色小三角,选中时会出现一个警告图标,提示“以文本形式存储的数字”;
  • 会被 COUNTA 计入,但不会被 COUNT 计入。
找出文本数字
B2
ABCDE
1ValueISNUMBERISTEXTText numbers
2120TRUEFALSE2
385FALSETRUE
4240TRUEFALSE
515FALSETRUE
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

E2 统计区域中有多少个单元格非空但不是数字:这里是带撇号输入的两个。对一列干净的数字,它返回 0。

四个能转换的公式

同样的结果,四种写法
B2
ABC
1TextResultHow
212501250VALUE
31250double minus
41250multiply by 1
51250add 0
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

任何算术运算都会迫使 Excel 把文本读成数字,VALUE 则是明确的写法。--(两个负号:取负,再取负)因为简短,常被用在其他公式中:=SUMPRODUCT(--A2:A5) 不需要辅助列就能把一列文本数字加起来。VALUE 也能读取带货币符号、千位分隔符或百分号的文本:VALUE("$1,250") 是 1250,VALUE("12%") 是 0.12。

转换数量
B2
AB
1Quantity (text)Quantity
2125
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: A2 中的数量是以文本形式导入的。在 B2 中把它转换为数字。

带单位或其他分隔符的文本

文本中只要有它无法读成数字的内容,VALUE 就返回 #VALUE!。两种常见情况:

单位和欧洲格式的分隔符
B2
ABC
1TextFixedWithout the fix
2120 kg120#VALUE!
31.234,51234.5#VALUE!
点击单元格查看它的公式。修改数字或公式,表格会重新计算。
  • 带单位或文字:像 B2 那样,先用 SUBSTITUTE 去掉它。
  • 用逗号作小数点,比如德国或巴西系统中的 1.234,5:NUMBERVALUE(Excel 2013 及更高版本)的第二个和第三个参数分别是小数分隔符和千位分隔符。VALUE 只认识你自己的 Excel 中的分隔符,所以 C3 失败了。

数字前后的空格不会妨碍 VALUE,但网页中的不间断空格会;先用 SUBSTITUTE(A2,CHAR(160),"") 去掉它们。这种错误的一般原因见 #VALUE!。

对文本金额求和
B2
AB
1AmountTotal
2120
345
480
点击单元格查看它的公式。修改数字或公式,表格会重新计算。

轮到你了: A2:A4 中的金额是以文本形式存储的数字。在 B2 中用一个公式返回它们的合计。

不用公式就地转换

公式会把数字放在新的一列中。要修正单元格本身:

  1. 转换为数字。 选中这些单元格(选中的第一个单元格必须带有绿色三角),点击所选区域旁边的警告图标,选择“转换为数字”。这是最快的方法。
  2. 分列。 选中这一列,选择“数据 > 分列”,直接点击“完成”。Excel 会重新输入每个单元格,把文本数字变成数字。
  3. 选择性粘贴,乘。 在一个空单元格中输入 1 并复制它。选中这些文本数字,选择“开始 > 粘贴 > 选择性粘贴”,选择“乘”,点击“确定”。

如果单元格的格式是文本(“开始 > 数字格式”显示“文本”),要先把它们设为“常规”;否则你在其中输入的任何内容都会再次以文本形式存储。

常见错误:在文本和数字之间查找

查找值 101 与文本 101 不匹配:VLOOKUP、XLOOKUP 和 MATCH 返回 #N/A,=A2=101 为 FALSE,尽管两个单元格看起来一样。转换其中一方,让两者类型相同。如果查找列是文本,就转换要查找的值:

=VLOOKUP(TEXT(E2,"0"), A2:C6, 3, FALSE)   E2 is a number, column A holds text numbers
=VLOOKUP(--E2, A2:C6, 3, FALSE)           E2 holds a text number, column A holds numbers

ISNUMBER 和 ISTEXT 页面 介绍了怎样检查每一方。

常见问题

Excel 中怎样把文本转换为数字?

用公式的话,写 =VALUE(A2) 或 =--A2。不用公式的话,选中这些单元格,点击旁边出现的警告图标,选择“转换为数字”。

Excel 中的 SUM 为什么返回 0?

数字以文本形式存储,而 SUM 会跳过文本。这些数字通常靠左对齐,并带有一个绿色小三角。用 =VALUE(A2) 转换它们,或者直接用 =SUMPRODUCT(--A2:A10) 把它们加起来。

为什么“转换为数字”不起作用或者不出现?

Excel 只对它能读成数字的文本提供这个选项。网页中的不间断空格、kg 这样的单位,或者你的 Excel 不使用的小数逗号,都会让绿色三角消失。先清理文本:=VALUE(SUBSTITUTE(A2,CHAR(160),"")) 或 =NUMBERVALUE(A2,",",".")。

怎样转换用逗号作小数点的数字?

使用 NUMBERVALUE 并指定分隔符:=NUMBERVALUE(A2,",",".") 把 1.234,5 变成 1234.5。VALUE 只认识你自己的 Excel 设置中的分隔符。

Coddy 编程语言插图

和 Coddy 一起学编程

开始