【发布时间】:2020-07-11 11:10:21
【问题描述】:
以下问题。我从网站获得的 Google 表格中有十进制数字。
这些数字在小数点后有 3 位数字,或者其中没有逗号。我需要不带逗号的数字,并在 1,2 => 1200 或 1,22 => 1220 之后添加零,而 2 应该是 2。
如果某个数字在网站上看起来像这样:
1,200
1,220
1,222
12,220
2
我通过 Google 电子表格使用公式 =IMPORTDATA("API_LINK") 获取数据
存在我不想丢失的零被=IMPORTDATA自动删除的问题
意味着我把它复制到这样的表中:
1,2
1,22
1,222
12,22
2
我的问题是,如何让数字自动转换为另一个公式,甚至使用如下所示的脚本:
1,2 => 1200
1,22 => 1220
1,222 => 1222
12,22 => 12220
2 => 2
所以正常的数字应该是正常的,小数应该是转换的。
我试过的公式只适用于 1,222 => 1222。另一个看起来像这样 1,2 => 43862 和 1,22 => 1,22 也是 12,22 => 12,22。
=IFERROR(VALUE(SUBSTITUTE(A2;",";"."));VALUE(SUBSTITUTE(A2;".";",")))
我什至尝试更改工作表中的设置,但根本不起作用。 如果有人可以帮助我,那就太好了。
【问题讨论】:
-
我无法检查,因为我得到了逗号作为小数分隔符,但是
INT(SUBSTITUTE(A1,",",".")*1000) -
这个公式在小数点上应该是有效的,我忘了说我也有正常的数字,比如 2 和 2 应该保持为 2。但是通过这个公式我得到 2=> 2000,这是不对的。我编辑了我的问题,感谢这个公式!
-
这里的问题是您的 API 和您的 Google 电子表格在数据的“区域设置”上不一致。欧洲的“小数”是逗号,而在美国,逗号仅用于“千”组之间。我建议您使用文件>电子表格设置将电子表格更改为数据源的区域设置。看看刮痕是否以这种方式更干净。如果是这样,可能有比一堆文本替换更好的解决方法。
标签: google-sheets decimal google-sheets-formula comma