Вообще-то уже очень давно мы публиковали скрипт для создания связанных списков — вот ссылка.
Но для разнообразия предлагаем также слегка колхозное решение на формулах 🤠Если вы не любите скрипты.
По сути, мы создаем таблицу с таким же количеством строк, как основная. И в ней в каждой строке формируем данные для выпадающего списка нижнего уровня (сотрудники, например), куда отправляем значения исходя из выбранного значения в выпадающем списке верхнего уровня (отдел, например)
Алгоритм:
— Формируем в укромном месте список значений нижнего уровня для каждого выбранного значения в основной таблице. В нашем примере — для каждого выбранного отдела в основной таблице получаем список сотрудников этого отдела (то есть горизонтальный массив значений на каждое выбранное в основной таблице значение верхнего уровня)
Вариант формулы:
=MAP(столбец со значениями первого уровня ;LAMBDA(x; IFNA(ТРАНСП(ИНДЕКС(таблица со списками ;; XMATCH(x;названия списков первого уровня)));"")))
— Создаем проверку данных и в качестве диапазона ссылаемся на первый список (для первого значения), делаем ссылку относительной (то есть у номеров строк нет долларов) и получается, что в каждой строке забираем список для каждого очередного выпадающего списка.
Ссылка в проверке данных:
='Вспомогательный лист'!$A2:$Z2 (столбцы можно взять с запасом)
Куча лишних данных, но работает.
Таблица с примером
📗 Канал и Чат
📕 Оглавление канала
🏄 Заказ работы у нас