Как предотвратить автоматическое усечение ведущих нулей в ячейке Excel

Если я вставляю 04562, он автоматически усекает ведущий ноль и сохраняет его как 4562.

Я хочу, чтобы он хранил его как 04562.

14 ответов


Если вы используете MS Excel для редактирования ячеек, в которых вам нужно хранить числа с начальным нулем, просто отформатируйте и определите содержимое ячейки как текст. Если вы сохраняете его программно, вы можете поместить значение в кавычку " для того же самого.

обновление

Я только что заметил, что если я перейду в "формат ячеек" и выберите пользовательский формат и поместите, скажем, 0000 в формат, любое число, которое я помещаю в ячейку, это меньше 4 цифр, он все еще поддерживает 4 длина цифры с ведущим '0', как 0001, 0099, 0120, 9999


пока все это точный обходные пути для преобразования числа в текст так, что ведущие нули будут сохранены, это не ответ на вопрос.

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

разработчики Microsoft по какой-то причине построили Excel для чтения в 03 Как число и усечения ведущего нуля, в результате чего 3. Нет способа предотвратить этот.

к сожалению, потому что все обходные пути предполагают, что вы знаете, какие столбцы имеют значения, которые могут иметь ведущие нули, чтобы вы могли предпринять шаги * после факта*, чтобы попытаться исправить ваши данные.

кстати, Google Таблицы делает то же самое.

таким образом, короткий ответ заключается в том, что нет приложения электронной таблицы (по крайней мере, я знаю), где вы можете прочитать в csv-файле, который может иметь, скажем, 00453 как число и импортировать его как 00453, а не 453.


щелкните ячейку и на вкладке Главная в группе число нажмите кнопку вызова диалогового окна рядом с номером.

enter image description here

в списке категория щелкните пользовательский, а затем в поле Тип введите формат номера, например 000-00-0000 для кода номера социального страхования или 00000 для пятизначного почтового индекса код.

https://support.office.com/en-us/article/Keep-leading-zeros-in-number-codes-1bf7b935-36e1-4985-842f-5dfa51f85fe7


вы можете сохранить его, используя следующий формат.

в excel, вы можете

1) Установите формат в "текст", выбрав нужную ячейку, щелкнув правой кнопкой мыши, выбрав"формат ячейки". Затем на вкладке " номер "выберите"текст". Каждый раз, когда вы вводите номер, он будет читаться как текст

или

2) перед любым числом с апострофом ( ' ) и Excel примет его "как есть"

Если вы используете VBA, вы можете сделать после

1) Выберите ячейку, которую вам нужно отформатировать, и измените опцию формата номера

Диапазон ("A1").NumberFormat = "@"

когда вы читаете данные (из ячейки в Excel или из VBA), он будет содержать любые начальные нули, которые были введены.


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

  1. выберите нужный квадрат или квадраты, нажав на них / выделив их.

  2. оставайтесь на Home вкладка вверху. Полностью на правой стороне, на втором поле справа, есть опция, которая говорит Format. Нажмите на это.

  3. нажмите на Format Cells... полностью внизу. Первая вкладка должна сказать Number. На том Number tab, есть опция, которая говорит Text. Щелкнуть по нему. Теперь нажмите OK внизу, и сделали.


Если вы просто дважды щелкните текстовый файл csv, чтобы открыть его, Office 2010 откроет его и усечет все ведущие нули, потому что это общее форматирование каждого столбца по умолчанию. Вместо этого вы можете импортировать файл: перейдите на вкладку "Данные" - параметры "получить внешние данные" включают "из текста" - откроется мастер, в котором вы можете пометить файл для импорта, просмотреть его и определить формат для любого столбца, содержащего нули свинца, как " текст."Когда вы импортируете таким образом, ведущие нули консервированный.


вы также можете просто префикс вашего значения с ', хотя это помечает ячейку, пока вы не сделаете ее текстовым полем.


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

  1. Добавить новый столбец
  2. выделите столбец и измените формат на текст, щелкнув правой кнопкой мыши и отформатируйте ячейки
  3. возьмите почтовые индексы или номера clumn и скопируйте его
  4. вставить в блокнот (чтобы избавиться от форматирования)
  5. скопировать в блокнот данные и вставить в новый столбец Excel

Я не знаю, является ли это идеальной работой, но я попробовал это в первый раз, и это сработало.

на левой ячейке вы не видите ведущий 0 и я хотел добавить, ведущей 0. Исправление заключается в использовании формулы ="0"&A3(Cell number)

(не забудьте установить свой, и он должен отлично работать см. пример ниже.

excel screenshot


добавление апострофа перед числом, которое начинается с нуля, сохранит полное число, но не опубликует Апостроф. Например: если ваш номер 08753 excel будет усекать число до 8753, если вы не введете ' 08753. Затем Excel заполнит ячейку 08753. Полегче!


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

  1. Right-clic на ячейке для форматирования.
  2. Clic в формате ячеек.
  3. выберите вкладку номер.
  4. Clic на настроить выбор.
  5. Clic по любым параметрам, перечисленным в списке справа.
  6. Clic по типу texbox и перезаписать его содержимое с помощью "00000".
  7. Clic on Ok.

проблема актуальна хранимых значений и отображения значений... Все эти "исправления" презентации не затрагивают потерю ведущих нулей в сохраненном значении.

поэтому, если вы вводите значение в ячейку или импортируете конечный результат, вы не можете сохранить начальные нули в сохраненном значении независимо от ограничений форматирования в ячейке.


многие говорили, что это не простой маневр. Вот предложение.

скажите, что ваши ошибочные почтовые индексы (без ведущих 0) находятся в столбце A.

  1. вставьте фиктивный столбец, давайте использовать B.
  2. в столбце B поместите формулу, =A1*1 и скопируйте вниз, чтобы захватить все молнии. После этого вы должны увидеть ведущие нули, однако вы не законченный. Их все равно не прочтут.
  3. скопируйте столбец B, затем вставьте содержимое столбца B в a новый рабочая тетрадь.
  4. сохраните новую книгу как .CSV-файл (при сохранении нажмите на Поле "Сохранить как тип"и выберите CSV с разделителями-запятыми).
  5. откройте новый CSV-файл, который вы только что создали.
  6. скопируйте, затем вставьте содержимое непосредственно поверх вашего дерьма неправильный формат zip-коды. (это означает, что вы не можете иметь вставить местоположение фильтруется, имейте это в виду). Столбец содержание должно совпадать или ваши данные будут не совпадать.
  7. нажмите и выберите все zip коды, которые вы только что вставили.
  8. выберите Формат ячеек и выберите: специальный, затем почтовый индекс
  9. надеюсь, ваши молнии будут содержать 5-значное форматирование и должны быть умеет читать в формулах и тому подобное.

это долгое исправление и сработало для меня. Надеюсь, это сработает для вас!


Если вы импортируете / открываете a .csv-файл с ведущими нулями используйте Open Office или Libre Office. Когда вы откроете файл, он представит диалоговое окно для указания таких вещей, как разделитель столбцов. Вы также можете выбрать один из столбцов и указать тип как "текст", который сохранит начальные нули.

Если вы сохраните его как a .xlsx файл, он может быть открыт с Excel и сохранит ведущий 0.

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