Чому Excel розглядає довгі числові рядки як наукові позначення навіть після зміни формату комірки на текст


117

Я намагаюся обробити деякі дані в Excel. Дані включають числові номери рахунків та інші довгі рядки з числовим числом (наприклад, MEIDs стільникового телефону). Я не роблю математичних операцій над цими рядками, тому хочу, щоб Excel розглядав їх як звичайний текст.

Ось що мене змушує (це Excel 2010):

  1. Візьміть довге число, як 1240800388917, і вставте його в комірку на новому аркуші.
  2. Формат комірок за замовчуванням Excel є загальним, тому рядок представлений у науковій нотації як 1.2408E + 12
  3. Клацніть правою кнопкою миші на комірці, виберіть Формат ячеек, встановіть формат Текст

Клітина все ще відображається в наукових позначеннях, навіть незважаючи на те, що формат був встановлений як текст.

Тепер, якщо я виконую дії в іншому порядку:

  1. Відформатуйте порожню комірку як текст. Клацніть правою кнопкою миші на комірці, виберіть Формат ячеек, встановіть формат Текст
  2. Візьміть довге число, як-от 1240800388917, і вставте його в текстовий формат клітинки

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

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

Чи є якась добра робота навколо, щоб легко зберегти ці рядки у форматі тексту?

Чому на Excel це робить?

Пов'язані питання щодо СУ, які я знайшов: Як можна змусити Excel 2007 припинити форматування великої кількості як наукової нотації? і чи очікується така поведінка Excel з великим шістнадцятковим числом?


Чи довге число 1240800388917копіюється з іншої комірки? Або просто звичайний текст, як із Блокнота?
Вілсон

Відповіді:


24

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

Зауважте також: конверсія - це скорочення, на відміну від округлення. (12345678901234567890 - це 1,22345678901234 6 E + 19, але excel покаже вам 1,22345678901234 5 E + 19)

Це відбувається в точці введення, тож після його введення втрачається будь-яка додаткова деталь, і тому навіть якщо ви скажете Excel, що ви дійсно мали на увазі, що це текст, а не число, вам щось не пощастило, а отже, чому ваша перша послідовність не працює.


1
Так, я бачу таку поведінку, коли мій числовий рядок має понад 15 значущих цифр. 12345678901234567890 стає 1,223456789012345E + 19, як ви кажете. Коли я натискаю на клітинку, у вікні редагування відображається рядок, урізаний і зафіксований нулями як 12345678901234500000. Дивно, що він робить те саме, що для чисел, які не переповнюють 15-значне обмеження. Якщо я вставляю в 12345678901234, він відображається як 1.23457E + 13, але коли я натискаю на нього, поле редагування все ще показує початковий рядок. Тепер, що дивно, якщо я відформатую цю клітинку до тексту, вона все одно виявляється в науковій нотації. Дратівливий.
Майкл Леві

7
Насправді це трохи вигадка щодо відображення - встановлення формату від загального до текстового звичаю негайно показує його як початковий рядок, але якщо ви зайшли і відредагували дані (як у, просто натисніть на зону редагування та виберіть ) оновлення буде точно таким, що ви
вкладете

11
Швидкий злом: Встановіть форматування у відповідні стовпці, скопіюйте пасту в блокнот, а потім у Excel.
Брайан

9
Це повинно НЕ БУТИ ПРИЙНЯТИЙ ВІДПОВІДЬ : побачити наступну нижче.
javadba

3
Таким чином, ви нагадували та ще раз повторили проблему. Тепер, як це виправити?
користувач3932000

162

Це працювало для мене в Excel 2010. Просто виберіть стовпчик, клацніть правою кнопкою миші, Форматувати комірки, Спеціальні та виберіть параметр із написом 0 (другий варіант нижче Загального).


25
Це набагато краще, ніж прийнята відповідь, в якій сказано, що "вам щось не пощастило"! У мене був CSV-файл, у якого була ця проблема, і рішення користувальницького форматування працювало чудово.
davidair

4
треба прийняти відповідь, хтось повинен / міг змінити?
qwertzman

11
Це все ще в моєму тесті усечеться. Використовуючи Excel 2013, я вписав наступне у комірку 12345678901234567890. При натисканні клавіші введення це відображається як 1.23457E + 19, а базове значення змінюється на 12345678901234500000, тому є втрата даних. Це не відповідає на початкове запитання.
Майкл Леві

1
Ось я через рік переглядаю ту саму відповідь і бажаю, щоб я її знову схвалив.
billynoah

7
Ця відповідь фіксує форматування, але не зберігає введені дані. Тому я не можу прийняти це як правильну відповідь. Я розмістив коротке відео для показу. Виконуючи ці вказівки, а потім вводите довге ціле число, наприклад 12345678901234567890, ви втрачаєте точність, трактуючи його як числовий, навіть якщо він відображається в ненаукових позначеннях. Excel трактує це як значення 12345678901234500000. Тільки обробляючи його як текст, ви можете зберігати всі цифри. Дивіться youtu.be/7EDcR7TQpYs
Майкл Леві

13

Один апостроф перед числом змусить Excel розглядати число як текст (включаючи вирівнювання ліворуч за замовчуванням). І якщо у вас виникли помилки, вони відображатимуться як число, збережене як текстова помилка у комірці.


Це не завжди так. Excel іноді озвучував мої дані навіть із провідним апострофом.
Серін

