[Перевод] Как настроить зависимые выпадающие списки в 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. Выбор города в Украине

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

© Habrahabr.ru