Vorübergehende Lösung
Hier ist die vorübergehende Problemumgehung, die ich mir ausgedacht habe.
Arbeitsformel
Verwenden Sie einfach diese Formel:
`=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)`
Ersetzen Sie 3
mit Polsterlänge und 0
mit Polsterzeichen. A2
ist eine Polsterquelle.
Erläuterung
Betrachten Sie die folgende Tabelle:
-------------
| A | B |
-------------
| 1 | 001 |
-------------
| 2 | 002 |
-------------
| 31 | 031 |
-------------
| 45 | 045 |
-------------
| 500 | 500 |
-------------
Wir haben die erste Spalte (A) mit ganzen Zahlen, die wir auffüllen möchten. Die Spalte (B) enthält die spezielle Formel zur Verarbeitung der Daten.
Verketten!
Zuallererst brauchen wir eine Möglichkeit, den Wert aus der A
Spalte mit der Füllzeichenfolge zu verketten . Wir können das mit der CONCATENATE
Funktion machen:
=CONCATENATE("00", A2)
Wiederholen!
Im Moment wird das Füllzeichen 0
in unserer Formel zweimal wiederholt. Das ist nicht gut. Mit REPT
function können wir unser Füllzeichen mehrmals wiederholen:
=REPT("0", 2)
Diese Formel wird 0
zweimal wiederholt . Kombinieren wir sie:
=CONCATENATE(REPT("0", 2), A2)
Länge berechnen!
Das ist besser. Aber die Auffülllänge hat in unserer Formel einen konstanten Wert und das funktioniert nicht mit Zahlen größer als 9. Wir können dies beheben, indem wir die Länge der aufgefüllten Zeichenfolge (mithilfe der LEN
Funktion) berechnen und von unserer Ziellänge subtrahieren:
=3-LEN(A2)
Fügen wir es unserer Formel hinzu:
=CONCATENATE(REPT("0", 3-LEN(A2)), A2)
Bei Werten über 999 erhalten wir jedoch negative Ergebnisse und die REPT
Funktion wird unterbrochen (die Anzahl der Wiederholungen kann nicht negativ sein).
Wir können es leicht beheben, indem wir eine Bedingung hinzufügen:
=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")
Lassen Sie uns die letzten Teile zusammenstellen:
=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)