临时解决方案

临时解决方案

我有一个包含如下整数的列:1, 2, 3, 4, 5并且我想创建另一个包含如下值并填充为三的长度的列:001, 002, 003, 004, 005

是否可以在 Google 电子表格中填充字符串以达到所需的长度?

我找不到这个的标准功能。

答案1

推荐的方法是使用TEXT() 函数

关于如何在您的案例中使用它的快速摘要:

=TEXT(5,"000")

将输出:

005

当然,您可以用对源数字所在的另一个单元格的引用来替换文字 5。

答案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)

相关内容