#excel
#excel
Вопрос:
Мне дали Excel для импорта в базу данных, он был экспортирован из базы данных Access. в Excel есть столбец type_class
, в одном Excel это хорошо (лист1), но в другом Excel, который я переместил на лист2, чтобы сделать VLOOKUP
функцию, я не могу сказать, текст это или нет.числовой столбец с первого взгляда. верхний левый зеленый цвет отображается не во всех ячейках. но, используя ISTEXT
функцию result in text
. ниже приведен исходный столбец без каких-либо изменений или форматирования, а также ISTEXT
результат.
когда я использую столбец в VLOOKUB
функции для переноса имени на первый лист, только (1010, 1101, 1102,….), отсюда и ячейки с зеленой меткой в левом верхнем углу.
Я могу легко отформатировать ключ в листе 1, используя text-to-columns
форматирование ячеек и любым другим способом.
но я не могу изменить столбец в sheet2, я пытался:
- Преобразование текста в столбцы
- Форматирование ячеек
- ЗНАЧЕНИЕ (текст), ОЧИСТИТЬ (текст), ОБРЕЗАТЬ (текст), ОБРЕЗАТЬ (ОЧИСТИТЬ (текст)), ОЧИСТИТЬ (ЗАМЕНИТЬ ())
- Умножить на 1
но только ячейка с зеленой меткой изменяется на число, остальное остается прежним. Я просматривал Интернет, но тоже не нашел решения.
Редактировать: я загрузил то, что нужно для проверки случая на диске. вы можете найти его здесь
Помощь приветствуется
Комментарии:
1. Возможно, в ячейках есть некоторые непечатаемые символы, из-за которых вы не можете преобразовать текст в числа.
2. @RonRosenfeld, я пробовал
CLEAN()
,TRIM(CLEAN)
,CLEAN(SUBSTITUTE)
. НИ ОДИН не сработал3. Сначала вам нужно выяснить, что там. Эти функции не будут работать со многими непечатаемыми символами. Сделайте простой
=LEN(cell_ref)
, чтобы убедиться, что это предположение верно. Затем используйтеMID
, чтобы выяснить, что это за символ.4. @RonRosenfeld, результат равен 6 для ячеек, в которых я не могу преобразовать текст в числа, и для других.
MID
результат в том же самом столбце,MID(0810)
результаты0810
. Я отредактировал свой ответ и добавил образец Excel, загруженный на Google Диск. очень ценю вашу помощь5. Я не вижу никакой ссылки на файл, но см. Мой ответ для метода устранения неполадок.
LEN
Результаты вашей формулы доказывают, что в ваших неконвертируемых строках цифр есть посторонние символы.
Ответ №1:
Для ваших цифровых строк, которые вы не можете преобразовать в текст, из комментариев кажется, что в этой строке есть дополнительные символы, которые нельзя удалить с помощью TRIM
или CLEAN
.
- Определите, что это за символ
- Предположим, что «неконвертируемая» строка цифр находится в
A1
- Введите следующую формулу
B1: =MID($A$1,ROWS($1:1),1)
и заполнитеC1: = UNICODE(B1)
и заполните
- Исходя из этого, вы можете определить символ для использования в
SUBSTITUTE
функции.
- Предположим, что «неконвертируемая» строка цифр находится в
Например:
Из приведенного выше мы видим, что символьный код, от которого нам нужно избавиться, является 160
.
Поэтому мы используем:
=SUBSTITUTE(A1,CHAR(160),"")
или преобразовать его за один шаг в число:
=--SUBSTITUTE(A1,CHAR(160),"")
Примечание. Если код символа> 255, используйте UNICHAR
вместо CHAR
в SUBSTITUTE
функции.
Комментарии:
1. Сработало как шарм. Код символа был
8207
для некоторых ячеек и8206
для других. Спасибо за вашу помощь2. @adelsameer Рад помочь. И эти коды довольно интересны. Они используются для точного определения того, следует ли отображать узел
left-to-right
илиright-to-left
. Итак, возможно, в какой-то момент числа были встроены в отображаемую фразуright-to-left
и должны были быть отображеныleft-to-right
.
Ответ №2:
Без примера я использую value() для преобразования того, что Excel принимает как текст, вот так:
=value(left(“10kg”,2))
Или также работает следующее:
=left(“10kg”,2)*1
Обратите внимание, что эти двойные кавычки должны быть прямыми — извините, смартфон не всегда умен…
И если возникают проблемы с начальными или конечными пробелами, то trim() является одним из решений.