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

Excel formula 如何在将字符串导入Excel后将其自动转换为数字?,excel-formula,excel-2013,Excel Formula,Excel 2013,我正在使用PowerQuery将xml文件下载到Excel电子表格中。下载很好,但是,我希望使用的数据是一个带有通用数据类型的字符串 是否有某种方法可以自动将其转换为数字,或将其转换为求和公式中的数字,目前由于字段被视为文本,basic=SUMU2:U20不起作用 xml文件将由几个人一天下载几次,因此我可以将解决方案直接放入电子表格中,这将非常好 更新 我尝试过使用Value函数,特别是 =SUM(VALUE(U2:U20)) (returns #value) 以及 =VALUE(SUM(U

我正在使用PowerQuery将xml文件下载到Excel电子表格中。下载很好,但是,我希望使用的数据是一个带有通用数据类型的字符串

是否有某种方法可以自动将其转换为数字,或将其转换为求和公式中的数字,目前由于字段被视为文本,basic=SUMU2:U20不起作用

xml文件将由几个人一天下载几次,因此我可以将解决方案直接放入电子表格中,这将非常好

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

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

=VALUE(SUM(U2:U20)) (returns zero)
=N(SUM(U2:U20)) (returns zero)
以及 =SUMNU2:U20返回值 以及

=VALUE(SUM(U2:U20)) (returns zero)
=N(SUM(U2:U20)) (returns zero)
该值似乎不适用于您认为应该适用的范围。

使用公式=值将表示数字的文本字符串转换为数字

如果出现无法转换的文本,请使用=IfError处理错误

另一个选项是使用=N将文本转换为数字。使用此公式,如果无法转换为数字,将返回0。有关更多信息,请参阅


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

在电子表格中未使用的单元格中键入不带引号的1。复制那个单元格。 选择包含已下载数据的范围。从鼠标右键单击菜单中选择“粘贴特殊” 然后选择粘贴:值和操作:乘法

此操作应将数据转换为数字,这样您不仅可以对其求和,还可以在必要时对其进行数字排序

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

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

虽然Value似乎对求和范围没有任何作用-我修改了我的原始问题。我修改了我的问题以澄清-Value和n似乎不起作用。嗯,有没有办法自动创建=Value列?棘手的是,所有这些东西都是自动导入的,所以我认为某些东西会被销毁并重新创建,你可以使用VBA。实际上,更好的方法是在另一个工作表中创建一个单独的列,使用=ValueOriginjalSheet!U9在每列中,并从中提取。标记为已回答-非常感谢您可以使用数组公式跳过帮助器列:=SUMVALUEU2:U20,使用ctrl+shift+enter而不是简单的enter键输入。这会将范围U2:U20转换为数组,计算每个元素上的值,因为value只接受单个值,然后求和为单个值,因为sum接受数组。还有一种常见的方法,使用带有单参数的sumproduct代替sum eg=SUMPRODUCTVALUEU2:U20,以避免键入ctrl+shift+enter。sumproduct只接受数组,因此它将范围表达式转换为数组表达式。我自己不是球迷,但不会评判:-