Страницы: 1
RSS
Размножить несколько значений друг за другом, Очень нужна красивая формула
 
Добрый день!
Прошу помощи в написании формулы.
Есть список фамилий. Напротив каждой указано кол-во строк, сколько раз нужно напечатать эту фамилию.
В столбце А нужно, соответственно, вывести все фамилии одну за другой нужное кол-во раз.

Сейчас формула работает на "ЕСЛИ". Пока фамилий мало - это ещё терпимо. Но когда их будет 25-20 штук, из формулы родится нечитаемый мегалодонт.

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

Пример во вложении.

Заранее спасибо всем откликнувшимся.
 
Код
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ОБЪЕДИНИТЬ("";;ПОВТОР(D2:D50&";";E2:E50));";";"</i><i>")&"</i></j>";"//i[position()<last()-1]")
 
формула массива
Код
=СМЕЩ(D$2;ПОИСКПОЗ(;Ч(E$2:E$6=СЧЁТЕСЛИ(A$1:A1;D$2:$D$6));-1)-1;)&""
 
Тимофеев, большое спасибо что так быстро ответили.
Но возникает проблема при добавлении нового имени (см скриншот).

И можно ли решить задачу для Excel 2016, без функции "ФИЛЬТР" ?
 
Ошибки не будет если удалите свои старые формулы с 20 строки до 201
Изменено: Тимофеев - 06.02.2025 11:22:50
 
V, спасибо!
Но к сожалению не работает. Я где-то ошибся? (вложение)
 
Цитата
Тимофеев, написал:
Ошибки не будет если удалите свои старые формулы с 20 строки до 201
Большое спасибо! Так работает.

И всё же, не сочтите за назойливость, есть ли возможность решить задачу для Excel 2016, без использования "ФИЛЬТР"?
Изменено: Владимир_с_добавкой - 06.02.2025 11:36:04
 
pq
 
sotnikov, спасибо!
К сожалению решение на PQ не подходит. Нужно исключительно на формулах
 
Код
A2    =ЕСЛИОШИБКА(ИНДЕКС($D$1:$D$5;ПОИСКПОЗ(СТРОКА()-1;$F$1:$F$5;0));A3)
 
формула 2
Код
=ЕСЛИ(СТРОКА()-1>СУММ(E:E);"";
ПРОСМОТР(СТРОКА()-2;ПРОМЕЖУТОЧНЫЕ.ИТОГИ(9;СМЕЩ($E$1;;;СТРОКА($E$2:$E50)-1));$D$2:$D$50))
 
Если в Д1 написать такой же текст, что и в А1, то все просто -
Код
=ЕСЛИ((A1<>"")*(СЧЁТЕСЛИ(A$1:A1;A1)>=СУММЕСЛИ(D$1:D$99;A1;E$1:E$99));ИНДЕКС(D:D;ПОИСКПОЗ(A1;D$1:D$99;)+1)&"";A1)

Если другой, то тоже можно, но чуть посложнее будет
Но есть минус - ФИО не должны повторяться.
Но есть и плюс - формула не волатильна, не пересчитывается при каждом изменении на листе
Изменено: _Boroda_ - 06.02.2025 12:27:49
Скажи мне, кудесник, любимец ба’гов...
 
Большое спасибо всем отозвавшимся.
Задача решена )
 
Цитата
Владимир_с_добавкой написал:
Но к сожалению не работает. Я где-то ошибся?
Судя по картинке вы ввели формулу на диапазон, а нужно в одной ячейке и потом растянуть.
Страницы: 1
Наверх