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

8

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

Как мне сохранить этот ведущий ноль?

mrblint
источник

Ответы:

6

теория

В Excel есть два разных, не связанных между собой понятия, когда речь идет о данных в ячейках: необработанное / сохраненное значение и отображаемое значение .

«Необработанное» или сохраненное значение представляет собой фактические данные в неформатированном представлении. Тип исходных данных может быть номер, текст, дата и т.д.

Значение «display» - это формат данных. При использовании Excel GUI вы видите отображаемое значение, а не необработанное значение.

Проблема в том, что при экспорте в CSV он берет необработанное значение и экспортирует его, а не отображаемое значение! Таким образом, даже если вы отформатируете данные так, чтобы они содержали начальные нули с помощью диалогового окна «Формат ячеек», если базовое значение не содержит начальный ноль, экспорт тоже не будет.

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

Решение

Ноль не существует как часть содержимого ячейки, только форматирование, поэтому, когда вы форматируете как текст, вы не получаете его. Вы можете попробовать использовать формулу в следующем столбце, например, если у вас 5-значный (?) Почтовый индекс с записями в A2, поместите эту формулу в B2

=TEXT(A2,"00000")

скопируйте формулу вниз по столбцу

Результатом этого является текстовое значение (возможно, с фактическим начальным нулем). Если у вас есть это значение в другом столбце, вы можете скопировать и выполнить «Вставить значения» поверх исходного столбца, чтобы заменить все базовые данные данными, дополненными нулями. Затем удалите лишний столбец.

Барри Гудини
источник
Привет, Барри, отличный ответ, я добавил немного базовой теории, вместо того, чтобы публиковать еще один ответ ... не стесняйтесь редактировать по желанию, это совместный ответ :-)
allquixotic
@allquixotic, нет проблем, хорошие дополнения
Барри Гудини
2

У вас есть номера в ячейках, а не текст. Числовое значение 02010 совпадает с числом 2010. Форматирование, так как текст дает нормальное текстовое представление 2010, а не 02010.

Чтобы сохранить начальные нули, введите данные в виде строки, а не числа. Например, введите = "02010" в качестве значения.

Чтобы просто отобразить начальные нули, предполагая, что все числа имеют одинаковую длину (скажем, пять цифр), используйте пользовательский формат. Выберите 0 в списке пользовательских FOrlist, затем измените его на 00000. Все числа будут отображаться в виде пяти цифр с начальными нулями. Однако, если вы сохраните эти данные в файл CSV, начальных нулей там не будет. Единственный способ сохранить их - ввести данные в виде строк.

Чарльз Энгельке
источник
Мы получаем эти данные от различных третьих сторон. Похоже, нам не повезло, так как мы находимся во власти людей, вводящих данные, и не можем заставить их делать это разумным образом. Я был удивлен, что преобразование его в текст лишил нуля. Это IMO является побочным эффектом, а не просто строковым представлением отображаемого значения, в то время как я ожидал бы, что ячейка, отформатированная как число, лишит лидирующий ноль.
mrblint
0

Прошло много времени с тех пор, как я использовал Excel, но я всегда использовал префикс перед нулем перед ', и Excel рассматривал бы его как строку вместо того, чтобы пытаться интерпретировать его как число.

Сандер Штеффанн
источник