2015-01-07 20:44:09 +0000 2015-01-07 20:44:09 +0000
22
22
Advertisement

Как остановить автоматическое преобразование Excel значения 0503E000 в 5.03E+02?

Advertisement

Excel преобразования значения 0503E000 в 5.03E+02 в любой ячейке автоматически в CSV я пытался преобразовать его в текстовый номер и общие, но после того, как я сохранить его и открыть его снова она возвращается к 5.03E+02 0x2 и 0x2 и как остановить это происходит?

Advertisement
Advertisement

Ответы (7)

27
27
27
2015-01-08 05:58:13 +0000

Если вы можете преобразовать или контролировать CSV формат_, вы можете заставить столбец разобрать как текст в Excel, обернув его в двойные кавычки и предваряя знак равенства.

Excel небрежно отбросит точность в этом формате:

Value,0503E000,1234123412341234

Или даже в этом формате:

Value,"0503E000","1234123412341234"

Преобразование в этот формат:

Value | 5.03E+02 | 1234123412341230

However, добавляя знак равенства, Excel заставляет вас скупо сохранять данные:

Value,="0503E000",="1234123412341234"

…который открывается как:

Value | 0503E000 | 1234123412341234
16
16
16
2015-01-07 21:21:02 +0000

Я думаю, что ключевой проблемой здесь является то, что вы используете CSV, в котором нет встроенного типа ячейки. Excel автоматически пытается интерпретировать ячейку как имеющую научный номер, поэтому вместо 0503E000 вы видите 5.03E+02.

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

9
Advertisement
9
9
2015-01-08 02:35:42 +0000
Advertisement

Вместо Открыть ing" файл CSV в Excel, выберите Импорт файла (в Excel 2007-2010 вы перейдете к ленте данных / Получить внешние данные / Из текста). Не уверен насчет 2013 года, но должно быть что-то похожее. При этом откроется мастер импорта текста, который предоставит вам возможность отформатировать столбец, содержащий это значение как Текст, прежде чем Excel (не так уж и полезно) изменит его на числовое значение.

2
2
2
2015-01-08 07:16:27 +0000

Начните ячейку с апострофа, чтобы форсировать интерпретацию текста:

'0502E000

В основном, это говорит Excel не разбивать поле как число. Поскольку в поле имеется буква ‘E’, для Excel это выглядит как число. Апостроф на самом деле не будет введен в ячейку:

[a1] '0502E000
[b1] =hex2dec(a1)

Ячейка ‘b1’ отобразит 84074496.

0
Advertisement
0
0
2019-07-26 20:41:40 +0000
Advertisement

Вставьте данные в электронную таблицу Google. Выберите столбец ==> Формат ==> Номер => Пользовательский формат => введите количество цифр, к которым вы хотите применить формат (например: 10 цифр = 0000000000).

0
0
0
2019-02-27 15:40:33 +0000

Попробуйте загрузить файл (данные, полученные из таблицы БД) через опцию DATA в MS excel, а затем просто во время загрузки просто выберите “Не обнаруживать типы данных” в разделе “Обнаружение типов данных”, а затем загрузите, это сохранит как есть формат данных и загрузит excel, не нужно никаких преобразований столбцов.

-1
Advertisement
-1
-1
2017-02-07 18:34:08 +0000
Advertisement

При форматировании ячеек по умолчанию, номера с нулем впереди и длинные номера будут автоматически изменяться Excel. Например, если вы наберете 012, она будет изменена на 12.

Если ячейки отформатированы как Text, то любое число, введенное в ячейку, останется неизменным и не будет изменено Excel.

Однако, если вставить в ячейку номер из другого источника, отформатированный как Text, и в источнике отформатированный как Text, то форматирование ячейки изменится с Text на Общие, и произойдет обратная манипуляция с номерами.

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

Advertisement

Похожие вопросы

6
13
9
10
7
Advertisement
Advertisement