Здравствуйте,уважаемые читатели. За последние пять дней ко мне обратились три постоянных читателя с одним и тем же вопросом: как добавить в начало каждого из чисел массива несколько нулей? Зачем это делать — объясню. Когда числа не участвуют в расчетах, а являются идентификатором (уникальным порядковым номером) для каждой строки. Например, в таблице с товарами. Такое число точнее указывает на конкретный товар, вероятность ошибки гораздо меньше. Покажу на примере:

Посмотрите на приведенную таблицу. Наименования почти одинаковые, ошибиться в них слишком легко. А вот уникальные значения в столбце Код прекрасно идентифицируют каждую единицу товара. Так вот, часто хочется привести коды к единому виду. Например, сделать длиной в 8 символов, недостающие заменить нулями. Примерно так: из 101 сделать 00000101. При этом, все коды станут одинаковой длины, таблица будет более «стройной». Как это сделать?
Будем использовать функцию ТЕКСТ(Число;Формат). Работаем в такой последовательности:
- Создаем новый столбец для отформатированных кодов. Как вставлять строки и столбцы, я рассказывал в этой статье.
- В первой строке этого столбца записываем: =ТЕКСТ(A2; «00000000»). Вместо А2 запишите ссылку на вашу ячейку с кодом. «00000000» (обязательно в кавычках) — это символы подстановки. Они указывают, что значение должно состоять из восьми символов. Если их не хватает — дополнить нулями слева. Функция берет значение из первого аргумента, форматирует его согласно второму аргументу и преобразует в текст.
- Жмем Enter и получаем такую картинку:

- Теперь скопируем формулу в остальные ячейки таблицы. Посмотрите, наши новые коды не утратили свою показательность, но стали подобными. И это радует глаз! Размеры всех строк выровнены, пустые места заменены нулями.

Можно было бы на этом и остановиться, но я хочу еще немного добавить.
Создание префиксов к коду
Этот пункт будет полезен, если Вы делаете небольшую базу данных на основе Excel. Конечно, было бы правильнее реализовать это в Microsoft Access, только в Экселе, по старинке, это бывает проще. Когда Вы оперируете большим списком кодов, присвоенных различным показателям, рекомендую добавить к коду короткий буквенный префикс. Например, код для столбца Остатки — О000001, Продажи — П000001, Накладные — Н000001 и т.п. Согласитесь, это удобно.
Давайте исправим нашу формулу: =ТЕКСТ(A2; «Н000000»). Поставим букву «Н» вначале формата. Вот,что получается:

То есть, с помощью буквенного префикса можно конкретизировать коды для относительно сложных проектов.
Автоматизация присвоения кода
До теперешнего момента мы рассматривали случаи, когда коды уже есть, нужно было только оформить их. А что, если код для нового элемента в таблице нужно сформировать автоматически? Да еще и сделать его уникальным? Предложу Вам рабочий способ, хотя у него есть и достоинства и недостатки.
Можно использовать номер строки, в которой располагается элемент и считать его кодом. Для этого используем функцию СТРОКА(Ссылка на ячейку). Формула будет такой: =ТЕКСТ(СТРОКА(C2); «Н00000»), а результат, как на картинке:

Какие достоинства этого способа? 100% обеспечивается автоматизация присвоения уникальных номеров. Недостатки: нельзя сортировать элементы, а добавлять их можно только в конец списка. При любом изменении уже существующей последовательности, коды будут пересчитаны в соответствии с новым положением элемента.
А какие способы автоматической генерации кодов используете Вы? Может быть, пользуетесь программами VBA или другими методами? Поделитесь своими секретами!
А я буду прощаться. Надеюсь, ответил на Ваши вопросы сполна. А если не ответил — задавайте их в комментариях, обязательно отвечу. До встречи!