2016-04-23 89 views
0

我必須在Excel中輸入超過300個帳號。每個人都有18位數字。我會舉一個例子。Excel中的自定義格式號碼

200-0000000000123-45

所以,前三位從來沒有000,有時4-16數字都是不同的,並在結束時(1-7不同的號碼例如有時他們前導零,有時第4到第16位是0000000000123或0000000000345(在這裏我只輸入3,我希望excel增加零),有時3123123123125(在這種情況下,我將不得不輸入全部18位數字))。後兩項是強制性的。

那麼,如何在格式單元格對話框中設置excel自定義格式來顯示我需要的?我試圖把這樣的東西放在那裏: Example image 但我不知道如何在開始時保留這3個第一位數......任何幫助?是否有可能告訴excel將前三位數字保留在左側,並在中間添加零位?

謝謝。

+1

您可能需要使用VBA一個worksheet_change事件聯繫起來。 –

+0

你可以在一列中輸入前三位,其餘的在第二列中,並將它們連接在一起作爲第三列中的字符串? –

+0

您是否總是將它們輸入三個帶連字符的分組中,如在圖像中的A1中所示?如果不是,請修改您的問題以提供您想要執行的更有用的規範。 –

回答

0

您可以使用公式而不是自定義格式。把這樣的事情在CEL B1:

=LEFT(A1,4)&REPT("0",13-LEN(MID(A1,5,LEN(A1)-7)))&RIGHT(A1,LEN(A1)-4) 

的200-123-45在A1單元格的值)會給200-0000000000123-45在B1單元格中。 前三位數字,最後兩位數字和兩個連字符是強制性的。

2

自定義數字格式並不在此規定是可行的 您可以使用一個公式與細胞

=IF(LEN(B5)>10,B5,LEFT(B5,4)&REPT("0",10)&RIGHT(B5,6)) 
+0

這僅適用於兩個連字符之間恰好有三位數字的情況。我建議的公式在連字符之間形成0到13位數字。 –