Excel: Comment convertir une "chaîne" en un "nombre"?


17

J'ai un utilisateur avec une requête d'une base de données SQL qui renvoie une série de chaînes sous cette forme:

000123123.23000
000123123.23000
000123123.23000
000123123.23000
000123123.23000

Ce sont vraiment des chiffres, mais ils ne peuvent pas être additionnés. La bonne façon de résoudre ce problème peut être de convertir les données dans la requête SQL, mais l'afficheur de requêtes Excel ne peut pas l'afficher. Comme solution de contournement, je fais

 = <CELL> +1 -1.

Existe-t-il une solution plus élégante?

Réponses:


27

Je pense que la fonction de valeur peut vous être utile

 = VALUE(< CELL >)

PD:

En espagnol, nous utilisons la fonction VALOR:

 = VALOR(< CELL >)

je pense que ça devrait être pareil en anglais


Exactement ce que je cherchais! J'ai pensé qu'il pourrait y avoir un eval () ou une telle fonction - mais c'est tout!
SirStan

heureux d'être utile !!!
Jhonny D. Cano -Leftware-

1

J'utilise cette petite macro

Sub txttonum()
    For Each tcell In Selection.Cells
        If TypeName(tcell.Value) = "String" Then
            tcell.Value = Val(tcell.Value)
        End If
    Next
End Sub

Qui convertit toutes les cellules en surbrillance en nombres s'il s'agit de chaînes


Cela ne fonctionnera malheureusement pas sur une zone de requête de base de données.
SirStan

Bon point, je ne pense pas qu'il existe un moyen de corriger les données in situ si elles proviennent d'une requête. Je suppose que la fonction de valeur est la meilleure pour vous.
Col

0

J'ai eu le même problème, mais la fonction VALUE ne fonctionnait pas dans mon fichier tsv. Mais une petite astuce a fait l'affaire:

  1. sélectionner la colonne avec les nombres au format texte

  2. Ctrl+ F-> remplacer .par,

(Normalement, je détesterais de telles solutions, mais comme je l'ai dit, je le poste juste ici parce que la façon «normale» de le résoudre n'a pas fonctionné pour moi.)


Karl, cette réponse m'a déconcerté. La seule façon dont je pourrais le voir fonctionner est s'il y a une variation locale où la virgule est utilisée comme délimiteur décimal.
fixer1234
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.