首页 > 解决方案 > Google表格十进制数,如何删除逗号并添加零

问题描述

跟随问题。我从网站获得的 Google 表格中有十进制数字。

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

假设一个数字在网站上看起来像这样:

1,200
1,220
1,222
12,220
2

我使用公式 =IMPORTDATA("API_LINK") 通过 Google 电子表格获取数据

存在我不想丢失的零被=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;".";",")))

我什至尝试更改工作表中的设置,但根本不起作用。如果有人可以帮助我,那就太好了。

标签: google-sheetsdecimalgoogle-sheets-formulacomma

解决方案


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

如果您共享具有完全编辑权限的样本表,总是更容易提供帮助。但是,鉴于我从您的帖子中了解到的情况,请尝试以下操作:

=IF(A2="","",VALUE(A2&IFERROR(REPT("0",3-(LEN(A2)-FIND(",",A2))))))

这也可以作为一个稍微修改的数组公式(即,它可以用一个公式“解决”一整列,而不是向下拖动一个公式)。例如,如果您的原始数据在 A2:A 中,您可以将以下数组公式放入 B2(假设 B2 下方的 B 列完全空白):

=ArrayFormula(IF(A2:A="","",VALUE(A2:A&IFERROR(REPT("0",3-(LEN(A2:A)-FIND(",",A2:A)))))))

推荐阅读