43 votes

Pad numbers to specific length in Google Spreadsheet

J'ai une colonne avec des nombres entiers comme ceci : 1, 2, 3, 4, 5 et je veux créer une autre colonne avec ces valeurs remplies jusqu'à une longueur de trois comme ceci : 001, 002, 003, 004, 005.

Est-il possible de remplir une chaîne jusqu'à une certaine longueur dans Google Spreadsheet ?

Je n'ai pas pu trouver de fonction standard pour cela.

70voto

Lennart Rolland Points 996

La manière recommandée est d'utiliser la fonction TEXT().

Résumé rapide de comment vous l'utiliseriez dans votre cas :

=TEXT(5,"000")

Donnerait en sortie :

005

Bien sûr, vous substitueriez le chiffre 5 par une référence à une autre cellule où se trouve le numéro source.

12voto

sylr Points 119

Si vous souhaitez simplement afficher des modifications, vous pouvez appliquer le format de nombre personnalisé "000" aux cellules. entrer la description de l'image ici

Sélectionnez les cellules, cliquez sur Format > Nombre > Autres formats > Format de nombre personnalisé....

À partir de Aide des éditeurs de Docs:

Un chiffre dans le nombre. Un 0 insignifiant apparaîtra dans les résultats.

4voto

user125902 Points 16

Solution temporaire

Voici la solution temporaire que j'ai trouvée.

Formule de travail

Utilisez simplement cette formule :

`=SI(LONGUEUR(A2)<3, CONCATENER(RÉPTER("0", 3-LONGUEUR(A2)), A2), A2)`

Remplacez 3 par la longueur du rembourrage et 0 par le caractère de rembourrage. A2 est la source du rembourrage.

Explication

Considérez la feuille de calcul suivante :

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

Nous avons une colonne initiale (A) avec des entiers que nous voulons rembourrer. La colonne (B) contiendra la formule spéciale pour traiter les données.

Concaténer !

Tout d'abord, nous avons besoin d'une façon de concaténer la valeur de la colonne A avec une chaîne de rembourrage. Nous pouvons le faire avec la fonction CONCATENER :

=CONCATENER("00", A2)

Répéter !

Actuellement, le caractère de rembourrage 0 est répété deux fois dans notre formule. Ce n'est pas bon. Nous pouvons utiliser la fonction RÉPTER pour répéter notre caractère de rembourrage plusieurs fois comme ceci :

=RÉPTER("0", 2)

Cette formule répétera 0 deux fois. Regroupons-les :

=CONCATENER(RÉPTER("0", 2), A2)

Calculer la longueur !

C'est mieux. Mais la longueur du rembourrage a une valeur constante dans notre formule et cela ne fonctionnera pas avec des nombres supérieurs à 9. Nous pouvons corriger cela en calculant la longueur de la chaîne rembourrée (en utilisant la fonction LONGUEUR) et en la soustrayant de notre longueur cible :

=3-LONGUEUR(A2)

Ajoutons-le à notre formule :

=CONCATENER(RÉPTER("0", 3-LONGUEUR(A2)), A2)

Cependant, nous obtiendrons des résultats négatifs pour des valeurs supérieures à 999 et cela cassera la fonction RÉPTER (le nombre de répétitions ne peut pas être négatif).

Nous pouvons facilement corriger cela en ajoutant une condition :

=SI(LONGUEUR(A2)<3, "APPLIQUER RÉPTER", "SORTIE TEL QUELLE")

Regroupons les derniers éléments ensemble :

=SI(LONGUEUR(A2)<3, CONCATENER(RÉPTER("0", 3-LONGUEUR(A2)), A2), A2)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X