Як я можу зупинити Excel від перетворення значення 0503E000 до 5.03E + 02 автоматично?


17

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

Як зупинити це?


просто змініть розмір ширини стовпців, і він повинен відображатися нормально
— Scorpion99

Ви спробували форматувати клітинку як текст раніше введення тексту?
— CharlieRB

намагався змінити розмір і форматування як текст вже не йде ....
— CrashOverride

Якщо вам потрібно використовувати значення як шістнадцяткове число (тобто ви не можете мати його як текстовий рядок), ви можете вкласти його DEC2HEX і HEX2DEC рядки для початкового номера (напр. =DEC2HEX(HEX2DEC("0503E000")) для вашого прикладу). Це може не допомогти, якщо вам потрібно маніпулювати файлом csv без його формул, але це ще один варіант, крім форматування як текст.
— Myles

Відповіді:


13

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

Спробуйте створити книгу Excel і відформатувати всі клітинки як текст, а потім вставити дані. Я спробував це в Excel 2013 і він працював.


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

Так що не використовуйте Excel для перегляду вмісту, або запустіть макрос на комірці, щоб перетворити його назад або використовувати трохи інший синтаксис, якщо ви використовували 0x перед значенням, яке я не вірю, що це буде конвертувати
— Ramhound

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

20

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

Excel недбало відкине точність у такому форматі:

Value,0503E000,1234123412341234

Або навіть цей формат:

Value,"0503E000","1234123412341234"

Перетворює його на:

Value  |  5.03E+02  |  1234123412341230

Однак , додавши силу знака рівності Excel, щоб з жалем зберегти ваші дані:

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

… Який відкривається як:

Value  |  0503E000  |  1234123412341234

1
Відмінне рішення при вставці з SQL
— SeaSprite

1
Також відмінне рішення при імпорті даних через "Отримати зовнішні дані" в меню "Дані" Excel.
— Mohsen Abasi

1
Відмінне рішення. Єдиний (невеликий) недолік полягає в тому, що замість значень ви отримаєте формули. Так що просто скопіюйте все і потім Вставити значення , що призведе до дещо меншого файлу Excel.
— Stef

8

Замість відчинено У файлі CSV у Excel виберіть Імпортувати файлу (у Excel 2007-2010 можна перейти до стрічки даних / Отримати зовнішні дані / з тексту). Не впевнений про 2013, але має бути щось подібне. Коли ви це зробите, майстер імпортування тексту відкриється і надасть вам можливість відформатувати стовпець, що містить значення як текст, перш ніж Excel (не так корисно) змінить його на числове значення.


1
Це. Я майже ніколи не відкриваю файли CSV безпосередньо.
— pepoluan

@pepoluan Я не розумію, що ви написали.
— Ron Rosenfeld

Яку саме частину ви не розумієте?
— pepoluan

@pepoluan. Актуальність того, що ви написали до моєї відповіді.
— Ron Rosenfeld

4
@pepoluan Дякуємо. Якби я зрозумів thisрешту було б зрозуміло. Думаю, я старую :-(
— Ron Rosenfeld

2

Запустити клітинку з апострофом, щоб примусити інтерпретацію тексту:

'0502E000

В основному, це говорить Excel, щоб не аналізувати поле як число. Оскільки в полі є «Е», вона виглядає як число в Excel. Апостроф насправді не буде введено в комірку:

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

Ячейка 'b1' буде відображати 84074496.


1
Це працює при надходженні безпосередньо в Excel, але не з файлу CSV.
— SBF

Відкриваючи файл csv, апостроф буде фактично введений у клітинку
— Stef

-1

З форматуванням комірок за замовчуванням, номери з нулем спереду і довгими номерами будуть автоматично змінені Excel. Наприклад, якщо ви введете 012, воно буде змінено на 12.

Якщо ви відформатуєте клітини як Текст , тоді будь-яке число, яке ви вводите в комірці, залишатиметься як є, і не змінюватиметься Excel.

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

Рішення, яке я знайшов, це зробити спеціальну пасту і вставити номер як Текст . Потім клітина залишається з її Текст форматування, і номер взагалі не змінюється.

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