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.