У меня есть проект по кодированию данных.
Я введу свои данные в столбец 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")