2012-04-16 20:39:25 +0000 2012-04-16 20:39:25 +0000
121
121
Advertisement

Почему Excel рассматривает длинные числовые строки как научную нотацию даже после изменения формата ячейки на текст

Advertisement

я пытаюсь обработать некоторые данные в Excel. Данные включают цифровые номера счетов и другие длинные цифровые строки (например, MEID сотового телефона). Я не выполняю математических операций с этими строками, поэтому хочу, чтобы в Excel они рассматривались как простой текст.

Вот что сводит меня с ума (это Excel 2010):

  1. Возьмите длинный номер 1240800388917 и вставьте его в ячейку в новом листе.
  2. Формат ячейки Excel по умолчанию общий, поэтому строка представлена в научной нотации как 1.2408E+12
  3. Щелкните правой кнопкой мыши по ячейке, выберите Format Cells, установите формат Text

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

Теперь, если я делаю шаги в другом порядке:

  1. Отформатируйте пустую ячейку как текст. Щелкните правой кнопкой мыши по ячейке, выберите Format Cells, установите формат Text
  2. Возьмите длинный номер 1240800388917 и вставьте его в ячейку с текстовым форматированием

Теперь ячейка отображается в виде строки, а не в научной нотации.

Результаты остаются в научной нотации, даже если ячейка форматирована в виде текста просто кажется мне сломанной. Я видел предложил обходные пути, как: использовать CSV импорт и установить формат в текст, добавить символ пробела в начале каждой числовой строки, и другие.

Есть ли простая хорошая работа вокруг, чтобы легко держать эти строки форматированы в виде текста?

Почему Excel делает это?

Связанные вопросы SU я нашел Как заставить Excel 2007 перестать форматирование больших чисел в научной нотации? и Это поведение Excel с ожидаемым большим шестнадцатеричным числом?

Advertisement

Ответы (13)

171
171
171
2014-07-23 10:53:47 +0000

Это сработало для меня в Excel 2010. Просто выберите столбец, щелкните правой кнопкой мыши, Формат ячеек, Настройка и выберите опцию, которая говорит 0 (вторая опция под Общим).

23
23
23
2012-04-16 23:45:51 +0000

Ах, воспоминания о съемке данных с тех пор, как я сделал огромное количество перекрестной проверки в Excel (никогда больше)… Когда вы пробиваете длинные числовые строки в Excel, попробуйте, скажем, 12345678901234567890 (20 цифр), Excel обычно convert it для вас, что означает, что 20-значное число, которое вы только что подключились, было урезано, чтобы быть только около пятнадцати значащих цифр.

Примечание также: преобразование является усечением, в отличие от округления. (12345678901234567890 - это 1.2345678901234 6 E+19, но Excel покажет вам 1.2345678901234 5 E+19)

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

13
Advertisement
13
13
2012-09-28 16:44:58 +0000

Я обнаружил, что в Office 2010, если сначала отформатировать столбец, а затем вставить данные, он будет корректно отображать большие цифры.

13
13
13
2012-04-16 21:01:00 +0000

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

12
Advertisement
12
12
2013-07-05 07:44:11 +0000

Попробуйте это… это работает для меня, Excel 2013.

=""&a1

, где a1 держит числовое значение. После этого скопируйте столбец и вставьте в исходный столбец.

6
6
6
2016-11-03 17:38:40 +0000

Я знаю возраст вопроса, но это тот, который я приземлился после поиска в Google, и который не ответил на мой вопрос (почему форматирование как текст не работает и почему число сокращается до 15 цифр после форматирования как текст).

Короткий ответ: вы не можете работать с вашим номером так, как вам нравится ПОСЛЕ того, как вы ввели числовое значение и нажали Enter. В тот момент, когда вы это сделаете, номер будет усечен до 15 цифр и представлен как экспоненциальный.

Это не ошибка, это особенность.

Все, что вы сделаете после этого, будет использовать усеченное значение, так что никакой трюк с форматированием не поможет. Тем не менее, вы можете использовать опцию Text to columns для преобразования экспоненциальной нотации в текст (Нажмите на заголовок колонки, Text to data, затем Delimited, Next, снять галочку со всех полей разделителя, выбрать Text в Column data format, а затем Finish), чтобы значения были преобразованы в текст и сразу же отображались в виде 15-значного числа. Но, это будет только 15-значное число, так что, если у вас было больше номера, остальное будет потеряно.

