Was ich brauche, ist benutzerdefinierte Format Werte nach diesen Regeln zu ändern:Excel Benutzerdefinierte Format prüfen Charakter
- Wenn „/“ fehlt und die Länge der Zahl kleiner als 6, fügen Nullen der Anfang.
- Wenn "/" vorhanden ist und die Länge der Zahl vor "/" kleiner als 6 ist, fügen Sie am Anfang Nullen hinzu.
- Wenn "/" vorhanden ist und die Länge der Zahl nach "/" 1 ist, fügen Sie vor dem letzten Zeichen Null hinzu.
- Wenn "/" vorhanden ist und die Länge der Zahl nach "/" 2 ist, lassen Sie es ist.
- Gesamtlänge der Zeichenfolge mit "/" 8, ohne sie wäre - 6
Unformatted Daten:
-534
1083
386840/2
12345/10
Wunschergebnis:
000534
001083
38684002
Was ich bisher herausgefunden habe:
000000; 000000; 0 ist ziemlich offensichtlich Teil, Wert ohne "/" wird trotzdem als Zahl gelesen. Wenn es eine Nummer wäre, würde ich [>1000]0
oder etwas ähnliches verwenden, aber es funktioniert nicht mit , soweit ich verstanden habe.
Formel I bin (nur jetzt) statt wünschenswert benutzerdefinierten Format verwenden:
=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);"/";"")))
Kann mir jemand einen Tipp geben?
Sie können nicht das Zahlenformat stellen Sie Ihre Nummer zu überprüfen. Daher müssen Sie 40/2 in 4002 und 5/10 in 510 konvertieren, bevor Sie es an NumberFormat senden. Sie sollten das mit einer Hilfssäule tun können (die Sie vielleicht versteckt halten), aber wenn das nicht möglich ist, wäre Ihr einziger Rückgriff VBA. – Variatus
@Variatus Kann nicht, das war der Grund für das Zahlenformat an erster Stelle, sonst würde ich Formeln verwenden. – AntiDrondert
Sie müssen mehr erzählen.Darf man die Daten in der Spalte ändern, wo sie sind? Vergiss es einfach mit NumberFormat. Muss eine andere Lösung finden. – Variatus