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?

SirStan
la source

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

Jhonny D. Cano -Leftware-
la source
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

Col
la source
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
la source
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