3
Серін, справедливий момент - ніколи не варто недооцінювати здатність Excel (або Microsoft) робити щось абсолютно незрозуміле або повторюване. Однак прийом апострофа, як правило, працює так, як рекламується.
дан

1
ви можете це зробити оптом? У мене є дані з 60000 комірок, які я хочу перетворити на текст.
vaibhavcool20

Або просто виберіть формат у форматі тексту правою кнопкою миші, меню Форматувати комірки;)
Шаян

13

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


Це, мабуть, тому, що він зберігається як рядок. Що станеться, якщо ви зробите іншу клітинку, скажімо, вміст комірки, помножений на 2?
Пітер Мортенсен

1
Це працює в Excel 2016 / Office 365. Я вибрав усі комірки, відформатував їх у тексті, а потім вставив свої скопійовані дані, і це не відображалося з набридливими науковими позначеннями. Дякую!
frezq

Це те, що також працювало для мене в Google Sheets ... "Формат> Число> 0" перед вставкою у vals і не перетворювалося на наукові позначення, а також НЕ втрачало кінцевих значень (округлення валів), що траплялося занадто часто .
twknab

12

Спробуйте це ... це працює для мене, Excel 2013.

=""&a1

де a1 утримує числове значення. Після цього скопіюйте стовпчик і вставте його в оригінальний стовпець.


Це працює і в Excel 2010.
Пол G

2
Як бічний вузол: ="1240800388917"чи те саме
nixda

5

Ви можете форматувати комірки як власні> #

Це можна застосувати після вставки даних у стовпчик, але це потрібно зробити перед тим, як зберегти електронну таблицю.

Я багато працюю з штрих-кодами (UPC), і excel відформатуватиме їх як наукові позначення за замовчуванням. Наганяє мене горіхів! Чому це не варіант, я ніколи не знаю.


Однак це не перетворює числа в текст, що може спричинити проблеми згодом. Але добре ...
Joris Meys

5

Мені відомо вік питання, але це той, який я приземлився після пошуку в 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. Просто зробіть клітинку ширшою, і ви побачите повну вартість кожного разу.


3

Excel 2010: Це працює по одному стовпцю за раз і зовсім не для рядка. Виберіть стовпчик або підмножину стовпця, на вкладці "Дані" виберіть "Текст до стовпців" та перейдіть праворуч до "Готово". Більше немає наукових позначень.

Я згоден з багатьма користувачами Excel, злочинним є те, що немає можливості запобігти науковій нотації!


1
У моєму тесті на Excel 2007 мені довелося Next >двічі клацнути , потім вибрати "Текст" та натиснути Finish. Ви можете застосувати це до рядків, перемістивши, перетворивши та перемістивши назад.
Скотт

1

У Excel 2013 зі мною трапилось те саме, і я просто перейшов до Формат ячеек -> Число, а потім переконався, що для десяткового знака встановлено значення "0".


1
подібний до анонімної відповіді вище, але вибір "Число" якимось чином має більше сенсу, ніж вибір "користувацького" .. плюс це вище в списку. все одно, це робить те саме, але мені це подобається краще
billynoah

0

Виберіть усі комірки - або, щоб полегшити роботу, - виберіть всю електронну таблицю та натисніть « Форматувати клітинки» , а потім « Текст» .

Автоматично вся ваша електронна таблиця буде використовувати текст. Вам не потрібно робити це за кліткою.


На жаль, це не працює. Текст буде просто в науковій нотації, ось і вся проблема ...
Joris Meys

0
  1. Скопіюйте / вставте проблемне поле на новий аркуш у колонці A

  2. Скопіюйте / вставте стовпець A у текстовий файл

  3. Відформатуйте стовпець B до тексту та вставте текстовий файл у стовпчик B

  4. У стовпці С:

    =IF(ISNUMBER(SEARCH("+",B1)),A1,"")
    
  5. Перетворіть стовпець C у формат чисел без десяткових знаків

  6. Скопіюйте / вставте стовпець С у текстовий файл

  7. Відформатуйте стовпець D у текст та вставте текстовий файл у стовпчик D

  8. У графі E:

    =IF(IF(IF(B2=A2,A2,D2)=0,A2,IF(B2=A2,A2,D2))=0,"",IF(IF(B2=A2,A2,D2)=0,A2,IF(B2=A2,A2,D2)))
    
  9. Скопіюйте / вставте стовпець Е в блокнот

  10. Видаліть дані з проблемного поля та стовпця форматування в текст

  11. Скопіюйте / вставте дані з текстового файлу в проблемне поле


0

Це працювало для мене в Excel 2013, включаючи копіювання вставлення комірок в інші програми. Фільтрування даних допомогло, особливо для кроків редагування.

  1. Виберіть потрібну клітинку.
  2. Застосуйте формат числа "Текст". (Спробуйте Alt, H, N, потім "Текст".)

Потім для кожної бажаної комірки:

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

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


Не працює для декількох комірок (Excel 365)
Альбін

0

Excel засмучує роботу CSV / масових даних таким чином. Якщо можливо, працюйте з LibreOffice, це не робиться, тобто якщо ви відкриєте один і той же аркуш (.xlsx) у Libreoffice, великі «цифри», які насправді є рядками, не відображаються в науковій нотації (що є абсурдним рішенням від Excel). Вірність файлу LibreOffice чудова: знову відкрийте той самий .xlsx в Excel, і наукова нотація миттєво «працює», як зазвичай.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.