我有一个包含如下整数的列:1, 2, 3, 4, 5
并且我想创建另一个包含如下值并填充为三的长度的列:001, 002, 003, 004, 005
。
是否可以在 Google 电子表格中填充字符串以达到所需的长度?
我找不到这个的标准功能。
答案1
答案2
如果你只是想要显示更改,你可以应用自定义数字格式“000” 到单元格。
选择单元格,单击格式 > 数字 > 更多格式 > 自定义数字格式...。
从文档编辑器帮助:
数字中的一位。结果中将出现一个无关紧要的 0。
答案3
临时解决方案
这是我想出的临时解决方法。
工作公式
只需使用这个公式:
`=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)`
3
用填充长度和0
填充字符替换。A2
是填充源。
解释
请考虑以下电子表格:
-------------
| A | B |
-------------
| 1 | 001 |
-------------
| 2 | 002 |
-------------
| 31 | 031 |
-------------
| 45 | 045 |
-------------
| 500 | 500 |
-------------
我们有初始列 (A),其中包含要填充的整数。 (B) 列将包含处理数据的特殊公式。
連接!
首先,我们需要一种方法来将A
列中的值与填充字符串连接起来。我们可以使用CONCATENATE
功能:
=CONCATENATE("00", A2)
重复!
现在,填充字符0
在我们的公式中重复了两次。这不好。我们可以使用REPT
函数重复我们的填充字符几次,如下所示:
=REPT("0", 2)
此公式将重复0
两次。让我们将它们合并起来:
=CONCATENATE(REPT("0", 2), A2)
计算长度!
这样好多了。但是填充长度在我们的公式中有一个常数值,而这不适用于大于 9 的数字。我们可以通过计算填充字符串的长度来解决这个问题(使用LEN
函数)并从目标长度中减去它:
=3-LEN(A2)
我们将其添加到公式中:
=CONCATENATE(REPT("0", 3-LEN(A2)), A2)
然而,如果值大于 999,我们将得到负数结果,这将破坏REPT
函数(重复次数不能为负数)。
我们可以通过添加一个条件来轻松修复它:
=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")
让我们把最后的和平放在一起:
=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)