将前导零/0添加到现有Excel值中,使其达到一定长度

nkhmeac6  于 2023-01-18  发布在  其他
关注(0)|答案(8)|浏览(127)

关于如何防止在导入Excel或从Excel导出时删除前导零,SO上有很多很多问题和高质量的答案。然而,我已经有一个电子表格,其中的值被截断为数字,而实际上,它们本应被处理为字符串。我需要清理数据,并将前导零添加回去。
有一个字段应该是四个字符,前导零将字符串填充为四个字符。但是:

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

问:是否有Excel公式可以将这些0补回到这些值上,使它们都是四个字符?
注意:这类似于古老的邮政编码问题,其中新英格兰地区的邮政编码的前导零被删除,您必须将它们添加回去。

ahy6op9u

ahy6op9u1#

=TEXT(A1,"0000")

然而,TEXT function也可以做其他花哨的事情,比如日期格式化。

yduiuuwa

yduiuuwa2#

更有效(不太突兀)的方法是通过自定义格式。
1.高亮显示要设置样式的列/数组。
1.单击ctrl + 1或格式-〉格式单元格。
1.在“数字”选项卡中,选择“自定义”。
1.将“自定义格式”设置为000#。(零零零#)
请注意,这实际上并不更改单元格的值。它只显示工作表中的前导零。

roejwanj

roejwanj3#

当我意识到DEC2HEX() * 免费 * 提供了这个特性时,我点击了这个页面试图填充十六进制值。
您只需要添加第二个参数,例如,将12转换为0C
DEC2HEX(12,2) =〉0C
DEC2HEX(12,4) =〉000C
...等等

cygmwpex

cygmwpex4#

我知道这是回答了一段时间前,但只是与一个简单的解决方案在这里,我感到惊讶的是没有提到。

=RIGHT("0000" & A1, 4)

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

9w11ddsr

9w11ddsr5#

我不确定这是否是Excel 2013中的新功能,但如果您右键单击该列并说“特殊”,实际上会有一个用于邮政编码和邮政编码+4的预定义选项。

ny6fqffe

ny6fqffe6#

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

ee7vknir

ee7vknir7#

即使这样也能很好地工作

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

其中2为总位数,09-〉显示00 ~ 09,其余不加。

qnakjoqk

qnakjoqk8#

假设要填充的数字位于单元格A1中,并且“填充零的数目”为4,
例如:
“23”应该是“0023”,
“245”应为“0245”,且
“3829”应保留为“3829”
那么

=TEXT(A1,REPT("0",4))

相关问题