Избранное

В Excel пропадают нули в штрихкоде: как сохранить исходное значение
В Excel пропадают нули в штрихкоде: как сохранить исходное значение

В Excel пропадают нули в штрихкоде: как сохранить исходное значение

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

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

Возьмем два вымышленных примера. Первый внутренний код: 001234. Второй длинный идентификатор: 123456789012345678. Это примеры строк данных, а не заявление об их соответствии EAN, GS1 или другому стандарту штрихкодов.

Идентификатор храните как текст, а не как число

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

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

Для единичного ручного ввода можно поставить перед значением апостроф: '001234. Excel воспримет последующую последовательность как текст, а служебный апостроф не отображается как часть значения в ячейке. Это прием для ввода в Excel, а не символ самого кода. Не добавляйте апостроф в исходный CSV как будто он входит в идентификатор.

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

Для данных этикеток надежнее, чтобы сами символы 001234 хранились как текст.

Буква E не всегда означает потерю данных

Длинное значение Excel может показать в научной форме, например через E. Сам вид с E еще не доказывает, что цифры уже испорчены: иногда это только способ отображения числа в узкой ячейке.

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

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

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

Не дополняйте потерянные нули наугад

Если в Excel вместо 001234 уже находится 1234, нельзя автоматически приписать два нуля только потому, что ожидается шестизначный формат. Возможно, исходным значением было 001234, а возможно, сам код действительно был 1234.

То же относится к длинным последовательностям. Не пытайтесь исправить последние цифры по похожей строке, соседнему товару или предполагаемой структуре штрихкода.

Сначала найдите неповрежденный первичный источник и сравните значение полностью. Только после этого заменяйте данные в рабочей таблице.

CSV лучше импортировать с контролем типа столбца

Проблема часто возникает не при ручном вводе, а при открытии CSV. Сам CSV не хранит схему типов ячеек: в нем находится текстовое представление данных, а программа при открытии решает, что считать числом, датой или текстом.

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

В Excel для Windows используйте импорт через Данные → Из текста/CSV, выберите файл и перейдите в Преобразовать данные. Откроется редактор Power Query, где можно проверить тип каждого столбца до загрузки результата на лист.

Для столбца с кодами нужен тип Текст. Другие поля при этом не следует механически переводить в текст: количество, дата или цена могут требовать собственных типов.

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

Проверьте автоматический шаг Changed Type

Power Query может автоматически добавить шаг определения типов, который в интерфейсе может отображаться как Changed Type или его локализованный вариант. Если столбец с кодом на этом этапе был преобразован в число, нужно исправить процесс до использования поврежденного результата.

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

Недостаточно сначала превратить 123456789012345678 в число, потерять точность, а следующим шагом назначить результату тип «Текст». В текст тогда попадет уже измененное значение.

После настройки закройте редактор и загрузите данные в Excel предусмотренной командой Power Query. Затем снова сравните несколько кодов с исходным CSV или другой первичной системой.

Проверяйте не только первый и последний символ

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

Поэтому сверяйте всю строку целиком. Для нашего примера в Excel после корректного импорта должно находиться ровно:

001234

и отдельно:

123456789012345678

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

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

Перед печатью проверьте экспортируемые данные

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

Если данные передаются через CSV, сохраните контрольную копию и откройте ее в обычном текстовом просмотре либо импортируйте контролируемым способом. Проверьте, что 001234 действительно записан как 001234, а длинный код содержит все исходные цифры.

Не используйте повторное открытие CSV обычным двойным щелчком в Excel как единственное доказательство: при таком открытии программа может заново интерпретировать значения и создать новую проблему уже на этапе проверки.

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

Если данные уже повреждены, возвращайтесь к источнику

Предположим, первоначально было 001234, а рабочая таблица уже содержит 1234. Или вместо длинного 123456789012345678 после числового преобразования сохранена измененная последовательность.

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

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

Для печати штрихкода важно сохранить именно исходное значение данных. Генерация самого штрихкода является следующим этапом: сначала Excel или CSV должны содержать точную последовательность символов без потерянных нулей и измененных цифр.

Полезные товары по теме

Категории

Последние статьи

Блог