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

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

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

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

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


当前回答

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

其他回答

即使这样也能很好地工作

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

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

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

=RIGHT("0000" & A1, 4)

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

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

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

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

=TEXT(A1,"0000")

然而,文本函数能够做其他花哨的东西,如日期格式化,以及。

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