Google表格十进制数,如何删除逗号并添加零
Posted
技术标签:
【中文标题】Google表格十进制数,如何删除逗号并添加零【英文标题】:Google Sheets Decimal Numbers, how to remove commas and add zero 【发布时间】: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 电子表格在数据的“区域设置”上不一致。欧洲的“小数”是逗号,而在美国,逗号仅用于“千”组之间。我建议您使用文件>电子表格设置将电子表格更改为数据源的区域设置。看看刮痕是否以这种方式更干净。如果是这样,可能有比一堆文本替换更好的解决方法。
【参考方案1】:
如果您的导入删除了最后的零,这表明您的工作表中最后的内容很可能是文本,而不是数字。
如果您共享具有完全编辑权限的示例表,则总是更容易获得帮助。但是,鉴于我从您的帖子中了解到的情况,请尝试以下操作:
=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)))))))
【讨论】:
这个解决了我的问题。谢谢。 太棒了。感谢您的反馈。【参考方案2】:尝试:
=ARRAYFORMULA(SUBSTITUTE(TO_TEXT(IMPORTDATA("API_LINK")), ",", ))
【讨论】:
以上是关于Google表格十进制数,如何删除逗号并添加零的主要内容,如果未能解决你的问题,请参考以下文章