Excel преобразовывает значение 0503E000 в 5.03E + 02 в любой ячейке автоматически в CSV. Я попытался преобразовать его в текстовое число и общее значение, но после сохранения и повторного открытия снова возвращается к 5.03E + 02.
Как я могу предотвратить это?
microsoft-excel
csv
xls
CrashOverride
источник
источник
DEC2HEX
иHEX2DEC
строки для исходного числа (например,=DEC2HEX(HEX2DEC("0503E000"))
для вашего примера). Это может не помочь, если вам нужно манипулировать файлом csv без формул, но это еще один вариант, кроме форматирования как текста.Ответы:
Я думаю, что ключевая проблема здесь заключается в том, что вы используете CSV, в который не встроен тип ячейки. Excel автоматически пытается интерпретировать ячейку как имеющую научный номер, поэтому вы видите 5.03E + 02 вместо 0503E000 .
Попробуйте создать книгу Excel и отформатировать все ячейки как текст, а затем вставить данные. Я попробовал это в Excel 2013, и это сработало.
источник
Если вы можете преобразовать или контролировать формат CSV , вы можете принудительно проанализировать столбец как текст в Excel, заключив его в двойные кавычки и добавив знак равенства.
Excel будет небрежно отбрасывать точность в этом формате:
Или даже этот формат:
Преобразование его в:
Однако добавление знака равенства заставляет Excel неохотно сохранять ваши данные:
... который открывается как:
источник
Вместо « открытия » файла CSV в Excel, выберите « Импортировать файл» (в Excel 2007-2010 вы должны перейти на ленту данных / «Получить внешние данные / из текста»). Не уверен насчет 2013 года, но должно быть что-то подобное. Когда после этого откроется мастер импорта текста, который предоставит вам возможность отформатировать столбец, содержащий это значение, как текст, прежде чем Excel (не так услужливо) изменит его на числовое значение.
источник
this
, остальное было бы ясно. Думаю, я старею :-(Запустите ячейку с апострофом, чтобы вызвать интерпретацию текста:
По сути, это говорит Excel не анализировать поле как число. Поскольку в поле есть буква «E», в Excel она выглядит как число. Апостроф фактически не будет введен в клетку:
Ячейка «b1» будет отображать 84074496.
источник
Попробуйте загрузить файл (данные, извлеченные из таблицы БД) через опцию DATA в MS Excel, затем просто во время загрузки просто выберите «Не определять типы данных» в «Обнаружении типов данных», затем загрузите, это сохранит формат данных. и загружает Excel, нет необходимости каких-либо преобразований столбцов.
источник
Вставьте данные в электронную таблицу Google. Выберите столбец ==> Формат ==> Число => Пользовательский формат => введите количество цифр, для которых вы хотите, чтобы форматирование происходило (например: 10 цифр = 0000000000)
источник
При стандартном форматировании ячеек числа с нулем впереди и длинными числами автоматически изменяются в Excel. Например, если вы введете 012, он будет изменен на 12.
Если вы отформатируете ячейки как текст , то любое число, введенное в ячейку, останется без изменений и не будет изменено в Excel.
Однако, если вы вставите число из другого источника в ячейку, отформатированную как текст , и в источнике есть какое-либо форматирование, форматирование ячейки изменится с текста на общее , и манипуляции с числами вернутся.
Решением, которое я нашел, было сделать специальную вставку и вставить число как текст . Затем ячейка остается с форматированием текста , а число не изменяется вообще.
источник