将前导零/ 0添加到现有Excel值到一定长度

时间:2010-10-21 22:31:09

标签: excel padding

关于如何在导入或导出Excel时防止前导零被剥离,有很多很多问题和质量答案。但是,我已经有一个电子表格,其中的值被截断为数字,实际上它们应该被作为字符串处理。我需要清理数据并重新添加前导零。

有一个字段应该是四个字符,其中前导零将字符串填充为四个字符。但是:

"23" should be "0023", 
"245" should be "0245", and
"3829" should remain "3829"

问题:是否有Excel公式将这些0重新填充到这些值上,以便它们都是四个字符?

注意:这类似于古老的邮政编码问题,其中新英格兰地区邮政编码的前导零点被删除,您必须将它们重新添加。

7 个答案:

答案 0 :(得分:488)

=TEXT(A1,"0000")

然而,TEXT function能够做其他奇特的事情,比如日期格式化。

答案 1 :(得分:76)

更有效(不那么突兀)的方式是通过自定义格式化。

  1. 突出显示要设置样式的列/数组。
  2. 点击 ctrl + 1 或格式化 - >格式化单元格。
  3. 在“数字”标签中,选择“自定义”。
  4. 将自定义格式设置为000#。 (零零零#)
  5. 请注意,这实际上并不会更改单元格的值。它只显示工作表中的前导零。

答案 2 :(得分:16)

当我意识到DEC2HEX()提供了免费的功能时,我点击此页面尝试填充十六进制值。

您只需要添加第二个参数。例如,将12转为0C DEC2HEX(12,2) => 0C
DEC2HEX(12,4) => 000C
......等等

答案 3 :(得分:9)

我不确定这是Excel 2013中的新功能,但如果您右键单击该列并说出" Special"实际上有一个预定义的邮政编码选项和邮政编码+ 4.魔术。

enter image description here

答案 4 :(得分:4)

我知道这已经回答了一段时间,但只是在这里用一个简单的解决方案来解释,我很惊讶没有被提及。

=RIGHT("0000" & A1, 4)

每当我需要填充时,我会使用类似上面的内容。我个人觉得这是最简单的解决方案,更容易阅读。

答案 5 :(得分:1)

如果您使用自定义格式并需要在其他位置连接这些值,则可以复制它们并选择Paste Special - >工作表中的其他值(或不同工作表上的值),然后连接这些值。

答案 6 :(得分:1)

即使这很好用

REPT(0,2-LEN(F2)&F2

其中2是总位数,对于0〜9->它将显示00至09,其余将不添加任何内容。