首页 > 解决方案 > Google 是否更改了函数 VALUE()?

问题描述

“一千美元和一美分”在美国1000.01和世界其他地方都有标注1000,01

为了解决这个问题,我用下面的公式转换输入的金额

=VALUE(SUBSTITUTE(A1;".";",")

该公式将1000,011000.01 转换为 1000,01

但是多年来运行良好的相同公式给出了一个现在100001的结果

我是唯一一个有这个问题的人吗?还是谷歌改变了什么?

示例电子表格

https://docs.google.com/spreadsheets/d/1HfNEGVjzwf6Xil7vbv69F3ii6nryyDh8f6Z2ELqS5N8/edit?usp=sharing

更新:它似乎取决于用户。一些用户得到了正确的值,而另一些用户同时在同一个电子表格中得到了这些值的 100 倍。

也可以看看:

https://webapps.stackexchange.com/questions/79051/how-to-convert-all-numbers-regardless-of-decimal-separator-into-valid-number-of

标签: google-sheets

解决方案


您作为示例提供的工作表是荷兰语言环境,其中1000,01是一个有效数字(您可以使用 进行测试=ISNUMBER(A2)),这就是=VALUE(SUBSTITUTE(A3; "."; ",")有效的原因。

供参考。- 拥有 =VALUE(SUBSTITUTE(A2; "."; ",")for1000,01是双重矫枉过正,因为1000,01已经是数值,也没有什么可以替代的

如果您使用具有美国语法的电子表格而不是有效数字,则1000.01替换.,会使它无效-这就是您得到的原因#VALUE!(因为逻辑说:从无效源输出值-有点相同=VALUE("red")

可以在此处更改本地化设置: 4


推荐阅读