Riempi i numeri per una lunghezza specifica nel foglio di calcolo di Google [chiuso]


33

Ho una colonna con numeri interi come questo: 1, 2, 3, 4, 5e voglio creare un'altra colonna con questi valori imbottite alla lunghezza di tre in questo modo: 001, 002, 003, 004, 005.

È possibile riempire la stringa in lunghezza nel foglio di calcolo di Google?

Non riuscivo a trovare una funzione standard per questo.


2
Questo non è esattamente quello che hai chiesto, ma ottiene un effetto comparabile e potrebbe essere una soluzione per un compito comune che le persone cercano: (1) seleziona la colonna con i numeri che vuoi riempire. (2) Seleziona Formato> Numero> Altri formati> Formato numero personalizzato ... (3) Nella finestra di dialogo inserisci quante sono le 0 cifre che la stringa numerica dovrebbe avere, ad esempio 000 nel tuo esempio.
tophcito,

2
Non dovrebbe semplicemente essere chiuso, dovrebbe essere spostato su webapps.stackexchange.com
Lennart Rolland,

Risposte:


53

Il modo consigliato è utilizzare la funzione TEXT () .

Breve riepilogo su come lo useresti nel tuo caso:

=TEXT(5,"000")

Uscita:

005

Ovviamente sostituiresti il ​​letterale 5 con un riferimento a un'altra cella in cui si trova il numero sorgente.


Ci sarebbe un modo di imbottitura con spazi?
Álex,

Penso che sostituisca "000" con "" sopra
Lennart Rolland,

12

Se desideri solo visualizzare le modifiche, puoi applicare il formato numerico personalizzato "000" alle celle.inserisci qui la descrizione dell'immagine

Selezionare le celle, Clicca su Formato> Numero> Più formati> Custom formato numerico ... .

Dalla guida di Editor documenti :

Una cifra nel numero. Uno 0 insignificante apparirà nei risultati.


2
Puoi modificare la tua risposta per espandere il modo in cui l'OP farebbe questo?
Burgi,

3

Soluzione temporanea

Ecco la soluzione temporanea che mi è venuta in mente.

Formula di lavoro

Usa questa formula:

`=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)`

Sostituire 3con la lunghezza dell'imbottitura e 0con il carattere dell'imbottitura. A2è una fonte di imbottitura.

Spiegazione

Considera il seguente foglio di calcolo:

-------------
| A   |  B  |
-------------
| 1   | 001 |
-------------
| 2   | 002 |
-------------
| 31  | 031 |
-------------
| 45  | 045 |
-------------
| 500 | 500 |
-------------

Abbiamo la colonna iniziale (A) con numeri interi che vogliamo riempire. La colonna (B) conterrà la formula speciale per elaborare i dati.

Concatenare!

Prima di tutto abbiamo bisogno di un modo per concatenare il valore dalla Acolonna con la stringa di riempimento. Possiamo farlo con la CONCATENATEfunzione:

=CONCATENATE("00", A2)

Ripetere!

In questo momento, il carattere di riempimento 0viene ripetuto due volte nella nostra formula. Questo non è un bene. Possiamo usare la REPTfunzione per ripetere il nostro carattere di riempimento più volte in questo modo:

=REPT("0", 2)

Questa formula si ripeterà 0due volte. Combiniamoli:

=CONCATENATE(REPT("0", 2), A2)

Calcola la lunghezza!

Va meglio. Ma la lunghezza del riempimento ha un valore costante nella nostra formula e non funzionerà con numeri maggiori di 9. Possiamo risolverlo calcolando la lunghezza della stringa imbottita (usando la LENfunzione) e sottraendola dalla nostra lunghezza target:

=3-LEN(A2)

Aggiungiamolo alla nostra formula:

=CONCATENATE(REPT("0", 3-LEN(A2)), A2)

Tuttavia, otterremo risultati negativi per valori superiori a 999 e interromperà la REPTfunzione (il numero di ripetizioni non può essere negativo).

Possiamo facilmente risolverlo aggiungendo una condizione:

=IF(LEN(A2)<3, "APPLY REPT", "OUTPUT AS IS")

Mettiamo insieme le ultime paci:

=IF(LEN(A2)<3, CONCATENATE(REPT("0", 3-LEN(A2)), A2), A2)

Perfezionare! Questa è la risposta migliore e funziona con valori non numerici ;-D
t3chb0t
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.