Страницы: 1
RSS
Сквозная нумерация при условии
 
Доброго всем дня/вечера!
Вопрос касается непосредственно нумерации записей в таблице excel:
- есть перечень товаров (столбец B), каждый товар "привязан" к определенному номеру в столбце "А";
- также в таблице имеется столбец С, в котором планируется указывать либо дату снятия товара с производства, либо осуществлять выбор из выпадающего списка: "снят с производства".
Возможно ли написать формулу, которая которая в столбце А автоматически производила пересчет номеров по условию.
Например, в столбце С будет стоять дата снятия товара с производства за п/н 155. Нужно чтобы формула произвела пересчет и номеру, который "ликвидирован" присвоила индекс, допустим "А", а следующему номеру 155 и т.д., а в случае добавления товара присваивала следующий порядковый номер.
Спасибо.
 
См. вариант без формул. Изменяемых ячеек должно быть не более одной.
Изменено: Юрий М - 15.06.2021 09:35:58
 
кросс
Соблюдение правил форума не освобождает от модераторского произвола
 
Юрий М, спасибо за пример, но это немного не то, что мне нужно.
 
вот и вам спасибо за пример бы сказали, да нет его, ни там ни там.
По вопросам из тем форума, личку не читаю.
 
БМВ, я бы с удовольствием показал пример, только вот как я могу его показать, если фактически не знаю, возможно ли это реализовать на практике.
У меня есть формула:
Код
=ЕСЛИ(ПУСТО($С13) ;"" ;СЧЕТЗ($С$13:$С13))

ИЛИ
Код
=СТРОКА()-СТРОКА(А13)
,
но это не то
 
graffserg,  пример - это не решение, а некоторая демонстрация что за данные, и что вы хотите получить из разряда, что есть что надо получить.
По вопросам из тем форума, личку не читаю.
 
Ок. Сейчас накропаю
Изменено: graffserg - 15.06.2021 09:21:14
 
Цитата
graffserg написал:
это немного не то, что мне нужно
Что понимать под "немного не то" - отсутствие некого индекса? Или неправильно выполняется нумерация?
Изменено: Юрий М - 15.06.2021 09:28:42
 
Уважаемый Юрий М, не хотел Вас обидеть данным высказывание, но мне нужно, чтобы нумерация продолжалась, а "старому" номеру присваивался индекс. Я постарался в примере показать то, что нужно.
Спасибо
 
Поменял файл в #2.
 
Спасибо за оперативность.
Почти то, но не то.
Возможно ли сохранять предыдущую нумерацию, только добавлять к ней индекс в наростающем порядке, так сказать, для истории. Например, был 155,а стал 155А, был 136, а стал 136Б.
Спасибо
 
А что делать, если отметка о снятии удаляется?
И почему индекс меняется (вместо А становится Б)? Проще было бы ка всем снятым с производства номерам добавлять один и тот же символ: кончится алфавит - что будете делать?
 
Цитата
Юрий М написал:
Проще было бы ка всем снятым с производства номерам добавлять один и тот же символ: кончится алфавит - что будете делать?
Не подумал.
Цитата
Юрий М написал:
А что делать, если отметка о снятии удаляется?
Если отметка удаляется, здесь два варианта :
1. Удалится вся строка
2. Из нумерации уберёт я индекс и она, нумерация будет идти как положено.
Спасибо
 
Вторая версия.
 
Спасибо, но нумерация в Вашем примере не продолжается. Номеру только присваивается индекс.
Цитата
graffserg написал:
Возможно ли сохранять предыдущую нумерацию, только добавлять к ней индекс в наростающем порядке, так сказать, для истории.
Спасибо
 
Вам наверное надо что-то вроде этого:
Код
=IF((D23="")*(E23="");MAX($G$22:G22)+1;RIGHT(B23;LEN(B23)-FIND(" ";B23))&IF((ROWS($A$23:A23)-1)>25;"";CHAR(65+ROWS($A$23:A23)-1)))

