2013-04-09 394 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. 特殊格式 - >郵政編碼

確保您保存更改...它不應該刪除零...

或嘗試「用戶定義」格式...但我從來沒有嘗試過。