Rellene los números a una longitud específica en la hoja de cálculo de Google [cerrado]


33

Tengo una columna con números enteros como esta: 1, 2, 3, 4, 5y yo quiero crear otra columna con estos valores, acolchado en longitud de tres como esto: 001, 002, 003, 004, 005.

¿Es posible rellenar la cadena a la longitud en la hoja de cálculo de Google?

No pude encontrar una función estándar para esto.


2
Esto no es exactamente lo que ha pedido, pero logra un efecto comparable y podría ser una solución para una tarea común que las personas buscan: (1) seleccione la columna con los números que desea rellenar. (2) Seleccione Formato> Número> Más formatos> Formato de número personalizado ... (3) En el cuadro de diálogo, ingrese tantos 0 como dígitos debe tener la cadena de números, por ejemplo, 000 en su ejemplo.
tophcito

2
No se debe simplemente cerrar, se debe mover a webapps.stackexchange.com
Lennart Rolland

Respuestas:


53

La forma recomendada es utilizar la función TEXTO () .

Resumen rápido sobre cómo lo usaría en su caso:

=TEXT(5,"000")

Daría salida:

005

Por supuesto, sustituiría el literal 5 con una referencia a otra celda donde está el número de origen.


¿Habría una forma de rellenar con espacios?
Álex

Creo que simplemente sustituya "000" con "" arriba
Lennart Rolland

12

Si solo desea mostrar cambios, puede aplicar el formato de número personalizado "000" a las celdas.ingrese la descripción de la imagen aquí

Seleccionar las celdas, haga clic en Formato> Número> Más formatos> formato de número personalizado ... .

De la ayuda de los editores de Documentos :

Un dígito en el número. Un 0 insignificante aparecerá en los resultados.


2
¿Puedes editar tu respuesta para ampliar cómo OP haría esto?
Burgi

3

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)

¡Perfecto! Esta es la mejor respuesta y funciona con valores no numéricos ;-D
t3chb0t
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.