Версия для печати

Связанные выпадающие списки

Что умеет Excel

 

Если Вы читаете эту страницу, то я предположу, что Вы уже знаете, что такое выпадающий список и как его создать. Связанные списки, что же это такое? Это когда список значений одного выпадающего списка зависит от значения, выбранного в другом выпадающем списке. Непонятно? Разберем поконкретнее. Есть ячейка А1. В ней создан выпадающий список со значениями: Список1, Список2, Список3, Список4, Список5. Есть ячейка В1. В ней тоже есть список. Но нам надо, чтобы список ячейки В1 менялся в зависимости от того, какой список мы выберем в ячейке А1. Т.е. выбрали Список1 — в В1 появился выпадающий список Список1, содержащий значения: Значение1_1, Значение1_2, Значение1_3, Значение1_4, Значение1_5. Выбрали Список2 — в В1 появился выпадающий список Список2, содержащий значения: Значение2_1, Значение2_2, Значение2_3, Значение2_4, Значение2_5. И т.д.

Для осуществления этого нам потребуется создать все эти списки. Создали. В ячейке А1 создаем список списков. А в ячейке В1…Те же операции как и при создании списков: Данные-Проверка данных-Список. Но теперь нам вместо прямого указания имени списка надо указать ссылку на него. В этом нам поможет функция ДВССЫЛ. Просто прописываем эту формулу в поле «Источник:» =ДВССЫЛ($A1).

Связанные выпадающие списки

Список может находится на другом листе(в данном случае надо в формуле либо указать ссылку на лист =ДВССЫЛ(«Лист1!»&$A$1), либо при создании списка задать область действия — Книга — как? смотри здесь) или даже в другой книге. Поподробнее о списках из другой книги. Допустим книга называется «Книга со списком«. И на Лист1 в этой книге и находится нужный нам список. Как в этом случае создать ссылку на нужный список? Тот, имя которого мы выберем в ячейке A1? Очень просто. Мы пишем такую формулу:

=ДВССЫЛ("'[Книга со списком.xls]Лист1'!"&$A$1)

Здесь, правда, не обошлось и без ложки дегтя… Даже двух. Дело в том, что обе книги должны быть открыты. Если Вы закроете книгу со списками, то получите ошибку. И список работать не будет. Так же связанные списки не будут работать с динамическими именованными диапазонами. Жаль, конечно, но таковы особенности функции ДВССЫЛ.


Скачать пример »

  Tips_Lists_Connect_Validation.xls (26,5 KiB, 3 331 скачиваний)

Так же см.:
Выпадающие списки



Поддержать автора сайта
Поделиться ссылкой
  1. Андрей
    25 Февраль 2012 в 23:22 | #1

    Интересная вещь..
    Вопрос: А сколько уровней вложенности поддерживается данной функцией?
    К примеру сделал Второй список, зависящий от третьего, а можно ли сделать еще Третий список зависящий от Второго?

    Спасибо.

  2. Андрей
    25 Февраль 2012 в 23:29 | #2

    И еще, возможно я плохо читал все Ваши статьи, но к этой хотелось бы добавить:
    В поля значений «Первого списка» обязательно должны быть внесены значения по форме, которая указана в одной из Ваших статей, т.е. никаких пробелов типа «Список 1″, а должно быть именно «Список_1″, потому как система выдаст ошибку «При вычислении «Источник» возникает ошибка»
    Возможно я неправ…

  3. 25 Февраль 2012 в 23:34 | #3

    Уровни вложенности практически не ограничены — зависимость третьего списка от второго строится на том же принципе, что и зависимость второго от первого.

    Запреты и правила для имен именованных диапазонов я перечислял в статье про именованные диапазоны.

  4. Евгений
    30 Март 2012 в 19:29 | #4

    Спасибо, полезный приемчик. Отдельное спасибо за пример, а то сначала не получилось

  5. Дмитрий
    10 Апрель 2012 в 22:21 | #5

    Все бы хорошо, но при изменении значения в первом списке, во втором остается значение из старого, например Список_1 — значение 1_1 остается, если сменить в первом списке значение на Список_… Этого можно избежать?

Комментарий будет добавлен после проверки администратором.
Комментарии, не имеющие отношения к комментируемой статье, будут удаляться без уведомления и объяснения причин. Если есть вопрос по проблеме в Excel- добро пожаловаться на Форум