Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 谷歌表十进制数字,如何删除逗号和添加零_Google Sheets_Decimal_Google Sheets Formula_Comma - Fatal编程技术网

Google sheets 谷歌表十进制数字,如何删除逗号和添加零

Google sheets 谷歌表十进制数字,如何删除逗号和添加零,google-sheets,decimal,google-sheets-formula,comma,Google Sheets,Decimal,Google Sheets Formula,Comma,下面的问题。我从一个网站上获得的谷歌表单中有十进制数字 数字在小数点后有3位数字,或者没有逗号。我需要不带逗号的数字,在1,2=>1200或1,22=>1220后加零,2应该是2 如果网站上的数字看起来像这样: 1,200 1,220 1,222 12,220 2 我通过谷歌电子表格获得数据,公式为=IMPORTDATA(“API_链接”) 有一个问题是我不想丢失的零会被=IMPORTDATA自动删除 意味着我会像这样将其复制到表中: 1,2 1,22 1,222 12,22 2 我的问题是

下面的问题。我从一个网站上获得的谷歌表单中有十进制数字

数字在小数点后有3位数字,或者没有逗号。我需要不带逗号的数字,在1,2=>1200或1,22=>1220后加零,2应该是2

如果网站上的数字看起来像这样:

1,200
1,220
1,222
12,220
2
我通过谷歌电子表格获得数据,公式为=IMPORTDATA(“API_链接”)

有一个问题是我不想丢失的零会被=IMPORTDATA自动删除

意味着我会像这样将其复制到表中:

1,2
1,22
1,222
12,22
2
我的问题是,如何使用另一个公式或脚本自动转换数字,如下所示:

1,2 => 1200
1,22 => 1220
1,222 => 1222
12,22 => 12220
2 => 2
所以正常数字应该是正常的,小数应该被转换

这个公式是我尝试过的,但只适用于1222=>1222。另一个看起来像这样的1,2=>43862和1,22=>1,22也是12,22=>12,22

=IFERROR(VALUE(SUBSTITUTE(A2;",";"."));VALUE(SUBSTITUTE(A2;".";",")))
我甚至试图更改工作表中的设置,但根本不起作用。
如果有人能帮我,那就太好了。

如果您的导入正在删除最后的零,这表明您的工作表中出现的内容很可能是文本,而不是数字

如果您共享具有完全编辑权限的示例工作表,则总是更容易提供帮助。然而,鉴于我从你的帖子中了解到的情况,请尝试以下方法:

=IF(A2="","",VALUE(A2&IFERROR(REPT("0",3-(LEN(A2)-FIND(",",A2))))))
这也可以作为一个数组公式使用,只需稍加修改(即,它可以用一个公式“求解”整个列,而不是向下拖动一个公式)。例如,如果原始数据在A2:A中,则可以将以下数组公式放在B2中(假设B2下的B列完全为空):


如果您的导入正在删除最后的零,这表明工作表中结束的内容很可能是文本,而不是数字

如果您共享具有完全编辑权限的示例工作表,则总是更容易提供帮助。然而,鉴于我从你的帖子中了解到的情况,请尝试以下方法:

=IF(A2="","",VALUE(A2&IFERROR(REPT("0",3-(LEN(A2)-FIND(",",A2))))))
这也可以作为一个数组公式使用,只需稍加修改(即,它可以用一个公式“求解”整个列,而不是向下拖动一个公式)。例如,如果原始数据在A2:A中,则可以将以下数组公式放在B2中(假设B2下的B列完全为空):

尝试:

尝试:


我无法检查,因为我用逗号作为十进制分隔符,但是
INT(替换为(A1,,,“,”)*1000)
这个公式对小数应该是有效的,我忘了说我也有正常的数字,比如2,2应该保持为2。但是用这个公式,我得到2=>2000,这是不对的。我编辑了我的问题,谢谢这个公式!这里的问题是,您的API和Google电子表格在数据的“区域设置”上不一致。欧洲的“小数”是逗号,而在美国,逗号只在“千”组之间使用。我建议您使用文件>电子表格设置将电子表格更改为数据源的区域设置。看看刮痕是不是用这种方式刮得更干净。如果是这样的话,可能有一个比一堆文本替换更好的解决办法。我将无法检查,因为我用逗号作为十进制分隔符,但是
INT(替换(A1,“,”,“)*1000)
这个公式的工作原理与我对小数的工作原理相同,我忘了说这里也有正常的数字,比如2和2应该保持为2。但是用这个公式,我得到2=>2000,这是不对的。我编辑了我的问题,谢谢这个公式!这里的问题是,您的API和Google电子表格在数据的“区域设置”上不一致。欧洲的“小数”是逗号,而在美国,逗号只在“千”组之间使用。我建议您使用文件>电子表格设置将电子表格更改为数据源的区域设置。看看刮痕是不是用这种方式刮得更干净。如果是这样的话,可能会有比一堆文本替换更好的解决方法。这一个解决了我的问题。谢谢,太好了。谢谢你的回复。这次解决了我的问题。谢谢,太好了。谢谢你的回复。
=ARRAYFORMULA(SUBSTITUTE(TO_TEXT(IMPORTDATA("API_LINK")), ",", ))