将前导0 /0's添加到现有Excel值中,并指定长度

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

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

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

问:有没有一个Excel公式把这些0填充到这些值上,使它们都是四个字符?

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

605299 次浏览
=TEXT(A1,"0000")

然而,短信功能也能够做其他奇特的事情,比如日期格式化。

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

  1. 突出显示要设置样式的列/数组。
  2. 单击ctrl + 1或格式化->格式化单元格。
  3. 在“号码”页签中,选择“自定义”。
  4. 自定义格式设置为000#。(零零零#)

注意,这实际上并不会改变单元格的值。它只显示工作表中的前导零。

如果您使用自定义格式,并需要在其他地方连接这些值,您可以复制它们并粘贴特殊—>值在工作表的其他地方(或在不同的工作表),然后连接这些值。

我不确定这是否是Excel 2013中的新功能,但如果你右键单击该列并选择“Special”,实际上有一个预定义的ZIP Code和ZIP Code + 4选项。魔法。

enter image description here

当我意识到DEC2HEX()提供了非常特性免费.

时,我试图填充十六进制值 您只需要添加第二个参数。例如,绑定将12转换为0C
DEC2HEX(12,2) => 0C
DEC2HEX(12,4) => 000C
... 以此类推

我知道这个问题在一段时间前就已经有了答案,但我很惊讶这里没有提到一个简单的解决方案。

=RIGHT("0000" & A1, 4)

每当我需要垫,我使用类似上面的东西。我个人认为这是最简单的解决方案,也更容易阅读。

即使这样也能很好地工作

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

其中2是数字总数,对于0 ~ 9 ->,它将显示00到09休息将不添加任何内容。