У меня на рабочей машине почему-то только один код для всех русских букв - 63, поэтому сделал на основе английского алфавита. Думаю, принцип понятен, поэтому переделать под рус. алфавит очень легко.
Когда алфавит закончивается -
Цитата
graffserg написал:
нумерация будет идти как положено

Ну и в соответствии с правилами этого форума не забываем про кросс.
 
Продолжается: если номеру 5 присвоили индекс, то следующий по порядку будет 6.
Дальше без меня.
 
Юрий М, спасибо большое за оказанную помощь. Всё супер!
Memo, спасибо, ваша формула также работает замечательно.
Вот только вопрос, как добавить только один индекс, например А, для всех "ликвидированых" товаров - 1А, 155А и т.д.
 
Цитата
graffserg написал:
только один индекс, например А, для всех "ликвидированых" товаров - 1А, 155А и т.д.
Замените
Код
CHAR(65+ROWS($A$23:A23)-1))
на
Код
CHAR(65)
 
Спасибо за оперативность.
Изменено: graffserg - 15.06.2021 15:49:11
 
Поторопился, подскажите пожалуйста, как повлиять на количество слов в ячейке:
- если вместо "товар 1" напечатать, к примеру, материнская плата....., то вместо нумерации появляются слова из предыдущего столбца с индексом А.
 
graffserg,
А все потому, что правильно составленный пример изначально избавляет от головной боли.
В итоге, монструозная формула может выглядеть вполне безобидно.
Код
=IF((D23="")*(E23="");MAX($G$22:G22)+1;MAX($G$22:G22)+1&CHAR(65))
 
Все работает как часики!! Спасибо!
Еще, если можно, заметил одну особенность обработки формулы:
- если "ликвидация" товара идет одна за другой, то порядковый номер для всех "ликвидированных" товаров становится одним, т.е. прежний, номер не сохраняется.
Возможно "лечение" данной особенности?
Спасибо.
 
Можно так:
Код
=IF((D2="")*(E2=""),MAX($A$1:A1)+1,SUM(IFERROR(LEFT($A1)+0,0))+1&CHAR(65))

или так:
Код
=IF((D2="")*(E2=""),IF((B2<>""),MAX($A$1:A1)+1,""),SUM(IFERROR(LEFT($A1)+0,0))+1&CHAR(65))

Обе формулы массива.
Изменено: memo - 16.06.2021 00:04:50
 
Memo спасибо, только сейчас руки добрались.
Проверил, если можно подскажите, как подправить код. В прикрепленном файле постарался показать особенности.
Спасибо!
 
Думаю, исправил.
Первый:
Код
=IF((D2="")*(E2="");MAX($A$1:A1)+1;IFERROR(IF(OR(E2<>"";B2<>"");COUNTIF($A$1:A1;"?*");"")+1&CHAR(65);""))

Второй, учитывающий наличие пустых строк в столбце В.
Код
=IF((D2="")*(E2="");IF(B2="";"";MAX($A$1:A1)+1);IFERROR(IF(OR(E2<>"";B2<>"");COUNTIF($A$1:A1;"?*");"")+1&CHAR(65);""))

Есть один ньюанс. Если при пустых cтроках столбцов B, C, D выбирать значение в столбце Е, то возвращается индексированная нумерация. Поэтому этот момент надо учитывать.

Ну и еще один вариант с независимой индексированной нумерацией (без повторов). Взгляните, может подойдет.
Код
=IF((D2="")*(E2="");MAX($A$1:A1)+1;ROWS($A$1:A1)&CHAR(65))
Изменено: memo - 18.06.2021 10:43:42 (Правка на свежую голову)
 
Уважаемые профи!!
Хочу поднять тему еще раз и попросить Вашей помощи.
Вот поработал с формулой и понял, что индекс не подходит.
Подскажите пожалуйста, как допилить формулу так, чтобы вместо индекса в столбце А  подставлялись значения из выпадающего списка столбца Е.
Файл был ранее прикреплен уважаемым memo в сообщении #27/
Спасибо!
 
Два варианта в  столбцах А и G, если конечно правильно понял.
Страницы: 1
Наверх