Как настроить зависимые выпадающие списки в MS Excel, используя СМЕЩ и СУММПРОИЗВ

от автора

В этой статье мы продемонстрирует простой подход по настройке выпадающего списка, зависящего от другого выпадающего списка. Например, мы выбираем страну в ячейке F1 и это изменяет список городов, доступных для выбора в ячейке F2, как показано на Рисунке 1.

Рисунок 1. Выбор города в стране
Рисунок 1. Выбор города в стране

Предположим, что мы уже настроили выпадающий список для страны, ссылающийся на диапазон A1:C1, тогда мы можем настроить список городов, используя формулу ниже, где:

  • СМЕЩ возвращает диапазон для зависимого выпадающего списка

  • A2 фиксирует начальную ячейку для функции СМЕЩ

  • 0 говорит функции СМЕЩ, что вертикального смещения нет

  • ПОИСКПОЗ(F1;A1:C1;0)-1 говорит функции СМЕЩ на сколько столбцов нужно сместиться вправо от начальной ячейки A2

  • СУММПРОИЗВ((F1=A1:C1)*(A2:C3<>»»)) сообщает функции СМЕЩ количество непустых ячеек (A2:C3<>»») в выбранном столбце (F1=A1:C1)

=СМЕЩ(A2;0;ПОИСКПОЗ(F1;A1:C1;0)-1;СУММПРОИЗВ((F1=A1:C1)*(A2:C3<>»»)))

Рисунок 2 демонстрирует зависимый список городов, когда в ячейке для страны выбрана Украина, где:

  • (F1=A1:C1) – это массив {ЛОЖЬ;ИСТИНА;ЛОЖЬ}

  • (A2:C3<>»») – это массив {ЛОЖЬ;ИСТИНА;ИСТИНА:ЛОЖЬ;ЛОЖЬ;ИСТИНА}

  • (F1=A1:C1)*(A2:C3<>»») – это массив {0;1;0:0;0;0}, поскольку произведение ЛОЖЬ*ЛОЖЬ или ЛОЖЬ*ИСТИНА равно 0, тогда как произведение ИСТИНА*ИСТИНА равно 1

  • Функция СУММПРОИЗВ возвращает сумму массива {0;1;0:0;0;0}, равную 1 в нашем случае

Рисунок 2. Выбор города в Украине
Рисунок 2. Выбор города в Украине

Продемонстрированный подход по настройке зависимых выпадающих списков является наиболее простым и наглядным из всех возможных.


ссылка на оригинал статьи https://habr.com/ru/post/680046/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *