Генератор непрерывных чисел

Генератор непрерывных чисел

У меня есть проект по кодированию данных.

ИЗОБРАЖЕНИЕ

Я введу свои данные в столбец A (тип оборудования), а сформированная ячейка будет находиться в столбце B. Столбец B содержит строку, которая начинается со значения в столбце A и добавляет к нему счетчик, специфичный для оборудования.

Различные типы оборудования в столбце A могут быть в любом порядке. Счетчик должен увеличиваться в пределах типа оборудования.

Всякий раз, когда я ввожу новые данные в строку столбца A, автоматически создается значение столбца B, увеличивая счетчик на 1 для этого типа оборудования.

В этом примере список начинается с двух типов A, счетчики которых равны 001и 002. Через четыре строки появляются еще типы A, и их счетчики увеличиваются до 003и 004.

Между ними, в строках 3, 4 и 5, находятся типы B, D и C. У каждого из них счетчик начинается с 001. Дальше идут вторые типы D и C, и счетчик на каждом увеличивается на 1. Затем второй и третий тип B, и эти счетчики увеличиваются до 002и 003.

Как сгенерировать значения в столбце B?

решение1

Изображение решения

Формула в B2:

=IF(ISBLANK(A2),"",A2&"-"&TEXT(COUNTIF($A$2:A2,A2),"000"))

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

Она создает отображаемое значение, добавляя к значению столбца A дефис, а затем счетчик. Функция ТЕКСТ с форматом «000» предоставляет ведущие нули, необходимые для трехзначного счетчика.

СЧЁТЕСЛИ подсчитывает значения в столбце A с начала до текущей строки, которые соответствуют текущему значению столбца A.

решение2

Если вы намерены взять последний символ данных в столбце A, а затем прибавить число, то лучшим вариантом будет использовать простую формулу, например:

RIGHT(A1,1)&"-"&TEXT(ROW(),"000")

Проблема в том, что если вы не используете A1, просто вычтите строки, чтобы получить 1 как начальное число. Таким образом, если ваши данные начинаются со строки 10, код должен быть таким:

RIGHT(A1,1)&"-"&TEXT(ROW()-9,"000")

решение3

Придайте некоторую ценностьА1и

x-001

вВ1. Затем вБи 2входить:

=IF(A2="","",IF(LEFT(B1,1)="x","y"&RIGHT(B1,4),"x-"&TEXT(1*(RIGHT(B1,3)+1),"000")))

и копируем вниз:

введите описание изображения здесь

Как видите, префикс в столбцеБбудет играть в пинг-понг междуИксиуи суффикс будет увеличиваться по желанию.

Связанный контент