我需要的是自定義格式,以根據這些規則更改值:Excel自定義格式,檢查字符
- 如果「/」不存在和數量的長度小於6,添加零至 的begining。
- 如果「/」存在且「/」之前的數字長度小於6,則將 零增加到開頭。
- 如果「/」存在,並且「/」之後的數字長度爲1,則在最後一個字符前加上 。
- 如果「/」存在,並且「/」之後的數字長度爲2,則保留爲 。
- 串的總長度 「/」 將是8,沒有它 - 6
未格式化的數據:
-534
1083
386840/2
12345/10
期望的結果:
000534
001083
38684002
我到目前爲止:
000000; 000000; 0是非常明顯的部分,沒有「/」的值將被讀作數字。如果它是一個數字,我會使用[>1000]0
或類似的東西,但據我所知,它不適用於Text
。
公式我使用(只是現在),而不是理想的自定義格式:
=IF(ISERROR(FIND("/";A1));
CONCATENATE(REPT("0";6-LEN(A1));A1);
IF((LEN(A1)-FIND("/";A1))=1;
SUBSTITUTE(CONCATENATE(REPT("0";7-FIND("/";A1));A1);"/";"0");
SUBSTITUTE(CONCATENATE(REPT("0";7-FIND("/";A1));A1);"/";"")))
誰能給我一個提示?
你不能要求的數字格式來檢查你的電話號碼。因此,在將其提交給NumberFormat之前,必須將40/2轉換爲4002和5/10轉換爲510。你應該可以用幫助欄(你可能會保持隱藏)做到這一點,但如果這是不可能的,你的唯一辦法就是VBA。 – Variatus
@Variatus不能這樣做,這是數字格式的原因,否則我會使用公式。 – AntiDrondert
你必須告訴更多。您是否允許更改列中的數據?只要忘記用NumberFormat來做就可以了。必須找到其他解決方案 – Variatus