2013-04-09 153 views
0

我有麻烦了。我有成千上万的客户资料,名称,地址,邮编。我在Excel中有数据,问题在于邮政编码。该Zip应该是5个字符长,如果不是,我们必须在前面加零以使等于五个字符。既然有成千上万的数据,并且不可能一个一个地改变它,有人可能会建议我将zip的列格式化为5个字符长。 谢谢。格式化excell单元

+0

为什么你需要5位数前导零?你将如何处理数据? (即这个excel文件的源文件是否会像数据库一样进入其他目的地?) – HackyStack 2013-04-09 20:04:01

回答

1

只需标记整列。
比右击进入“格式单元格”设置。
你去“特殊格式”,那里你应该标记“ZipCode”。
Here是选项的图片。这是德国人,所以我希望你无论如何都会找到它;)

+0

但下一次当我在excel中打开时,它会自动删除零。 – Pawriwes 2013-04-11 15:33:48

3

您可以使用自定义格式,并使用类型:00000

2

写下面的公式在拉链柱的面前:

=IF(LEN(A1)>5,"Invalid",RIGHT("00000" & A1,5)) 

只需将单元格引用名称A1替换为邮政编码列的第一个单元格,然后向下拖动单元格即可。现在所有少于五个字符的邮政编码将填入前导零。此外,它将显示具有超过5个字符长度的邮政编码的单元格中的无效。

1

快速宏将范围转换为文本格式,并且如果单元格小于5个字符,则附加前导零。

Sub AddLeadingZeros() 
Dim rng As Range: Set rng = Range("A1:A10") '<modify as needed, the cells containing ZIP' 
Dim cl As Range 


rng.NumberFormat = "@" 
For Each cl In rng 

    If Len(cl.Value) < 5 Then 
     Do 

      cl.Value = "0" & cl.Value 

     Loop While Len(cl.Value) < 5 
    End If 

Next 
End Sub 
+0

非常感谢你的努力,但我从未使用过宏。必须先学习。谢谢。 – Pawriwes 2013-04-11 15:33:06

1

在这个例子中应用此公式的单元格的值,即用于A1

=TEXT(A1,"0000#") 

复制/粘贴格式化的值(如文本)转换成所需的列如果需要的话在一特定柱。

0
  1. 选择列
  2. 格式 - >细胞
  3. 特殊格式 - >邮政编码

确保您保存更改...它不应该删除零...

或尝试“用户定义”格式...但我从来没有尝试过。