Попытка создать динамический список в EXCEL
3 ответа
Правка № 1
Не формула массива, чтобы получить список. Поместите формулу в M5
клетка.
=IFERROR(INDEX($K$2:$K$21,SMALL(INDEX((ROW($J$2:$J$21)-ROW($J$1))-($J$2:$J$21<>$M$2)*(1E+99)*-1,, ),ROW(1:1))),"")
Используйте следующую формулу массива для M5
ячейка и перетащите и вниз, если необходимо.
=IFERROR(INDEX($K$2:$K$19,SMALL(IF($J$2:$J$19=$M$2,ROW($J$2:$J$19)-ROW($J$1),""),ROW(1:1))),"")
Формула массива должна быть добавлена с помощью Ctrl+Shift+Enter после ввода ее в ячейку.
Опять же, вы должны нажать Ctrl+Shift+Enter после помещения формулы в ячейку.
Предполагая, что ваши данные всегда сортируются по SitesCLLI, как показано на предоставленном вами изображении, вы можете использовать эту формулу в ячейке M5 и скопировать ее (обычная формула, запись в массив не требуется):
=IF(ROW(M1)>COUNTIF(J:J,M$2),"",INDEX(K:K,MATCH(M$2,J:J,0)+ROW(M1)-1))
Обычно я бы дал здесь простой ответ относительно вопроса. Тем не менее, ответ на ваш вопрос будет немного длинным. (Просто) но долго. С учетом сказанного, вот ссылка для быстрого, простого ответа.
https://www.excelcampus.com/tables/dependent-drop-lists/
Надеюсь это поможет.