Comment empêcher Excel de convertir automatiquement la valeur 0503E000 en 5.03E + 02?


22

Excel convertissant la valeur 0503E000 en 5.03E + 02 dans n'importe quelle cellule automatiquement en CSV J'ai essayé de le convertir en numéro de texte et en général, mais après l'avoir enregistré et rouvert à nouveau, il revient à 5.03E + 02

Comment puis-je empêcher cela de se produire?


redimensionnez simplement la largeur de la colonne et elle devrait s'afficher normalement
Scorpion99

Avez-vous essayé de formater la cellule en tant que texte avant de saisir le texte?
CharlieRB

essayé de redimensionner et de mettre en forme le texte, déjà non ...
CrashOverride

Si vous devez utiliser la valeur comme un nombre hexadécimal (c'est-à-dire que vous ne pouvez pas l'avoir comme chaîne de texte), vous pouvez imbriquer DEC2HEXet les HEX2DECchaînes pour le nombre d'origine (par exemple =DEC2HEX(HEX2DEC("0503E000"))pour votre exemple). Cela peut ne pas aider si vous devez manipuler le fichier csv sans qu'il contienne des formules, mais c'est une autre option en plus de la mise en forme en tant que texte.
Myles

Réponses:


16

Je pense que le problème clé ici est que vous utilisez un CSV, qui n'a pas le type de cellule intégré. Excel essaie automatiquement d'interpréter la cellule comme ayant un numéro scientifique, c'est pourquoi vous voyez 5.03E + 02 au lieu de 0503E000 .

Essayez de créer un classeur Excel et de mettre en forme toutes les cellules sous forme de texte, puis de coller les données. Je l'ai essayé dans Excel 2013 et cela a fonctionné.


Oui, cela fonctionne dans Workbook, mais malheureusement, nous devons utiliser CSV à cet effet ..... dommage
CrashOverride

Donc, n'utilisez pas Excel pour afficher le contenu, ou exécutez une macro sur la cellule, pour la reconvertir ou utilisez une syntaxe légèrement différente si vous avez utilisé 0x avant la valeur que je ne crois pas qu'elle convertirait
Ramhound

Je pense que nous devrons peut-être mettre cela de côté ... parce que si nous l'ouvrons dans un autre éditeur comme le bloc-notes ou le bloc-notes ++, il a la bonne valeur .... donc je pense que la cellule a la bonne valeur juste en l'affichant bizarrement en notation scientifique ....
CrashOverride

26

Si vous pouvez convertir ou contrôler le format CSV , vous pouvez forcer une colonne à analyser en tant que texte dans Excel en l'encapsulant entre guillemets doubles et en ajoutant un signe égal.

Excel supprimera négligemment la précision dans ce format:

Value,0503E000,1234123412341234

Ou même ce format:

Value,"0503E000","1234123412341234"

Le convertir en:

Value  |  5.03E+02  |  1234123412341230

Cependant , l'ajout du signe égal force Excel à conserver à contrecœur vos données:

Value,="0503E000",="1234123412341234"

… Qui s'ouvre comme:

Value  |  0503E000  |  1234123412341234

1
Excellente solution lors du collage à partir de SQL
SeaSprite

1
Excellente solution également lors de l'importation de données via "Obtenir des données externes" dans le menu "Données" d'Excel.
Mohsen Abasi du

1
Excellente solution. Le seul (petit) inconvénient est que vous vous retrouverez avec des formules au lieu de valeurs. Il suffit donc de tout copier puis de coller des valeurs , ce qui conduira à un fichier Excel un peu plus petit.
Stef

9

Au lieu d' ouvrir le fichier CSV dans Excel, sélectionnez pour importer le fichier (dans Excel 2007-2010, vous accéderez au ruban de données / obtenir des données externes / à partir du texte). Vous n'êtes pas sûr de 2013, mais il devrait y avoir quelque chose de similaire. Lorsque vous faites cela, l'Assistant Importation de texte s'ouvrira et vous donnera la possibilité de formater la colonne contenant cette valeur en tant que texte, avant qu'Excel (pas si utile) la change en une valeur numérique.


1
Cette. Je n'ouvre presque jamais les fichiers CSV directement.
pepoluan

@pepoluan Je ne comprends pas ce que vous avez écrit.
Ron Rosenfeld

Quelle partie exactement vous ne comprenez pas?
pepoluan

4
@pepoluan Merci. Si j'avais compris this, le reste aurait été clair. Je suppose que je vieillis :-(
Ron Rosenfeld

1
J'espérais que l'utilisation de "ceci" comme une phrase complète serait morte rapidement, mais 4 ans plus tard, c'est toujours aussi fort.
variante

2

Démarrez la cellule avec une apostrophe pour forcer l'interprétation du texte:

'0502E000

Fondamentalement, cela indique à Excel de ne pas analyser le champ sous forme de nombre. Parce qu'il y a un «E» dans le champ, il ressemble à un nombre pour Excel. L'apostrophe ne sera pas réellement entrée dans la cellule:

[a1] '0502E000
[b1] =hex2dec(a1)

La cellule 'b1' affichera 84074496.


2
Cela fonctionne lorsque vous entrez directement dans Excel, mais pas avec le fichier CSV.
SBF

Lors de l'ouverture d'un fichier csv, l'apostrophe sera en fait entrée dans la cellule
Stef

0

Essayez de charger le fichier (données extraites de la table DB) via l'option DATA dans MS Excel puis simplement pendant le chargement, sélectionnez simplement «Ne pas détecter les types de données» sous «Détection de type de données» puis chargez, cela gardera le format de données tel quel et les charges excellent, pas besoin de conversions de colonnes.


0

Collez les données dans une feuille de calcul Google. Sélectionnez la colonne ==> Format ==> Nombre => Format personnalisé => tapez le nombre de chiffres auxquels vous souhaitez que le format se produise (ex: 10 chiffres = 0000000000)


Je voudrais suggérer de mieux éditer votre message, car j'ai besoin d'ajouter quelques exemples !!
Rajesh S

-1

Avec le formatage de cellule par défaut, les nombres avec un zéro devant et les nombres longs seront automatiquement modifiés par Excel. Par exemple, si vous tapez 012, il sera remplacé par 12.

Si vous mettez en forme les cellules en tant que texte , tout nombre que vous tapez dans la cellule restera tel quel et ne sera pas modifié par Excel.

Cependant, si vous collez un nombre d'une autre source dans une cellule qui est formatée en tant que texte , et dans la source il existe une sorte de mise en forme, la mise en forme de la cellule passera de texte à général et la manipulation des nombres reviendra.

La solution que j'ai trouvée était de faire un collage spécial et de coller le nombre en tant que texte . Ensuite, la cellule reste avec sa mise en forme du texte et le nombre n'est pas modifié du tout.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.