Pourquoi une colonne Excel formatée en nombre perd-elle son zéro de tête lorsque la colonne est formatée en texte?

8

Je dois exporter une feuille de calcul au format CSV. L'une des colonnes est un code postal avec des codes postaux de la côte est qui ont un zéro en tête. Lorsque je reformate cette colonne en tant que texte dans l'espoir de conserver le zéro de tête à l'exportation, la colonne passe immédiatement de droite à gauche et le zéro de tête disparaît! Je m'attendrais juste à l'opposé, qu'il pourrait perdre le zéro s'il était reformaté du texte au nombre.

Comment puis-je conserver ce zéro en tête?

mrblint
la source

Réponses:

6

Théorie

Excel a deux notions différentes et indépendantes en ce qui concerne les données dans les cellules: la valeur brute / stockée et la valeur d'affichage .

La valeur "brute" ou stockée correspond aux données réelles dans une représentation non formatée. Le type des données brutes peut être un nombre, un texte, une date, etc.

La valeur "d'affichage" est la façon dont les données sont formatées. Lorsque vous utilisez l'interface graphique Excel, vous voyez la valeur d'affichage, pas la valeur brute.

Le problème est que lorsque vous exportez vers CSV, il prend la valeur brute et l'exporte, pas la valeur d'affichage! Ainsi, même si vous formatez les données pour qu'elles contiennent des zéros non significatifs à l'aide de la boîte de dialogue Formatage des cellules, si la valeur sous-jacente ne contient pas de zéro non significatif, votre exportation ne le sera pas non plus.

Vous devez formater toutes les données sous forme de texte (dans la feuille de calcul Excel), puis ajouter un zéro non significatif le cas échéant. Cela éliminera la valeur d'affichage vous faisant croire que vous avez un zéro de tête dans la valeur brute (vous n'en avez pas).

Solution

Le zéro n'existe pas dans le contenu de la cellule, juste la mise en forme, donc lorsque vous formatez du texte, vous ne l'obtenez pas. Vous pouvez essayer d'utiliser une formule dans la colonne suivante, par exemple si vous avez des codes postaux à 5 chiffres (?) Avec des entrées en A2, mettez cette formule en B2

=TEXT(A2,"00000")

copier la formule dans la colonne

Le résultat est une valeur de texte (éventuellement avec un zéro de tête réel). Une fois que vous avez cette valeur dans une autre colonne, vous pouvez copier et faire "Coller les valeurs" sur la colonne d'origine pour remplacer toutes les données sous-jacentes par les données à remplissage nul. Supprimez ensuite la colonne supplémentaire.

barry houdini
la source
Salut Barry, excellente réponse, j'ai ajouté un peu de "théorie" de fond plutôt que de poster une autre réponse ... n'hésitez pas à éditer comme vous le souhaitez, c'est une réponse collaborative :-)
allquixotic
@allquixotic, pas de problème, jolis ajouts
barry houdini
2

Vous avez des nombres dans les cellules, pas du texte. Une valeur numérique de 02010 est identique au nombre de 2010. Le formatage en tant que texte donne la représentation textuelle normale de 2010, pas 02010.

Pour conserver les zéros non significatifs, saisissez les données sous forme de chaîne et non de nombre. Par exemple, entrez = "02010" comme valeur.

Pour afficher simplement les zéros non significatifs, en supposant que tous les nombres sont de la même longueur (par exemple, cinq chiffres), utilisez un format personnalisé. Sélectionnez 0 dans la liste personnalisée FO, puis changez-le en 00000. Tous les nombres s'affichent sous forme de cinq chiffres, avec des zéros en tête. Cependant, si vous enregistrez ces données dans un fichier CSV, les zéros non significatifs ne seront pas là. La seule façon de les conserver est de saisir les données sous forme de chaînes.

Charles Engelke
la source
Nous obtenons ces données d'une variété de tiers. On dirait que nous n'avons pas de chance, car nous sommes à la merci des personnes qui saisissent les données et ne pouvons pas les forcer à le faire de manière intelligente. J'ai été surpris que sa conversion en texte supprime le zéro. Cet IMO est un effet secondaire, pas une simple représentation sous forme de chaîne de la valeur affichée, alors que je m'attendrais à ce qu'une cellule formatée en nombre supprime un zéro de tête.
mrblint
0

Cela fait longtemps que je n'ai pas utilisé Excel, mais j'ai toujours utilisé pour préfixer le zéro de tête avec un 'et Excel le traiterait comme une chaîne au lieu d'essayer de l'interpréter comme un nombre.

Sander Steffann
la source