Для того, чтобы иметь номер в электронной таблице точно так, как вы напечатали его в тексте, вы должны сохранить его как текст. Таким образом, вы должны опередить его апострофом или форматировать ячейки как текст** перед тем, как набирать/копировать в него значения. Если это “иногда не работает”, то, извините, вы либо делаете что-то не так, либо имеете какую-то автокоррекцию (если вы используете апостроф и большое число >15 цифр, Excel рассматривает это как неправильное значение и помечает ячейку предупреждающим сообщением, так что это замечание не является ни личным, ни критическим).

Другой способ сделать это в массовых числах - это импортировать значения из текстового файла. Осмелюсь сказать, что это единственный способ для большинства ситуаций. И обязательно импортируйте файл, а не просто открывайте его, так как Excel относится к типу csv как к родному формату и обрезает большие числа до 15 цифр.

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

5
Advertisement
5
5
2014-07-02 15:02:30 +0000

Вы можете отформатировать ячейки как Custom > #

Это может быть применено после вставки данных в столбец, но вы должны сделать это перед сохранением таблицы.

Я много работаю со штрих-кодами (UPC) и excel отформатирует их как научную нотацию по умолчанию. Сводит меня с ума! Почему это не вариант, о котором я никогда не узнаю.

3
3
3
2013-08-14 22:15:18 +0000

Excel 2010: Это работает по одному столбцу за раз, а не вообще для строки. Выберите столбец или подмножество столбцов, на закладке “Данные” выберите “Текст к столбцам” и перейдите вправо к “Готово”. Больше никакой научной нотации.

Я согласен со многими пользователями Excel, это преступно, что нет возможности предотвратить научную нотацию!

1
Advertisement
1
1
2018-02-28 21:47:55 +0000

Excel расстраивает такую работу с CSV/большой объем данных. Работайте с LibreOffice, если это возможно, он этого не делает, то есть, если вы открываете один и тот же лист (.xlsx) в Libreoffice, то большие “числа”, которые на самом деле являются строками, не отображаются в научной нотации (что является абсурдным решением Excel). Файловая точность LibreOffice великолепна: откройте тот же самый .xlsx в Excel снова, и научная нотация мгновенно “заработает”, как обычно.

1
1
1
2015-10-21 19:48:37 +0000

В Excel 2013 со мной случилось то же самое, и я просто пошел в Format Cells -> Номер, а затем убедился, что десятичный разряд установлен на “0”.

0
Advertisement
0
0
2013-09-27 18:39:24 +0000
  1. Скопируйте/вставьте проблемное поле в новый лист в колонке A

  2. Скопируйте/вставьте колонку A в текстовый файл

  3. Форматирование колонки В в текст и вставка текстового файла в колонку В

  4. В колонке С:

  5. Преобразование колонки С в формат чисел без десятичных знаков

  6. Копировать/вставить колонку С в текстовый файл

  7. Форматировать колонку D в текст и вставить текстовый файл в колонку D

  8. В колонку E:

  9. Скопируйте/вставьте колонку Е в блокнот

  10. Удалите данные в проблемном поле и отформатируйте колонку в текстовый файл

  11. Скопировать/вставить данные из текстового файла в проблемное поле.

0
0
0
2014-01-28 22:58:15 +0000

Это сработало для меня в Excel 2013, в том числе копирование-вставки ячеек в другие программы. Фильтрация данных помогла, особенно для этапов редактирования.

  1. Выберите нужные ячейки.
  2. Применить Формат числа “Текст”. (Попробуйте Alt, H, N, затем “Текст”.)

Тогда для каждой нужной ячейки:

  1. Войдите в режим редактирования. (Попробуйте F2.)
  2. Подтвердите редактирование либо с помощью Enter (хорошо для столбцов), либо с помощью Tab (хорошо для строк). Не изменяйте содержимое.

Ваш номер будет отображаться нормально, даже при 100 цифрах. =).

0
Advertisement
0
0
2012-04-17 05:40:42 +0000

Выберите все ячейки - или, чтобы все упростить - выберите всю электронную таблицу и нажмите кнопку Format Cells, затем Text.

Автоматически, вся электронная таблица будет использовать текст. Вам не нужно делать это по ячейкам.

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

6
13
9
10
12
Advertisement