4

Я не могу преобразовать текстовое значение 5 205 со средним пробелом в 5205 в Excel. Если я оставлю значение, как это, мой график отчета с суммой отображает 0.

Если я пытаюсь преобразовать текст, используя следующую формулу:

  VALUE(TRIM(B297))

это возвращает ошибку.

Даже если я преобразую ячейку в число, она оставляет значение как есть. Моя сумма все еще возвращает 0.

=VALUE(SUBSTITUTE(B297," ","")) тоже не работает.

Снимок экрана, показывающий результат # ЗНАЧЕНИЕ

7 ответов7

3

Символ, который создает разделение (первоначально называемый "пробелом"), вообще не может быть пробелом.

Попробуйте - с помощью мыши выберите только пустой «символ» и вставьте его между «» метками в формуле замены.

или попробуйте одну из этих трех формул

=SUBSTITUTE(A1,CHAR(10),"")

=SUBSTITUTE(A1,CHAR(9),"")

=SUBSTITUTE(A1,CHAR(13),"")

Что они делают? Это коды символов для различных типов перевода строки / возврата каретки.

Попробуйте и доложите.

2

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

С текстовой строкой в ячейке A1:

=SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW($1:$256),1))*ROW($1:$256),0),ROW($1:$256))+1,1)*10^ROW($1:$256)/10)

Некоторые примеры:

2

Чтобы заменить пробел " " в A2 на "" пустым, напишите следующую формулу:

=VALUE(SUBSTITUTE(A2," ",""))

Скопируйте все результаты и вставьте специальные -> значения в новый столбец, чтобы легко ими управлять.

Обновление: попробуйте эту формулу:

=VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B297,CHAR(10),""),CHAR(9),""),CHAR(13),"")," ",""))

Он удаляет не только пробелы, но и другие пустые символы (HT, LF и CR).

2

Поскольку ответ был «это не пробел» - если вы хотите узнать, какие все символы находятся в ячейке, этот макрос напечатает их для вас, и вы сможете сравнить их со значениями ascii.

Sub WhatIsThat()
    Dim testCell As Range
    Dim testString As String
    Dim i As Long

    Set testCell = Range("A1")
    testString = testCell.Value

    For i = 1 To Len(testString)
        Debug.Print Asc(Mid(testString, i, 1))
    Next

End Sub
1

Замените пробелы с помощью функции SUBSTITUTE :

=VALUE(SUBSTITUTE(A2," ",""))

0

Выберите ячейки, из которых вы хотите удалить пробел. Нажмите Ctrl+F, перейдите, чтобы find and replace , поместите пробел (или любой символ, который вы хотите заменить) на входе find и ничего на вводе replace , нажмите кнопку replace all , готово.

0
=VALUE(SUBSTITUTE(B297,"$",""))

Затем дважды щелкните B297, выберите значение от 5 до 205, скопируйте его и замените символ $ в формуле. Пространство изменяется на U+00A0, когда я копирую его в Excel.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .