Excel: как преобразовать «строку» в «число»?


17

У меня есть пользователь с запросом из базы данных SQL, который возвращает последовательность строк в этой форме:

000123123.23000
000123123.23000
000123123.23000
000123123.23000
000123123.23000

Это действительно числа, однако их нельзя суммировать. Правильный способ исправить это может заключаться в приведении данных в запросе SQL, но тогда средство просмотра запросов Excel не сможет их отобразить. В качестве обходного пути я делаю

 = <CELL> +1 -1.

Есть ли более элегантное решение?

Ответы:


27

Я думаю, что функция значения может быть полезна для вас

 = VALUE(< CELL >)

PD:

На испанском мы используем функцию VALOR:

 = VALOR(< CELL >)

я думаю, что это должно быть то же самое на английском


Именно то, что я искал! Я думал, что может быть eval () или такая функция - но это все!
SirStan


1

Я использую этот маленький макрос

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

Который преобразует все выделенные ячейки в числа, если они строки


К сожалению, это не сработает в области запросов к базе данных.
SirStan

Хороший вопрос, я не думаю, что есть какой-либо способ исправить данные на месте, если они поступают из запроса. Я думаю, что функция значения является лучшей для вас.
полковник

0

У меня была такая же проблема, но функция VALUE не работала в моем tsv-файле. Но маленький трюк сделал свою работу:

  1. выберите столбец с числами в текстовом формате

  2. Ctrl+ F-> заменить .на,

(Обычно я ненавижу такие решения, но, как я уже сказал, я просто публикую их здесь, потому что «нормальный» способ решения не сработал для меня.)


Карл, этот ответ поставил меня в тупик. Единственный способ увидеть, как это работает, - если есть вариант локали, в котором запятая используется в качестве десятичного разделителя.
fixer1234
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.