将字符串导入Excel后,如何自动将字符串转换为数字?

时间:2014-01-11 14:45:50

标签: excel-formula excel-2013

我正在使用PowerQuery将xml文件下载到Excel电子表格中。下载很好,但是,我想要使用的数据是一个字符串(带有“常规”数据类型。)

有没有办法自动将其转换为数字,或将其转换为SUM公式中的数字,现在基本= SUM(U2:U20)不起作用(由于字段被视为文本。

xml文件将被一些人每天多次下载,所以我可以将解决方案直接放入电子表格本身,这将是非常好的。

更新 我尝试过使用Value()函数,特别是

=SUM(VALUE(U2:U20)) (returns #value)

以及

=VALUE(SUM(U2:U20)) (returns zero)

以及     = SUM(N(U2:U20))(返回#value) 以及

=N(SUM(U2:U20)) (returns zero)

似乎值在范围内不起作用 - 你会认为它会。

2 个答案:

答案 0 :(得分:2)

使用公式=Value()将表示数字的文本字符串转换为数字。

如果文本无法转换,请使用=IfError()处理错误。

另一种选择是使用=N()将文本转换为数字。使用此公式,如果无法转换为数字,则返回0.有关详细信息,请参阅N Formula

这些公式仅适用于单个单元格。因此,如果您有一列数字作为文本,则需要使用= Value()列来单独转换每个单元格。然后对第二列的结果使用= Sum()。

答案 1 :(得分:0)

在电子表格的未使用单元格中输入“1”(不带引号)。复制该单元格。 选择包含下载数据的范围。从鼠标右键单击菜单中选择“选择性粘贴” 并选择粘贴:值和操作:乘法。

此操作应将数据转换为数字,因此您不仅可以对其进行总结,还可以在必要时对其进行数字排序。

当然,您可以使用宏来自动化流程:

Sub Macro1()
  Range("J18").Value = 1
  Range("J18").Copy
  Range("K1:K6").PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply
  Application.CutCopyMode = False
End Sub