Excel: Jak przekonwertować „ciąg” na „liczbę”?

17

Mam użytkownika z zapytaniem z bazy danych SQL, który zwraca ciąg znaków w tej formie:

000123123.23000
000123123.23000
000123123.23000
000123123.23000
000123123.23000

To są naprawdę liczby, jednak nie można ich sumować. Prawidłowym sposobem rozwiązania tego problemu może być rzutowanie danych w zapytaniu SQL, ale wtedy przeglądarka zapytań programu Excel nie może ich wyświetlić. Jako obejście tego dokonuję

 = <CELL> +1 -1.

Czy istnieje bardziej eleganckie rozwiązanie?

SirStan
źródło

Odpowiedzi:

27

Myślę, że funkcja wartości może ci się przydać

 = VALUE(< CELL >)

PD:

W języku hiszpańskim używamy funkcji VALOR:

 = VALOR(< CELL >)

myślę, że powinno być tak samo w języku angielskim

Jhonny D. Cano -Leftware-
źródło
Dokładnie tego szukałem! Myślałem, że może istnieć funkcja eval () lub taka - ale to jest to!
SirStan,
cieszę się, że mogę być pomocny !!!
Jhonny D. Cano-Lewica-
1

Używam tego małego makra

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

Które konwertuje wszystkie podświetlone komórki na liczby, jeśli są ciągami

Przełęcz
źródło
Niestety nie zadziała to w obszarze zapytań do bazy danych.
SirStan,
Chodzi o to, że nie sądzę, aby można było naprawić dane na miejscu, jeśli pochodzą one z zapytania. Myślę, że funkcja wartości jest dla Ciebie najlepsza.
Kol.
0

Miałem ten sam problem, ale funkcja WARTOŚĆ nie działała w moim pliku tsv. Ale mała sztuczka spełniła zadanie:

  1. wybierz kolumnę z liczbami w formacie tekstowym

  2. Ctrl+ F-> wymienić .z,

(Zwykle nienawidzę takich rozwiązań, ale jak już powiedziano, po prostu zamieszczam je tutaj, ponieważ „normalny” sposób ich rozwiązania nie zadziałał.)

Karl
źródło
Karl, ta odpowiedź mnie zaskoczyła. Jedynym sposobem, w jaki mogłem zobaczyć, jak działa, jest zmiana lokalna, w której przecinek jest używany jako separator dziesiętny.
fixer1234