Як я можу зупинити 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.