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 3con la longitud del relleno y 0con el carácter de relleno. A2Es 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 Acolumna con una cadena de relleno. Podemos hacer esto con la CONCATENATEfunción:
=CONCATENATE("00", A2)
¡Repetir!
En este momento, el carácter de relleno 0se repite dos veces en nuestra fórmula. Esto no está bien. Podemos usar la REPTfunción para repetir nuestro carácter de relleno varias veces de esta manera:
=REPT("0", 2)
Esta fórmula se repetirá 0dos 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 LENfunció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 REPTfunció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)