关于如何在导入或导出Excel时防止前导零被剥离,有很多很多问题和质量答案。但是,我已经有一个电子表格,其中的值被截断为数字,实际上它们应该被作为字符串处理。我需要清理数据并重新添加前导零。
有一个字段应该是四个字符,其中前导零将字符串填充为四个字符。但是:
"23" should be "0023",
"245" should be "0245", and
"3829" should remain "3829"
问题:是否有Excel公式将这些0重新填充到这些值上,以便它们都是四个字符?
注意:这类似于古老的邮政编码问题,其中新英格兰地区邮政编码的前导零点被删除,您必须将它们重新添加。
答案 0 :(得分:488)
=TEXT(A1,"0000")
然而,TEXT function能够做其他奇特的事情,比如日期格式化。
答案 1 :(得分:76)
更有效(不那么突兀)的方式是通过自定义格式化。
请注意,这实际上并不会更改单元格的值。它只显示工作表中的前导零。
答案 2 :(得分:16)
当我意识到DEC2HEX()
提供了免费的功能时,我点击此页面尝试填充十六进制值。
您只需要添加第二个参数。例如,将12
转为0C
DEC2HEX(12,2)
=> 0C
DEC2HEX(12,4)
=> 000C
......等等
答案 3 :(得分:9)
我不确定这是Excel 2013中的新功能,但如果您右键单击该列并说出" Special"实际上有一个预定义的邮政编码选项和邮政编码+ 4.魔术。
答案 4 :(得分:4)
我知道这已经回答了一段时间,但只是在这里用一个简单的解决方案来解释,我很惊讶没有被提及。
=RIGHT("0000" & A1, 4)
每当我需要填充时,我会使用类似上面的内容。我个人觉得这是最简单的解决方案,更容易阅读。
答案 5 :(得分:1)
如果您使用自定义格式并需要在其他位置连接这些值,则可以复制它们并选择Paste Special - >工作表中的其他值(或不同工作表上的值),然后连接这些值。
答案 6 :(得分:1)
即使这很好用
REPT(0,2-LEN(F2)&F2
其中2是总位数,对于0〜9->它将显示00至09,其余将不添加任何内容。