Solución temporal
Aquí está la solución temporal que se me ocurrió.
Fórmula de trabajo
Solo usa esta fórmula:
`=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)`
Reemplace 3
con la longitud del relleno y 0
con el carácter de relleno. A2
Es una fuente de relleno.
Explicación
Considere la siguiente hoja de cálculo:
-------------
| A | B |
-------------
| 1 | 001 |
-------------
| 2 | 002 |
-------------
| 31 | 031 |
-------------
| 45 | 045 |
-------------
| 500 | 500 |
-------------
Tenemos la columna inicial (A) con enteros que queremos rellenar. La columna (B) contendrá la fórmula especial para procesar los datos.
¡Concatenar!
En primer lugar, necesitamos una forma de concatenar el valor de la A
columna con una cadena de relleno. Podemos hacer esto con la CONCATENATE
función:
=CONCATENATE("00", A2)
¡Repetir!
En este momento, el carácter de relleno 0
se repite dos veces en nuestra fórmula. Esto no está bien. Podemos usar la REPT
función para repetir nuestro carácter de relleno varias veces de esta manera:
=REPT("0", 2)
Esta fórmula se repetirá 0
dos veces. Combinémoslos:
=CONCATENATE(REPT("0", 2), A2)
Calcular longitud!
Eso es mejor. Pero la longitud del relleno tiene un valor constante en nuestra fórmula y eso no funcionará con números mayores que 9. Podemos arreglar esto calculando la longitud de la cadena rellenada (usando la LEN
función) y restarla de nuestra longitud objetivo:
=3-LEN(A2)
Añádalo a nuestra fórmula:
=CONCATENATE(REPT("0", 3-LEN(A2)), A2)
Sin embargo, obtendremos resultados negativos para valores superiores a 999 y se romperá la REPT
función (el número de repeticiones no puede ser negativo).
Podemos solucionarlo fácilmente agregando una condición:
=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")
Pongamos las paces finales juntas:
=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)