Уровневый список в excel


Для моделирования сложных иерархических данных создадим Многоуровневый связанный список.

Потребность в создании иерархических данных появляется при решении следующих задач:


  • Отдел



    Сотрудники отдела

    . При выборе отдела из списка всех отделов компании, динамически должен формироваться список, содержащий всех сотрудников этого отдела (двухуровневая иерархия);

  • Город – Улица – Номер дома

    . При заполнении адреса проживания из списка городов нужно выбирать

    город

    , затем из списка всех улиц этого города –

    улицу

    , затем, из списка всех домов на этой улице –

    номер дома

    (трехуровневая иерархия).

В этой статье рассмотрен

Многоуровневый связанный список. Двухуровневый связанный список

или просто

Связанный список

рассмотрен в статьях

Связанный список

и

Расширяемый Связанный список.

Материал статьи один из самых сложных на сайте

Excel2.ru

, поэтому необходимо для начала ознакомиться с вышеуказанными статьями.

Многоуровневый связанный список

будем реализовывать с помощью инструмента

Проверка данных

(

) с условием проверки

Список

.Создание

Многоуровневого связанного списка

рассмотрим на конкретном примере.


Примечание

: Рассмотренный в этой статье Многоуровневый связанный список на самом деле правильнее назвать Трехуровневым, т.к. создать четырехуровневый связанный список, используя рассмотренный здесь подход, очень проблематично. Для тех, кому требуется создать структуру с 4-мя и более уровнями, см. статью

Многоуровневый связанный список типа Предок-Родитель

.

Постановка задачи

Имеется перечень

Регионов

. Для каждого

Региона

имеется свой перечень

Стран

. Для каждой

Страны

имеется свой перечень

Городов

.

Пользователь должен иметь возможность, выбрав определенный

Регион

, в соседней ячейке выбрать из

Выпадающего (раскрывающегося) списка

нужную ему

Страну

из этого

Региона

. В другой соседней ячейке пользователь должен иметь возможность выбрать нужный ему

Город

из этой

Страны

(см.

файл примера

).

В окончательном виде трехуровневый связанный список должен работать так:

Сначала выберем, например,

Регион

«Америка» с помощью

Выпадающего списка

.

Затем выберем

Страну

«США» из

Региона

«Америка».

Причем перечень стран в

выпадающем списке

будет содержать только страны из выбранного на предыдущем шаге

Региона

«Америка».

И, наконец, выберем

Город

«Атланта» из

Страны

«США».

Причем перечень городов в

выпадающем списке

будет содержать только города из выбранной на предыдущем шаге

Страны,

т.е. из «США».

Решение

Итак, приступим к созданию

Трехуровневого связанного списка

. Таблицу, в которую будут заноситься данные с помощью

Трехуровневого

связанного списка

, разместим на листе

Таблица

.

Список

Регионов

и перечни

Стран

разместим на листе

Страны

.

Обратите внимание, что названия

Регионов

(диапазон

А2:А12

на листе

Страны

) в точности должны совпадать с заголовками столбцов, содержащих названия соответствующих

Стран

(

В1:

L

1

).

Это требование обеспечивается формулой (см. статьи о

Транспонировании

).

=ДВССЫЛ(АДРЕС(СТРОКА($A$1)-СТОЛБЕЦ($A$1)+СТОЛБЕЦ();1))

с помощью которой формируются заголовки столбцов. Введем ее в диапазон ячеек

В1:

L

1

.

Список

Стран

и перечни

Городов

разместим на листе

Города

.

Откуда же возьмется перечень стран на листе

Города

? Очевидно, что после заполнения листа

Страны

названиями стран, необходимо, что они каким-то чудесным образом переместились на лист

Города

. Это чудесное перемещение организуем формулами. Список

Стран

сформируем на листе

Города

в столбце

А

с помощью решения приведенного в статье

Объединение списков

. Значения для этого списка будем брать из

Именованного диапазона

Диап_Стран

(его нужно предварительно создать через

Диспетчер имен

)

. Именованный диапазон

Диап_Стран

образуем формулой:

=СМЕЩ(страны!$B$2;;;90;СЧЁТЕСЛИ(страны!$B$1:$Z$1;»?*»))

Для формирования списка

Стран

нам также понадобится

Именованная формула

Строки_Столбцы_Стран

=ЕСЛИ(ЕПУСТО(Диап_Стран);»»;—((СТОЛБЕЦ(Диап_Стран)-1)&ВЫБОР(ДЛСТР(СТРОКА(Диап_Стран)-1);»0″;»»)&СТРОКА(Диап_Стран)-1))

Окончательная формула в столбце

А

на листе

Города

выглядит так:

=ЕСЛИОШИБКА(ИНДЕКС(Диап_Стран;—ПРАВСИМВ(НАИМЕНЬШИЙ(Строки_Столбцы_Стран;СТРОКА(Z1));2);—ЛЕВСИМВ(НАИМЕНЬШИЙ(Строки_Столбцы_Стран;СТРОКА(Z1));ДЛСТР(НАИМЕНЬШИЙ(Строки_Столбцы_Стран;СТРОКА(Z1)))-2));»»)

сформирует необходимый нам список

Стран

.

Теперь создадим

Динамический диапазон

для формирования

Выпадающего списка

содержащего названия

Регионов

. Для этого необходимо:

  • нажать кнопку меню «

    Присвоить имя

    »

    (

    );
  • в поле

    Имя

    ввести

    Регионы

    ;
  • в поле

    Диапазон

    ввести формулу

=страны!$A$2:ИНДЕКС(страны!$A:$A;СЧЁТЗ(страны!$A:$A))

  • Нажать ОК.

Формула подсчитывает количество элементов в столбце

А

на листе

Страны

(функция

СЧЁТЗ()

) и определяет ссылку на последний элемент в столбце (функция

ИНДЕКС()

), тем самым формируется диапазон, содержащий все значения

Регионов

. Пропуски в столбце

А

не допускаются.

Аналогичным образом создадим

Динамический диапазон

Список_Стран

для формирования

выпадающего списка

содержащего названия стран:

=города!$A$2:ИНДЕКС(города!$A:$A;СЧЁТЗ(города!$A:$A))

Создадим

Именованную формулу

Позиция_региона

для определения позиции, выбранного пользователем региона, в созданном выше диапазоне

Регионы:


=ПОИСКПОЗ(A5;Регионы;0)

Т.к. в формуле использована

относительная адресация

, то важно перед созданием формулы сделать активной ячейку

B5

на листе

Таблица

.

Аналогичным образом создадим

именованную формулу

для определения позиции, выбранной пользователем страны, в диапазоне

Список_Стран

=ПОИСКПОЗ(таблица!B5;Список_Стран;0)

. Перед созданием формулы нужно сделать активной ячейку

С5

на листе

Таблица

.

Создадим

Именованные константы

МаксСтран

равную 20 и

МаксГородов

равную 30. Константы соответствует максимальному количеству стран в регионе и, соответственно, максимальному количеству городов в стране. Эти значения произвольны и их можно изменить.

Создадим

именованный диапазон

Выбранный_Регион

для определения диапазона на листе

Страны

, содержащего страны выбранного региона:


=СМЕЩ(страны!$A$2;;Позиция_региона;МаксСтран)

Теперь, например, при выборе региона

Америка

функция

СМЕЩ()

вернет ссылку на диапазон

страны!$B$2:$B$20

Создадим аналогичный диапазон

Выбранная_Страна

для определения диапазона на листе

Города

, содержащего города выбранного региона:

=СМЕЩ(города!$A$2;;Позиция_страны;МаксГородов)

Создадим две последние именованные формулы

Страны

и

Города

:

=СМЕЩ(страны!$A$2;;Позиция_региона;СЧЁТЗ(Выбранный_Регион)) =СМЕЩ(города!$A$2;;Позиция_страны;СЧЁТЗ(Выбранная_Страна))

Эти формулы нужны для того, чтобы в

выпадающих списках

не отображались пустые строки.Наконец сформируем

связанный выпадающий

список

для ячеек из столбца

Страна

налисте

Таблица

.

  • выделяем диапазон

    B

    5:

    B

    22

    налисте

    Таблица

    ;
  • вызываем инструмент

    Проверка данных

    ,

  • устанавливаем тип данных

    Список

    ,
  • в поле

    Источник

    вводим:

    =Страны

    .

Также создадим

связанный выпадающий

список

для ячеек из столбца

Город

(диапазон

С5:С22

, в поле

Источник

вводим:

=Города

)

На листе

Таблица

после выбора

Региона

и

Страны

теперь есть возможность выбора

Города

.

Для добавления новых

Регионов

и их

Стран

достаточно ввести новый

Регион

в столбец

A

(лист

Страны

), в строке

1

автоматически отобразится соответствующий заголовок. Под появившимся заголовком в строке

1

введите страны нового

Региона

.Для добавления новых

Городов,

на листе

Города

в строке

1

найдите нужное название страны (оно автоматически появится там после добавления страны на листе

Страны

). Под этим заголовком введите название города.


СОВЕТ:

В этой статье города (и страны) размещены в нескольких столбцах. Обычно однотипные значения размещают в одном столбце (списке). В статье

Многоуровневый связанный список в MS EXCEL на основе таблицы

все исходные данные размещены на одном листе, а однотипные данные (названия городов) — в одном столбце. Это облегчает написание формул и позволяет создать списки с большим количеством уровней иерархии (4-6).

Многоуровневые (каскадные) выпадающие списки Excel

Dmitry (Admin)

Автор надстройки PowerQuick




  • 17 июля, 2020




  • ,

    Статьи по Excel

В данной статье рассматривается методика быстрого создания многоуровневых (каскадных) выпадающих списков в Excel на основе умных таблиц для моделирования иерархических данных. В качестве примера в видеоуроке создаются 6-уровневые выпадающие списки.

Мир вокруг нас полон иерархических структур. Зачастую при разработке форм в Microsoft Excel мы сталкиваемся с задачей организации выбора показателей, имеющих некую иерархию, например, адреса (страна-город-улица-дом), организационная структура предприятия (департамент – управление – отдел-сотрудник) или же номенклатура товаров магазина. Почти каждый пользователь Excel умеет создавать в ячейке выпадающий список, более продвинутые могут создать второй, связанный с первым выпадающий список.

А можно ли создавать более сложные системы списков в Excel? На самом деле да, причем количество уровней таких списков ничем не ограничено и определяется только вашей потребностью. Рассмотрим методику, которая позволяет быстро и без особого труда строить многоуровневые выпадающие списки.

Основное преимущество данной методики состоит в том, что полученная система является полностью динамической, т.е. в неё можно добавить любые данные, даже целые ветви иерархии, и они автоматически попадут в выпадающие списки.

Основа методики – организация исходной информации в «Умных таблицах», т.е. специально структурированных объектах Excel. «Умную таблицу» можно создать клавишами Ctrl+T или кнопкой Таблица на вкладке Вставка, после чего таблице необходимо задать имя (во всплывающей при её выделении вкладки Конструктор). Основное требование – названия нижестоящих таблиц должны соответствовать элементам вышестоящих. В качестве примера рассмотрим фрагмент 6-уровневой иерархии товаров магазина, оформленной в “Умных таблицах”:

Многоуровневые (каскадные) выпадающие списки Excel

Первая таблица Группы_товаров связывает группы товаров и категории: в магазине 2 группы товаров – поля Продукты_питания и Одежда, каждая из которых включает по 2 категории товаров: продукты питания состоят из элементов Молочные_продукты и Мясо, одежда – Верхняя_одежда и Спортивные_товары.

Обратите внимание! Элементы таблицы будут являться одновременно названием для нижестоящих таблиц. К именам таблиц предъявляются специальные требования: имя должно начинаться с буквы, не должно содержать пробелов и специальных символов.

На следующем уровне создаются таблицы, связывающие категории и виды продукции: в приведенном примере создана таблица с именем Молочные_продукты, содержащая поля Молоко (подразделяется на козье и коровье) и Сыр (подразделяется на твердый и полутвердый), а также таблица с именем Мясо, содержащая поля Красное_мясо (подразделяется на говядина и свинина) и Птица (подразделяется на курицу и индейку). 

Остальные данные организуются по такому же принципу. После того, как данные организованы, необходимо непосредственно создать выпадающие списки, которые задаются специальными формулами, вводимыми в поле Источник в меню Проверка данных – Список:

Проверка данных Excel

Всего возможны три вида выпадающих списков:

1 уровень (первичный, не связанный ни с чем список)

2 уровень (имеющий одну связь на один вышестоящий выпадающий список: имя таблицы или имя поля)

3 уровень (имеющий две связи на вышестоящие списки: на имя таблицы и имя поля)

Обратите внимание! Все уровни иерархии моделируются с использованием этих трёх видов выпадающих списков, сгруппированных в различных комбинациях.

Итак, вот формулы, которые подставляются в Проверку данных в зависимости от конкретной ситуации. Обратите внимание, вместо красного текста подставляются непосредственно названия таблиц и полей, а вместо оранжевого – ставится ссылка на выпадающий список вышестоящего уровня:

Выпадающий список 1 уровня:

Создать список конкретных умных таблиц книги: Таблица1;Таблица2;Таблица3

Создать список полей конкретной таблицы:  =ДВССЫЛ(“Таблица1“&”[#Заголовки]”)

Создать список элементов конкретного поля конкретной таблицы: =ДВССЫЛ(“Таблица1“&”[Поле1]”)

Выпадающий список 2 уровня:

Создать список полей таблицы, выбираемой в вышестоящем списке:  =ДВССЫЛ(A1&”[#Заголовки]”)

Создать список элементов выбираемого поля конкретной таблицы: =ДВССЫЛ(“Таблица1“&”[“&А1&”]”)

Выпадающий список 3 уровня

 Создать список элементов выбираемого поля выбираемой таблицы: =ДВССЫЛ(A1&”[“&B1&”]”)

Формулы можно задать вручную, что, однако, достаточно трудоемко. Лучше всего воспользоваться специальной группой команд Выпадающие списки в нашей надстройке PowerQuick для Excel, которая моментально сформирует за вас нужные формулы через специальные формы. Вам останется только скопировать нужные формулы в меню Проверка данных Excel.

Выпадающий список из умной таблицы Excel

Выпадающий список из умной таблицы Excel

Ну а если у вас есть трудности с организацией исходных данных и построением выпадающих списков,  вы всегда можете получить консультацию разработчиков!

Как быстро создать многоуровневые (каскадные) выпадающие списки в Excel

В данной статье рассматривается методика быстрого создания многоуровневых (каскадных) выпадающих списков в Excel на основе умных таблиц для моделирования иерархических данных. В качестве примера в видеоуроке создаются 6-уровневые выпадающие списки.

Видеоурок к статье:

Первая таблица Группы_товаров связывает группы товаров и категории: в магазине 2 группы товаров – поля Продукты_питания и Одежда , каждая из которых включает по 2 категории товаров: продукты питания состоят из элементов Молочные_продукты и Мясо , одежда – Верхняя_одежда и Спортивные_товары .

Обратите внимание! Элементы таблицы будут являться одновременно названием для нижестоящих таблиц. К именам таблиц предъявляются специальные требования: имя должно начинаться с буквы, не должно содержать пробелов и специальных символов.

На следующем уровне создаются таблицы, связывающие категории и виды продукции: в приведенном примере создана таблица с именем Молочные_продукты , содержащая поля Молоко (подразделяется на козье и коровье) и Сыр (подразделяется на твердый и полутвердый), а также таблица с именем Мясо , содержащая поля Красное_мясо (подразделяется на говядина и свинина) и Птица (подразделяется на курицу и индейку).

Остальные данные организуются по такому же принципу.

Список 1 уровня

Создать список конкретных умных таблиц книги: Таблица1;Таблица2;Таблица3

Создать список полей конкретной таблицы:

=ДВССЫЛ(» Таблица1 «&»[#Заголовки]»)

Создать список элементов конкретного поля конкретной таблицы: =ДВССЫЛ(» Таблица1 «&»[ Поле1 ]»)

Список 2 уровня

Создать список полей таблицы, выбираемой в вышестоящем списке:

=ДВССЫЛ( A1 &»[#Заголовки]»)

Создать список элементов выбираемого поля конкретной таблицы: =ДВССЫЛ(» Таблица1 «&»[«& А1 &»]»)

Список 3 уровня

Создать список элементов выбираемого поля выбираемой таблицы: =ДВССЫЛ( A1 &»[«& B1 &»]»)

После того, как данные организованы, необходимо непосредственно создать выпадающие списки, которые задаются специальными формулами, вводимыми в поле Источник в меню Проверка данных – Список:

Формулы можно задать вручную, что, однако, достаточно трудоемко. Лучше всего воспользоваться специальной группой команд Выпадающие списки в надстройке SubEx для Excel , которая моментально сформирует за вас нужные формулы!

Всего возможны три вида выпадающих списков:

1 уровня (первичный, не связанный ни с чем список)

2 уровня (имеющий одну связь на один вышестоящий выпадающий список: имя таблицы или имя поля)

3 уровня (имеющий две связи на вышестоящие списки: на имя таблицы и имя поля)

Обратите внимание! Все уровни иерархии моделируются с использованием этих трёх видов выпадающих списков, сгруппированных в различных комбинациях.

Итак, вот формулы, которые подставляются в Проверку данных в зависимости от конкретной ситуации. Обратите внимание, вместо красного текста подставляются непосредственно названия таблиц и полей, а вместо оранжевого — ставится ссылка на выпадающий список вышестоящего уровня:

Список первого уровня является первичным, т.е. задается абсолютно и не является зависимым, это может быть список таблиц книги, список полей конкретной таблицы или список элементов конкретного поля конкретной таблицы, в зависимости от ваших потребностей.

Следующие списки будут связанными, т.е. зависеть от выбранного значения вышестоящего списка. Список может быть 2 уровня, т.е. ссылаться на один вышестоящий список, или 3 уровня, т.е. ссылаться на два вышестоящих списка (например, на список с именем таблицы и список с именем поля таблицы).

Как было сказано выше полученная система таблиц и списков является полностью динамической: можно добавлять новые поля и элементы в любую таблицу и они автоматически подвяжутся в выпадающие списки.

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

Двухуровневый выпадающий список в Excel

Имеется несколько способов создания выпадающего списка. Выбор одного из них зависит от структуры имеющихся у вас данных.

Первый способ создания двухуровнего списка

Первый способ основывается на создание «умной» таблицы, заголовок которой содержит значения первого выпадающего списка (группы), а строки таблицы соответствуют значениям второго выпадающего списка (подгруппы). Значения элементов подгруппы должны располагаться в соответствующем столбце группы, как на рисунке ниже.

Теперь приступим к созданию первого выпадающего списка группы (в моем случае — список стран):

  1. Выберите ячейку, в которую будете вставлять выпадающий список;
  2. Переходим на вкладку ленты Данные;
  3. Выбираем команду Проверка данных;
  4. В выпадающем списке выбираем значение Список;
  5. В поле Источник указываем следующую формулу =ДВССЫЛ(«Таблица1[#Заголовки]»).

Осталось создать второй зависимый выпадающий список – список подгрупп.

Смело повторяем 4 первых пункта описанных выше. Источником в окне Проверка данных для второго выпадающего списка будет служить формула =ДВССЫЛ(«Таблица1[«&F2&»]»). Ячейка F2 в данном случае — значение первого выпадающего списка.

Второй способ создания двухуровнего списка

Второй способ удобно применять, когда данные выпадающего списка записаны в два столбца. В первом идет наименование группы, а во втором – подгруппы.

ВАЖНО! Перед созданием зависимого списка по подгруппам необходимо отсортировать исходную таблицу по первому столбцу (столбец с группой) далее будет понятно зачем это делается.

Для создания выпадающего групп нам понадобится дополнительный столбец, содержащий уникальные значения групп из исходной таблицы. Для создания этого списка используйте функцию удаления дубликатов или воспользуйтесь командой Уникальные из надстройки VBA-Excel.

Теперь создадим выпадающий список групп. Для этого выполните 4 первых пункта из первого способа создания двухуровнего списка. В качестве Источника укажите диапазон уникальных значений групп. Тут все стандартно.

Теперь самая сложная часть — указать в Источнике динамическую ссылку на диапазон со значениями второго выпадающего списка (списка подгрупп). Решать ее будем с помощью функции СМЕЩ(ссылка, смещ_по_строкам, смещ_по_столбцам, [высота], [ширина]), которая возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов.

  • Ссылка в нашем случае — $A$1 — верхний левый угол исходной таблицы;
  • Смещ_по_строкамПОИСКПОЗ(F3;$A$1:$A$67;0)-1 — номер строки со значением искомой группы (в моем случае страны ячейка F3) минус единица;
  • Cмещ_по_столбцам1 — так как нам необходим столбец с подгруппами (городами);
  • [Высота]СЧЁТЕСЛИ($A$1:$A$67;F3) — количество подгрупп в искомой группе (количество городов в стране F3);
  • [Ширина]1 — так как это ширина нашего столбца с подгруппами.

Связанные выпадающие списки и формула массива в Excel

Итак, как сделать два связанных списка в Excel: категория, подкатегория и категория более нижнего уровня. Своими словами в данном случае нижний уровень — это «подподкатегория» если она вообще существует. Но для лучшего понимания данного обучающего материала, предположим, что существует.

Два связанных выпадающих списка с формулой массива

В любом случае, с самого начала напишем, что этот учебный материал является продолжением материала: Как сделать зависимые выпадающие списки в ячейках Excel, в котором подробно описали логику и способ создания одного из таких списков. Рекомендуем вам ознакомиться с ним, потому что здесь подробно описывается только то, как сделать тот другой связанный выпадающий список 🙂 А это то, что мы хотим получить:

  • тип автомобиля: Легковой, Фургон и Внедорожник (Категория)
  • производитель: Fiat, Volkswagen i Suzuki (Подкатегория) и
  • модель: . немножечко их есть 🙂 (Подподкатегория)

В то же время мы имеем следующие данные:

Этот список должен быть отсортирован в следующей очередности:

Он может быть любой длины. Что еще важно: стоит добавить к нему еще два меньших списка, необходимых для Типа и Производителя, то есть к категории (первый список) и подкатегории (второй список). Эти дополнительные списки списки выглядят следующим образом:

Дело в том, что эти списки не должны иметь дубликатов записей по Типу и Производителю, находящихся в списке Моделей. Вы можете создать их с помощью инструмента «Удалить дубликаты» (например, это показано в этом видео продолжительностью около 2 минут). Когда мы это сделали, тогда .

Первый и второй связанный выпадающий список: Тип и Производитель

Для ячеек, которые должны стать раскрывающимися списками в меню «Данные» выбираем «Проверка данных» и как тип данных выбираем «Список».

Для Типа как источник данных мы просто указываем диапазон B7:B9.

Для Производителя мы уже используем формулу, которая подробно описана здесь. Она выглядит так:

Модель — описание для этой записи сделаем таким же самым образом.

Третий связывающий выпадающий список: Модель

Теперь рассмотрим, как связать выпадающий список в Excel. Поскольку Модель зависит как от Типа, так и от Производителя — значит мы будем использовать сложную формулу. После поместим ее не в проверку данных, а в именной диапазон. Соответственно проверка данных будет содержать ссылку на это имя. Предположим, мы хотим отобразить в нем легковые модели Fiat. В первом списке мы выбрали Легковой, во втором — Fiat.

Мы будем перемещать ячейку H4 на столько строк, пока не найдем позицию первого легкового Fiatа. Поэтому в колонке Тип мы должны иметь значение Легковой, а в колонке Производитель должен быть Fiat. Если бы мы использовали промежуточный столбец (это было бы отличным решением, но хотели бы показать вам что-то более крутое ;-), то мы бы искали комбинацию этих данных: Легковой Fiat. Однако у нас нет такого столбца, но мы можем создать его «на лету», другими словами, используя формулу. Набирая эту формулу, вы можете себе представить, что такой промежуточный столбец существует, и вы увидите, что будет проще 😉

Для определения положения Легковой Fiat, мы, конечно, будем использовать функцию ПОИСКПОЗ. Смотрите:

Вышеописанное означает, что мы хотим знать позицию Легкового Fiatа (отсюда и связь B4&C4). Где? В нашем воображаемом вспомогательном столбце, то есть: F5:F39&G5:G39. И здесь самая большая сложность всей формулы.

Остальное уже проще, а наибольшего внимания требует функция СЧЁТЕСЛИМН, которая проверяет, сколько есть Легковых Fiatов. В частности, она проверяет, сколько раз в списке встречаются такие записи, которые в столбце F5:F39 имеют значение Легковой, а в столбце G5:G39 — Fiat. Функция выглядит так:

А вся формула для именного диапазона раскрывающегося списка это:

Если вы планируете использовать эту формулу в нескольких ячейках — не забудьте обозначить ячейки как абсолютные ссылки!

Теперь чтобы правильно использовать данную формулу по назначению в третьем выпадающем списке нам необходимо выполнить рад последовательных действий:

  1. Создаем новое имя. Для этого выберите инструмент: «ФОРМУЛЫ»-«Определенные имена»-«Диспетчер имен»-«Создать».
  2. При создании имени в поле «Имя:» вводим слово – модель, а в поле «Диапазон:» вводим выше указанную формулу и нажимаем на всех открытых диалоговых окнах ОК:
  3. Перейдите на ячейку D4 чтобы там создать выпадающий список, в котором на этот раз в поле ввода «Источник:» следует указать ссылку на выше созданное имя с формулой =модель.

Когда вы перейдете в меню «Данные», «Проверка данных» и выберите как Тип данных «список», а в поле «Источник» вставьте не саму формулу, а ссылку на имя «=модель» именного диапазона с этой формулой. Такой подход обеспечит стабильность работы третьего выпадающего списка.

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

Связанные выпадающие списки.xls (216,5 KiB, 1 364 скачиваний)

Чтобы понять о чем пойдет речь в статье сначала необходимо понимать что такое выпадающий список и как его создать. Теперь попробуем разобраться что значит выражение «связанный выпадающий список». Я бы еще назвал такой список зависимым. Т.е. когда список значений одного выпадающего списка зависит от значения, выбранного в другом выпадающем списке или просто забитого в ячейку. Представим ситуацию: есть ячейка А2 . В ней создан выпадающий список со значениями: Овощи, Фрукты, Мясо, Напитки . А в ячейке В2 нам нужен такой список, чтобы значения этого самого списка изменялись в зависимости от того, какое значение мы укажем в ячейке А2 — т.е. список выбранной категории продуктов. Например выбрали в А2 значение Овощи — в В2 появился выпадающий список, содержащий значения: Морковь, Капуста, Картошка, Редиска, Помидоры. Выбрали в А2 Мясо — в В2 появился выпадающий список, содержащий значения: Говядина, Телятина, Свинина, Курица, Индейка . И т.д.

Подготовка
Для начала нам потребуется создать все эти списки. Что-то вроде этого:

Далее для каждого из этих списков необходимо назначить именованный диапазон. Создать можно любым способом из описанных в этой статье. Главное помнить — если сами списки расположено на листе, отличном от того, на котором списки выпадающие — то обязательно создавать именованный диапазон с назначением области действия — Книга.
В приложенном к статье примере диапазоны имеют имена категорий — их можно видеть в заголовках.
Если ваши категории содержат пробел — необходимо заменить его на нижнее подчеркивание (_) или удалить, т.к. в качестве именованного диапазона такое значение не подойдет и ничего в результате не получится.

Создание зависимых списков
В ячейке А2 создаем «список списков» — основной список, на основании значений которого будет создаваться второй список. Этот список может быть создан любым способом (как создать выпадающий список). Назовем его Список категорий.
В ячейке В2 потребуется создать список на основании формулы, хоть по сути и так же, как и остальные: вкладка Данные (Data)Проверка данных (Data validation)Список (List) . Но теперь вместо прямого указания имени списка необходимо указать ссылку на именованный диапазон, который мы выберем в Списке категорий(ячейка А2 ), на основании его имени. В этом нам поможет функция ДВССЫЛ (INDIRECT) . Просто записываем эту формулу в поле Источник (Source) : =ДВССЫЛ( $A2 )

На что обратить внимание: если вы планируете распространять такой список на столбец, то ссылка должна выглядеть именно так: $A2. Перед цифрой не должно быть знака доллара ($A$2 — неправильно). Иначе зависимый список будет всегда формироваться исключительно на основании значении ячейки А2.

Источник из другой книги
Сами списки товара могут находится и в другой книге. Если книга называется Книга со списком.xls и на Лист1 в ячейке А1 в этой книге находится имя нужного нам списка, то формула будет выглядеть так:
=ДВССЫЛ(«‘[Книга со списком.xls]Лист1’!»&$A$1)
На что обратить внимание: лучше всегда перед именем книги и после имени листа ставить апостроф — ‘. Так вы избежите проблем и недопонимания, если имя листа или книги содержит пробелы и иные специфические символы. В отличии от списков внутри одной книги в данном случае знак доллара должен быть и перед буквой и перед цифрой. В ином случае возможны ошибки (если, конечно, это не было сделано специально с пониманием того, что делалось).

Ограничения : данный способ создания списков хорош, но не обошлось и без ложки дегтя. Даже двух:

  1. обе книги должны быть открыты. Если вы закроете книгу со списками, то получите ошибку — выпадающие списки просто перестанут работать
  2. созданные подобным образом связанные списки не будут работать с динамическими именованными диапазонами

И ничего с этими ограничениями не поделать при подобном подходе.

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

Статья помогла? Поделись ссылкой с друзьями!

Поиск по меткам

Здравствуйте!
В связанных списках для заголовков одной таблицы использую ДВССЫЛ таким образом =ДВССЫЛ(«Таблица[#Заголовки]»), дабы при добавлении нового столбца или изменении заголовков в динамической таблице автоматом отображались данные изменения и добавления.
Но в некоторых случаях происходит некое зависание, данный список не раскрывается, он будто не видит данных которые необходимо отобразить.
Подскажите в чем может быть причина?

Поделитесь своим мнением

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

Зависимые выпадающие списки в Excel

Изучим простой способ создания зависимых (также называют связанных) выпадающих списков в Excel.

Для начала поясним, что же такое связанные выпадающие списки.
Это 2 выпадающих списка, при этом список значений одного из выпадающих списков зависит от выбора значения в другом выпадающем списке. Создать по отдельности выпадающие списки не представляет сложностей, но и связать выпадающие списки можно достаточно просто.
Для наглядности рассмотрим следующую ситуацию: у нас есть несколько категорий блюд, например, пицца, суши и паста, а также виды блюд в каждой категории (пицца Пепперони, суши Филадельфия, паста Феттучини и т.д.):


В результате мы хотим получить своеобразный двухуровневый зависимый выпадающий список: на первом уровне (списке) — категории блюд, на втором — блюда из выбранной категории.

Как сделать зависимые выпадающие списки?

В основе создания связанных выпадающих списков лежит применение функции ДВССЫЛ, которая позволяет преобразовывать текст из ячейки в ссылку.
Другими словами, если в ячейку введено текстовое значение «А1», то функция ДВССЫЛ вернет ссылку на ячейку А1.
Теперь зададим имена диапазонам состоящим из всех видов блюд каждой конкретной категории.
Для этого в панели вкладок выбираем Формулы -> Определенные имена -> Присвоить имя:


Выделяем диапазон ячеек A2:A6 и создаем диапазон с именем Пицца, аналогичные действия повторяем и для списков с суши (имя диапазона — Суши) и пастой (имя диапазона — Паста):


Обратите внимание, что при создании имен диапазонов имя не должно включать в себя пробелы.
В том случае если в названии категории все же содержится пробел (например, Японская кухня), то одним из вариантов решения является использование нижнего подчеркивания вместо пробела в имени диапазона (Японская_кухня).

Создадим первый выпадающий список в ячейке A10, состоящий из категорий блюд (Пицца, Суши и Паста). В панели вкладок выбираем Данные -> Работа с данными -> Проверка данных, указываем тип данных Список и в качестве источника выделяем диапазон A1:C1:


Теперь создаем второй выпадающий список, полностью повторяем действия с созданием первого списка, только в поле Источник записываем формулу =ДВССЫЛ(A10):


Имена созданных диапазонов обязательно должны совпадать с элементами первого списка, поэтому если в первом списке есть категории содержащие пробелы, то при обращении к имени диапазона необходимо заменить пробелы на нижние подчеркивания.
Это можно осуществить с помощью функции ПОДСТАВИТЬ, которая позволяет заменить старый текст (пробел) на новый текст (нижнее подчеркивание) в текстовой строке, т.е. в нашем случае формула примет вид =ДВССЫЛ(ПОДСТАВИТЬ(A10;» «;»_»)).
Также минусом данного способа создания списков является невозможность использования динамических именованных диапазонов.

Подробно ознакомиться с примером зависимых выпадающих списков — скачать пример.

Многоуровневый (3+) связанный список (типа предок-родитель) в MS EXCEL

​Смотрите также​ для ВПР порядок​ ПОИСК() ИНДЕКС+ПОИСКПОЗ() и,​: Пишите так:​ генерится через​ отрицании конкретных возможностей​ VBA. А формулами​ бился над аналогичной​

​ легче(а я так​1​B6​. Формула вернет порядковый​Наложим ограничение на порядок​ столбце В​

  • ​ – ячейки А2:А4​
  • ​Чтобы добавить новое значение,​ нужно производить следующим​

​Для сложных иерархических структур​ следования данных не​ наверное возможны еще​01​PivotTable​ Excel. При задействовании​ только иногда «балуюсь»​ задачей и не​

​ чувствую и изящнее)​…​и опять балдеем:​ номер выбранного Региона.​

Решение

​ заполнения перечней стран​.​ должны совпадать с​

​ например, новую Страну​
​ образом:​
​ с тремя и​

​ важен.​ варианты​01.01​.​ n-количества доп. столбцов​ чуть-чуть.​ придумал ничего лучше​ меня.​1.30​ Чад, Танзания… Опять​​ Он же является​​ для Регионов на​Это второй уровень​ ячейками В1:D1).​ с городами и​Столбец Номер уровня содержит​

​ более уровнями создадим​​Вы просто гений!!!!!!​SerenDion​01.02​Единственное техническое ограничение​ или при «выстреле»​

​А надо бы​ чем для каждого​​Если уж никто​​1.30.1​ без пустых строк.​

​ порядковым номером столбца,​

​ листе Списки. Теперь​​ выпадающих списков.​​Если наименований много,​ улицами, нужно добавить​ числовые коды уровней.​ Многоуровневый связанный список​ все заработало!!!!!!!!!!!​: на 1 листе​и т.д.​

​ — в строке​ какой-то идеи решается​ подправить что-то в​ уровня вложения создать​ из Гуру формул​1.30.1.1​

​А теперь – основное​ содержащим названия стран,​ порядок расположения названий​Внимание!​

​ то столбец можно​ в таблицу на​

​ Самый верхний уровень​ типа Предок-Родитель. Теперь​Огромное спасибо!!!​

  • ​ есть таблица, в​SerenDion​ списка не должно​ то, что раньше​ формуле, т.к. при​ отдельный скрытый служебный​
  • ​ не откликтнется…​1.30.1.1.1​ отличие от Связанного​
  • ​ выбранного Региона в​ Регионов в столбце​Перед тем, как​ транспонировать в строку.​ листе Списки нужное​ (0) содержит название​ структуры типа: Регион-Страна-Город-Улица​[/QUOTE]​ первом столбце как​: есть унифицированная форма,​ быть пустых ячеек​ считалось невозможным. Как​ изменении уровня вложенности,​ столбец. А в​EducatedFool​1.30.1.1.2​

Как работает эта формула?

​ списка: для добавления​ строке​​A​​ устанавливать выпадающие списки​ Как это сделать,​

  • ​ количество строк. Чтобы​ Регионов. Можно создать​ можно создавать в​ZVI​ раз номера многоуровневого​ где без ноликов​ между заполненными.​ у фантастов. Люблю​
  • ​ например, в строке​ видимом начальству столбце​: Может, всё-таки, воспользоваться​1.30.1.1.3​
  • ​ новых Регионов и​1​в точности должен​ в столбце В,​ смотрите в статье​ не исправлять формулу,​

​ любое количество уровней;​ MS EXCEL.​​: Добавил макрос и​​ списка. таблица большая.​ нумерация. с нолями​

​Имеется мелкий изъян:​ фантастику :)​ 6 с уровень3​ многоуровневый список делался​

​ Word-ом?​
​1.30.1.1.4​
​ их Стран теперь​

  • ​.​ соответствовать порядку заголовков​ выберите в первой​
  • ​ «Как поменять местами​ строки следует добавлять,​Столбец Родитель содержит названия​В статье Многоуровневый связанный список​
  • ​ кнопочки для требуемой​ на 2 лист​ и у меня​ номер выбранного пункта​
  • ​Haken​ на уровень2, дальше​ формулам =СЦЕПИТЬ(…)​Для него подобная​1.30.1.1.5​ достаточно ввести новый​Создадим именованную константу МаксСтран​ перечней Стран в​ верхней ячейке столбца​ столбцы и строки​
  • ​ вставляя их между​ из столбца Потомок​ в MS EXCEL мы​

​ сортировки​ хочу вывести только​ все корректно.​ может оказаться больше​, мысль с прописыванием​ сбивается нумерация из-за​Alex_ST​ нумерация — родная.​1.30.1.1.6​ Регион в столбец​ равную 20. Константа​

​ строке​ А любое значение.​ в Excel» тут.​ уже существующими строками. ​ более верхнего уровня;​​ уже создавали многоуровневый​​SerenDion​ 3 столбца. то​Спасибо за ответ)​​ длины списка при​​ уровней понравилась.​ «проглатывания» разделителя (точки).​: Вот, что-то типа​И уровень заголовков​1.30.1.1.7​A​

​ соответствует максимальному количеству​1​ Главное, чтобы эта​Как настроить Excel,​Теперь представим ситуацию, что​Столбец Потомок связывает значений​ список. Но, у​: Спасибо всем большое!!!!!!​

excel2.ru

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

​ есть ввожу номер(из​​SerenDion​ новом выборе в​​Козина О.В.​ Ясно, что где-то​​ этого.​​ можно менять нажатием​1.30.1.1.8​​(лист​ стран в регионе​(в предыдущем случае,​ ячейка не была​ чтобы при добавлении​ после заполнения таблицы​ из 2-х соседних​
​ того списка было​​heaven33rus​ столбца А) и​​: А без подстановки​
​ вышестоящем меню.​: Haken огромное спасибо.​ маленькая ошибка в​Только надо с​ одной комбинации клавиш.​1.30.1.1.9​Списки​ (константу мы устанавливаем​ см. статью Связанный​ пустой. У нас​ ячеек в список​ с помощью выпадающих​ уровней. Нужно иметь​ 2 недостатка:​
​: Приветствую.​ хочу чтоб выводились​ нулей есть варианты?​Если выбрать, например,​ Мне бы такая​ формуле, но где?…​ формулами скрытых столбцов​В случае с​
​1.30.1.1.10​), в строке​
​ произвольно).​
​ список, этого не​ – это ячейка​ столбца A, автоматически​ списков, было изменено​ ввиду, что если​слишком сложные формулы;​Решил сделать калькулятор​ значения из определенных(заданных)​Z​ сначала​
​ реализация даже в​тухачевский​ помудрить чтобы пересчитывались​ Excel (где нет​1.30.1.2​1​Создадим Именованный диапазон Выбранный_Регион​ требовалось, главное, чтобы​
​ А2.​ писалось название нового​ значение ячейки​ мы начали заполнять,​максимальное количество уровней -​ для подсчета стоимости​ столбцов, из строки,​: Все перечислять?! С​Кредитный инспектор (стройка) (2)​
​ голову не пришла.​: Алекс,​​ при удалении/добавлении пунктов.​ возможности менять уровень​1.30.1.2.1​автоматически отобразится соответствующий​ для определения диапазона​ все названия Регионов​Выделяем диапазон в​
​ столбца, смотрите в​С10​ например, все страны​ 3.​ технических мероприятий.​ соответствующей этому номеру.​ доп полями, макросом…​
​из​ Вот уж действительно​ ​не понял, что​
​Козина О.В.​ без применения макроса)​1.30.1.2.2​ заголовок. Под появившимся​ на листе​ присутствовали в заголовках,​ столбце В (у​ статье «Как добавить​. Например, вместо США​ Америки, то нужно​Предлагаемое ниже решение лишено​Использовал многоуровневые выпадающие​то есть ВПР​Юрий М​
​Отдел/сектор финансирования …​ — век живи,​ подправить​: Если что-то должно​​ возникает вопрос:​1.30.1.2.3​ заголовком в строке​Списки​ а порядок был​ нас – это​ столбец в Excel​ выберем Мексика. Естественно,​
​ полностью закончить этот​​ этих недостатков, но​ списки, получилось 5​​ как раз подходит,​
​: Вариант: параллельный столбец​, а потом изменить​ век учись.​Козина О.В.​ быть удалено, то​как формулы должна​1.30.1.2.4​1​, содержащего страны выбранного​ не важен).​ В2:В3). Снова через​
​ автоматически».​ значение в ячейке​ список, затем переходить​ исходный список, содержащий​
​ уровней.​​ еслиб не этот​ и сортировка уже​​ отдел на​​Guest​: Интересно, а если​
​ только вместе с​
​ нумеровать оставшиеся после​1.30.1.2.5​введите страны нового​ Региона: =СМЕЩ(списки!$A$2;;Позиция;МаксСтран).​Для обеспечения этого требования​ функцию «Проверка данных»​Как сделать в Excel​D10​ к следующему региону.​ названия стран, городов​загрузить свой рабочий​
​ многоуровневый список…….​ по нему.​Отдел кредитования​: ложка дегтя: согласно​ воспользоваться word, можно​ «подработами», например, если​ удаления строки?​1.30.1.3​ Региона. И все!​Теперь, например, при​
​ введем в ячейку​ выбираем «Тип данных»​ динамический диапазон​не изменится (в​ Выполнение этого требования​ и улиц получается​
​ вариант так и​DEAD MAN​SerenDion​, то в последнем​ инструкции по делопроизводству​ ли в нем​ удаляем 1.30.1, то​Возьмём ваш пример​1.30.1.3.1​Частными случаями Связанного списка​ выборе региона Америка​B1​ – список. А​- чтобы размер​
​ ней останется один​ необходимо для правильной​ немного громоздким и​ не смог, много​: А в чем​
​: В общем это​ меню появляются лишние​ индекс пункта должен​ сделать простейшую арифметику.​ также я удалю​ — а именно​1.30.1.3.2​ являются:​
Связанные выпадающие списки в Excel.​ функция СМЕЩ() вернет​листа​ в строке «Источник»​ диапазонов списков при​
​ из городов США).​ работы вышеуказанной формулы.​ его нужно наполнять​ весит и облегчить​ проблема сделать, как​ вспомогательная задача, необходимая​ строки.​

excel-office.ru

Расширяемый Связанный список в MS EXCEL

​ заканчиваться точкой​ Я давно встречала​

​ и подработы.​ эти строки:​1.30.1.3.3​Динамический выпадающий список: в​ ссылку на диапазон​Списки​ пишем такую формулу​ добавлении или убавлении​ Чтобы подсказать пользователю​ Выпадающие списки формируются​ придерживаясь определенных правил.​ не вышло, сторонние​ советовали выше, дополнительный​ для решения другой))))​

​Может, кто придумает,​vikttur​ такой макрос, чтобы​А далее идёт​1.30​1.30.1.3.4​​ этой структуре перечень​​ списки!$B$2:$B$20, содержащего все​формулу​ =ДВССЫЛ(А2)​ ячеек менялся автоматически,​​ об ошибке, используем​​ именно из этого​В результате мы должны​ ссылки удаляются​ столбец для сортировки​ поэтому параллельный столбец​ как от этого​: Была бы идея​ в wordе можно​

​ работа 1.30.2, которая​1.30.1​​1.30.1.4​​ элементов для выпадающего​​ страны этого Региона.​​=ДВССЫЛ(АДРЕС(СТРОКА($A$1)-СТОЛБЕЦ($A$1)+СТОЛБЕЦ();1))​
​Этой формулой мы говорим​

​ смотрите в статье​ Условное форматирование.​ столбца.​​ получить вот такой​​Сделал заготовку, без​ и скрыть его?​

​ ооочень все усложнит.​ избавиться.​ (спасибо Haken’у), а​ было складывать. Но​ после удаления выписанных​1.30.1.1​1.30.1.5​

​ списка только один,​В принципе, можно в​Теперь названия заголовков столбцов​ Excel, что список​ «Чтобы размер таблицы​

  • ​Формула в правиле Условного​Рассмотрим как формируется выпадающий​ 4-х уровневый связанный​
  • ​ моего видения.​ Не могу понять,​
  • ​ если я правильно​nerv​

​ точек можно наставить.​

  • ​ сейчас его найти​

​ работ должна переименоваться​1.30.1.1.1​1.30.1.6​​ но его содержание​​ качестве источника Связанного​​ будут автоматически браться​​ нужно показывать, в​ Excel менялся автоматически».​ форматирования ищет в​ список в ячейке​ список:​Теперь вопросы:​ чем это усложнить​ поняла, вы предлагаете​​: Это что-то вроде​​Уточните, индекс первого​ не могу.​ в 1.30.1, и​1.30.1.1.2​

​1.30.1.7​ зависит от значений​ списка для ячеек​ из столбца​ зависимости от значения​Теперь нужно присвоить​ таблице на листе​B8 ​Выпадающие списки будем формировать​Нужны связанные списки:1.​​ работу с таблицей?​​ второй уровень списка​​ древовидного списка?​​ уровня тоже должен​Alex_ST​ соответственно работы 1.30.2.1,​1.30.1.1.3​1.30.1.8​ нескольких ячеек. Эта​ из столбца​​А​​ в ячейке столбца​

​ имена всем этим​ Списки пару Родитель-Потомок.​на листе Таблица (заполняем​ с помощью одной​ Выбор предприятия-2. необходимость​SerenDion​

​ в параллельный столбец​Формуляр​ быть с точкой(1.)?​​: Прошу прощения за​​ 1.30.2.2 и 1.30.2.3​1.30.1.1.4​
​1.30.1.8.1​ структура позволяет исключать​B​и однозначно соответствовать​ А.​ спискам. У нас​

​ Если такая пара​ Регионы). ​ большой Именованной формулы:​ строительство(да/нет)-3. объем строительства-4.​​: Z , спасибо​​ поместить?​​: Ну да, можно​​тухачевский​ долгое молчание. Какая-то​ переименуются в 1.30.1.1,​теперь представим, что​1.30.1.8.1.1​ из выпадающего списка​на листе​ названиям Регионов.​Здесь все просто.​​ в списках четыре​​ не найдена, то​Выражение ЕСЛИ(Таблица!B$7=Списки!$F$5; проверяет заполняем​
​=ЕСЛИ(Таблица!B$7=Списки!$F$5;​

​ Тип объекта строительства-5.​ за орфографический ликбез.​»Все перечислять?! С​ и так сказать.​: точки д/б везде​

​ проблема возникла с​ 1.30.1.2 и 1.30.1.3.​ вы вручную удалили​1.30.1.8.1.2​​ уже введенные значения,​​Таблица​

  • ​Модифицируем файл примера из​​ Но бывает название​​ диапазона (четыре столбца).​
  • ​ ячейка выделяется красной​
  • ​ ли мы столбец​
  • ​СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0));​ объект строительства.​

​Z​ доп полями, макросом…​nerv​​а идея замечательная​​ выкладыванием файлов… Попробую​Я ответила на​ эти строки:​​1.30.1.8.1.3​​ что обеспечивает гарантированный​указать =Выбранный_Регион, но​ статьи Связанный список.​ диапазона (столбца) состоит​ Легко и быстро​ заливкой.​ Регионы (самый верхний​

​СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!A8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!A8)))​И главный вопрос,​​: Похоже на новую​​ «​: А по другому​добавил ложку меда:​​ словами.​​ Ваш вопрос?​1.30.1​1.30.1.8.1.4​

​ ввод неповторяющихся значений.​ тогдав Выпадающем списке​ Сначала удалим через​ из нескольких слов.​ сделать так.​Выпадающие списки в Excel​ уровень с номером​​Эту формулу можно посмотреть​​ вся стройка должна​​ тему, и, пока​​так много вариантов?!!​​ «дерево» не как​​ при удалении строки​тухачевский,​По поводу уровней:​​1.30.1.1​​1.30.1.8.2​Вложенный связанный список: в​

​ будут появляться пустые​ Диспетчер имен (Формулы/​

  • ​ Например, «Зимние пальто».​Как присвоить имя диапазону​бывают разные. Есть​ 0) или нет.​ через Диспетчер имен (имя​ быть разделена на​ вас не забодали,​ подскажите самый простой,​ не реализовать (хотя​ не нужно перепрописывать​попробуйте вместо [I6]=»»,​ мне дают готовый​
  • ​1.30.1.1.1​1.30.1.8.2.1​ этой структуре все​ строки. Для исключения​ Определенные имена/ Диспетчер​ А в имени​ в​ простой​ В данном случае​ формулы — Выбор),​ 2 группы, при​ рекомендую присмотреться к​ пожалуйста))​ бы теоретически)? А​ столбец​ [J6]=1 сделать [I6]=1,​ список работ, где​
  • ​1.30.1.1.2​1.30.1.8.2.2​ перечни элементов для​ этих строк, наконец,​ имен) все созданные​ диапазона нельзя ставить​Excel.​раскрывающийся список Excel в​ выражение вернет значение​ но так как​ выборе Предприятия 01​ расширенному фильтру или​Z​ то мне судя​Haken​ [J6]=»» (т.е. повысить​ указаны основные этапы​То есть, осталось​1.30.1.8.2.3​

excel2.ru

Многоуровневая нумерация в excel

​ выпадающего списка содержатся​​ создадим последнюю Именованную​ ранее Имена.​ пробел. Имя диапазона​Выделяем диапазон ячеек​ ячейке​ ИСТИНА;​ формула использует относительную​ и вторая группа​ сводной, как варианты…​: Он у вас​ по всему скоро​: Рад, что моя​
​ уровень строки 6)​
​ (цветом, шрифтом…), крупные​
​ вот что:​
​1.30.1.8.3​
​ в одном столбце,​
​ формулу Страны для​
​Создадим Динамический диапазон для​
​ напишем так «Зимние_пальто».​
​ всех списков сразу​
​. Есть​
​Так как предыдущее выражение​
​ адресацию в ссылках​
​ для всех остальных,​
​SerenDion​
​ есть — вами​
​ потребуется…​
​ идея понравилась.​
​ и увидите, что​
​ этапы, подэтапы, работы​
​1.30​
​1.30.1.8.4​
​ а не в​
​ более точного определения​
​ формирования Выпадающего (раскрывающегося)​
​ Но формула ДВССЫЛ​
​ вместе с шапкой​
​многоуровневые зависимые выпадающие списки​
​ =ИСТИНА, то работает​
​ на ячейки Таблица!B$7 и Таблица!A8,​
​ т.е. какое то​
​: тогда, как я​
​ придуманный — с​
​Формуляр​
​Чтобы везде в​
​ нумерация в строках​
​ и т.д. Нумерацию​
​1.30.1.1.3​
​1.30.1.9​
​ разных, как в​
​ диапазона на листе​
​ списка содержащего названия​
​ не найдет этот​
​ таблицы списков –​
​ в Excel​
​ первое условие функции​
​ то для ее​
​ разделение на этапе​
​ понимаю, на лист​
​ «0» впереди…​
​: С многоуровневыми рубрикаторами,​
​ конце была точка,​
​ 7 и 8​
​ я делаю уже​
​1.30.1.1.4​
​1.30.1.10​
​ обычном связанном списке.​

​Списки​​ Регионов. Для этого​ диапазон. Тогда формулу​ у нас это​

​. Это, когда, в​​ ЕСЛИ(), т.е. выражение СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0))​

​ просмотра нужно предварительно​​ выбора предприятия или​ 2 нужно вводить​SerenDion​ списками и анкетами​ можно поставить формат​ нарушится.​

​ сама вручную. А​​И как должна​1.30.1.11​

​ Значения в этом​​, содержащего страны выбранного​ необходимо:​ нужно написать так.​

​ диапазон А1:D4. На​​ зависимости от выбранных​функция СМЕЩ() выбирает из​ выделить ячейку​ что то такое.​ номера из доп​: смысл в том,​ мне работать приходится​ ячеек «@.» (без​Alex_ST​ потом иногда получается,​ восстановиться нумерация? Вариантов​1.30.1.12​ столбце должны быть​
​ Региона:​нажать кнопку меню «Присвоить​ =ДВССЫЛ(ПОДСТАВИТЬ(A2;» «;»_»))​

​ закладке «Формулы» в​​ данных в первом​ столбца D (Потомки)​
​В8​P.S. Сереньким слева​
​ столбца?​ что моя таблица​ регулярно.​
​ кавычек) :)​: А по поводу​ что мне говорят:​ восстановления множество…​1.30.2​
​ отсортированы. Пример: список​ =СМЕЩ(списки!$A$2;;Позиция;СЧЁТЗ(Выбранный_Регион))​ имя» (Формулы/ Определенные​
​Если список на​ разделе «Определенные имена»​ столбце выпадающего списка,​
​ все значения, у​
​на листе Таблица.​
​ пример, того, как​
​DEAD MAN​
​ очень громоздкая, и​
​Пока ничего (без​
​Сейчас пытаюсь доработать,​
​ Word’a, Оксана, попробуйте​ «А давай этот​KuklP​
​1.30.2.1​
​ сотрудников компании, отсортированный​
​Теперь через Диспетчер имен​
​ имена/ Присвоить имя);​
​ другом листе, то​ нажимаем функцию «Создать​
​ меняется выпадающий список​
​ которых уровень равен​
​ О том как​
​ оно должно в​: Без примера сложно​ уровней у списка​

​ макросов) проще и​​ чтобы нумерации любого​ конечно, но вряд​ подэтап уберём» -​
​: ДА, так гораздо​1.30.2.2​ в алфавитном порядке.​ (Формулы/ Определенные имена/​

​в поле Имя ввести​​ в формуле указываем​ из выделенного фрагмента».​ в ячейках второго​
​ 0. Из этих​ работает эта формула​ итоге выглядеть.​
​ ответить, поскольку не​ аж 4. с​
​ удобней не придумал​ уровня и количества​ ли сможете получить​ какой-нибудь из начала​ изящнее! EducatedFool респект!​1.30.2.3​
​ Перечень элементов для​ Диспетчер имен) можно​ Регионы;​ название этого листа.​ В появившемся диалоговом​ столбца, третьего, т.д.​ значений формируется выпадающий список.​ см. в разделе​Спасибо.​ видно что там​ нулями она очень​ и не нашёл.​ работали правильно :)​ что-нибудь приемлемое.​

​ списка, и всю​​ Кто больше?​1.30.3​ выпадающего списка формируется​ посмотреть все созданные​в поле Диапазон ввести​ Напишем так. =ДВССЫЛ(»Размеры!А2:А4»)​ окне оставляем галочку​Здесь разберём​Рассмотрим как формируется выпадающий список в​ статьи ниже. ​heaven33rus​

​ к чему.​​ похожа на двоичные​А в каком​
​Haken​»Word и таблицы​ нумерацию приходится перебивать​Козина О.В., Ваш​

​1.30.3.1​​ в зависимости от​ выше Имена.​ формулу​Нажимаем «ОК». Теперь​ только у строки​двухуровневый зависимый выпадающий список​ ячейке ​
​ПРИМЕЧАНИЕ​: Исправил файл и​Для примера, я​ коды и совсем​ смысле «по-другому»?​: Вот :)​ — не совместимы»​ вручную.​ пример(в соответствии с​
​1.30.3.2​ выбранной буквы алфавита.​

​Наконец сформируем выпадающий список​=списки!$A$2:ИНДЕКС(списки!$A:$A;СЧЁТЗ(списки!$A:$A))​ во втором столбце​ «В строке выше».​ в Excel​С8 ​: Функция ЕСЛИ() нужна для формирования​ более точно написал​ как-то делал файл,​ нечитаема. и это​nerv​выбирайте, кому с​ (в смысле как​Прилагаю файлик с​ правилами форума) сильно​1.31​Запрос на выборку: в​

​ (связанный список) для​Нажать ОК.​ установлены выпадающие списки,​Нажимаем «ОК». Всё, имена​.​на листе Таблица (заполняем​ списка самого верхнего​ что должно получиться.​

​ в котором необходимо​​ еще бы ничего,​: Чтобы было дерево)​ точкой, кому без​ гений и злодейство…)​ одним из проектов​ ускорит решение.​1.32​ этой структуре все​

​ ячеек из столбца​​Формула =списки!$A$2:ИНДЕКС(списки!$A:$A;СЧЁТЗ(списки!$A:$A)) подсчитывает количество​ которые меняются, в​
​ присвоены. На закладке​Например, в первом​ Страны). ​
​ уровня иерархии -​heaven33rus​

​ было сгруппировать данные​​ но есть требование​
​SerenDion​ точки, кому формулами,​Там, конечно, можно​ с готовой нумерацией​vikttur​KuklP​ перечни элементов для​ Страна налисте​ введенных Регионов в​
​ зависимости от того,​ «Формулы» нажимаем функцию​ столбце из выпадающего​В этом случае формула​ у него нет​: Посмотрите, кто разбирается​ по строкам в​ к оформлению….(((​: Всем доброго времени​ кому макросами :)​ делать таблицы и​ (там мне сказали,​

​: >>Наверняка спецы типа​​: Это мы не​
​ связанного списка содержатся​Таблица​

​ столбце​​ что написано в​ «Диспетчер имен».​ списка выбрали «Пальто».​ будет несколько другая,​ Родителя.​ в многоуровневых списках.​ пять уровней и​SerenDion​ суток. Очень нужна​Прошу обратить внимание​

​ какие-то простейшие вычисления,​​ возможно придётся убрать​ Kim, vikttur заинтересуются​ с Олечкой Козиной​ в одной таблице​.​
​А​
​ ячейках первого столбца.​Здесь перечислены все наши​ Во втором столбце​ т.к. в ней​Для ввода формулы выделите​Сделал, как мне​ столбцы по периодам.​: Может я с​

​ помощь. Создаю многоуровневый​​ на различие обработки​ но ВСЁ НАСТОЛЬКО​ пункт 1.3 (то​ Вашей задачей.​ общаемся? Сергей Пилипенко.​
​ (в базе данных).​выделяем диапазон​на листе​ Получилось так.​
​ диапазоны списков. Проверили​ появился выпадающий список​ сработают относительные ссылки:​ ячейку​ надо было, но​

​ В итоге, решил​​ другой стороны подойду).​
​ список​
​ с помощью формул​
​ КОРЯВО!!!​
​ есть строки с​

​за «спецов» спасибо.​​Козина О.В.​ Сам связанный список​B5:B22​
​Списки​Копируем формулу вниз по​ всё. Можно подкорректировать​ размеров этого пальто.​=ЕСЛИ(Таблица!C$7=Списки!$F$5;​B8​
​ на 4 уровне​ с помощью сводной​ Может подскажите функцию​
​1.1​ и польз.функции. «ошибки»​тухачевский​

​ 12-ой по 22-ую).​​ Приятно, хотя и​: Это Оксаночка ))))​ реализован не в​;​(функция СЧЁТЗ()) и​ столбцу. Мы создали​ размер диапазона. Мы​ А, если в​СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0));​, вызовите Диспетчер имен, и​ в выпадающем списке​ таблицы, а таблица​
​ аналогичную ВПР, но​​1.2​ при перескоке с​

​: Алекс,​​Козина О.В.​ не спец :)​KuklP​ виде выпадающего списка,​вызываем инструмент Проверка данных,​ определяет ссылку на​ двухуровневый выпадающий список​

​ уменьшили размер диапазона​​ первом столбце этой​СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!B8)))​ введите формулу:​ появляется только одно​

​ с данными содержала​​ для которой непринципиальна​.​ уровня на уровень​
​спасибо​: Алексей, спасибо огромное​Но для формулистов​

​: Козина О.В., подождите,​​ а формулами на​
​устанавливаем тип данных Список,​
​ последний элемент в​ в Excel.​ «Юбка», чтобы в​ же ячейки из​

​Выражение ЕСЛИ(Таблица!С$7=Списки!$F$5; в данном случае​​Нажмите ОК. ​ значение из трех.​
​ следующие столбцы: Период/Уровень​ сортировка в столбце​.​ больше чем на​поправил​
​ за пример. Что​ задача неинтересна.​ пожалуйста. Наверняка спецы​ листе EXCEL. Пользователь​

​в поле Источник вводим:​​ столбце (функция ИНДЕКС()),​
​Другой способ сделать​ выпадающем списке не​ выпадающего списка выбрали​ выражение вернет значение​
​Опять выделите ячейку ​Я где-то ошибся​ 1/Уровень 2/Уровень 3/Уровень​ по возрастанию?​1.9​ 1 в бОльшую​но:​ то подобное сделала​Мнение по задаче​ типа Kim, vikttur​
​ задает в определенной​ =Страны.​ тем самым формируется​ связанный выпадающий список​ было пустой строки.​

planetaexcel.ru

Выбор из многоуровневого списка (на примере штатного расписания)

​ «Брюки», то во​​ ЛОЖЬ;​B8​ или в таких​
​ 4/Уровень 5/План/Факт/Отклонение.​Юрий М​​1.10​​ сторону (внизу выделено​
​уровень перескакивать нельзя​ и я. Просто​ — макрос с​ заинтересуются Вашей задачей.​ ячейке критерий, на​Тестируем. Выбираем с помощью​ диапазон, содержащий все​​ в Excel, смотрите​​Теперь устанавливаем​
​ втором столбце будет​Так как предыдущее выражение​, сформируйте выпадающий список​ вещах надо использовать​Владимир​
​: Тогда сформулируйте конечную​2.1​ желтым)​Haken​ я подумала, может​ таким, наверное, справится​
​ Или Вас интересует​ основе которого из​​ выпадающего списка в​​ значения Регионов. Пропуски​​ в статье «Как​​первый выпадающий список в​ выпадающий список с​​ =ЛОЖЬ, то работает​​ на основе Проверки​ кардинально другой подход?​: Настраиваемую сортировку пробовали?​
​ задачу.​и т.д​Конечно, при наличии​

​: Я как-то недавно​​ есть способ как​ — отслеживание последней​

​ решение в ВБА?​​ базы данных выбираются​ ячейке​

​ в столбце​​ сделать связанные выпадающие​ ячейки столбца А​ размерами брюк.​ второе условие функции ЕСЛИ(),​ данных. В поле​kim​ Прикрепленные файлы настраиваемая​

​Z​​все хорошо, пока​ «до 900 работ​ делал упрощенную версию​ это сделать без​
​ измененной ячейки и​Козина О.В.​ строки, удовлетворяющие этому​A5​
​А​ списки в Excel​

​.​​Итак, сделаем две​

excelworld.ru

Многоуровневый список, сортировка по возрастанию

​ т.е. выражение СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!B8))​​ Тип данных укажите​: Может так подойдет…​ сортировка.jpg (70.57 КБ)​: -​
​ не делаю сортировку…​
​ всех уровней» быстрее​
​ для себя.​
​ создания дополнительных столбцов.​
​ пересчет нумерации.​
​: Сергей, меня заинтересует​
​ критерию. Выбранные строки​
​Регион – Америка,​
​не допускаются. Также​ легко».​
​У нас, в​
​ таблицы. Саму таблицу​
​функция СМЕЩ() выбирает из столбца D​
​ Список, в поле​
​heaven33rus​
​Владимир​
​Igor67​
​результат​ будет обычными формулами​Недостатки: максимальное количество​Guest​Для формул задача​ любое решение.​

​ помещаются в отдельную​​ вызываем связанный список​

​ для формирования динамического​​В статье рассмотрен улучшенный​
​ примере, мы выделяем​
​ сделаем на странице​
​ (Потомки) все значения,​
​ Источник введите формулу​

​: а как сделали,​​: Прошу прощения. С​:​1.1​ обсчитываться​ подпунктов — 9​
​: интересно как это​

​ непосильна. Нарисовать формулу​​Михаил С.​ таблицу.​

​ в ячейке​​ диапазона можно использовать​ вариант Связанного списка.​;)

​ диапазон A2:A3. И,​​ книги «Таблица». А​ у которых Родитель​ =Выбор.​

​ подскажете? на будущее?​​ 1.10 тоже не​SerenDion,​1.10​Формуляр​ (т.е. нумерация после​ без доп столбцов​ для последовательности от​: А как определить,​Козина О.В.​B5​
​ функцию СМЕЩ().​В случае, если содержание Связанного​ через «Проверки данных»​
​ списки сделаем на​ = Америка. ​С помощью Маркера заполнения​

​kim​​ получается..​а Вы используете​1.2​: Выбор реализован через​;)

​ 10 на любом​​машина без пользователя​ 1 до, например,​ сколько уровней в​: Подскажите пожалуйста как​и балдеем –​Теперь создадим Именованную формулу​ списка зависит от​ на закладке «Данные»,​ странице «Размеры». У​Для этого выражение ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0) возвращает номер​ скопируйте ячейку вправо​: А что там​

​SerenDion​​ ВПР по неточному​.​ несколько листбоксов со​ уровне будет неправильно​ не назначит правильно​ 30.30.30.30.30.30 не проблема,​ каждом случае?​

​ в Excel можно​​ появился список стран​ Позиция для определения​

​ большого количества значений​​ устанавливаем выпадающие списки.​

​ нас есть такая​​ позиции первой ячейки​​ и вниз (или​​ подсказывать? Просто подрихтовал​: Вот пример. на​ соответствию с параметром​.​ связанными списками.​ работать)​ уровень​ если последовательность непрерывна​KuklP​ сделать нумерацию (этапов,​ для Региона Америка:​ позиции, выбранного пользователем​ ячеек (>5), то​ Тип данных –​ таблица.​ в столбце Родитель,​:D

​ вверх и вправо): выпадающие​​ некоторые формулы и​ скорую руку.​ ИСТИНА? Если Вы​и т.д.​Исходный список на​При удалении/добавлении строк​у меня как-то​ или есть какой-либо​: Оксаночка, я рад​ подэтапов и работ)​ США, Мексика… В​ региона, в созданном​ нам потребуется создать​ выбираем «Список». А​
​И мы сделали такие​ содержащей значение Америка.​ списки всех уровней будут​ ссылки в Вашем​

​SerenDion​​ ищите точное соответствие​предполагаю, что дело​ листе​ нужно протянуть формулу​ так​ алгоритм изменения уровней/подуровней.​ буду Вам помочь,​ чтобы в случае​

​ отличие от Связанного​​ выше диапазоне Регионы​ такое же количество​

​ в строке «Источник»​​ списки.​ Это позиция номер​ сформированы автоматически. ​ диспетчере имен. Зайдите​: Igor67 пишет:​ и указываете параметр​;)

​ в неверном формате​​ШР​ заново по столбцу​Alex_ST​ В показанном примере​ НО! На форуме​

​ удаления одной из​​ списка – без​ =ПОИСКПОЗ(A5;Регионы;0). Т.к. в​ Именованных диапазонов. Занятие​ указываем имя диапазона.​
​Внимание!​ 4. Именно с​Наполнять выпадающие списки будем​ туда, все увидите.​SerenDion, а Вы​ ЛОЖЬ, то для​ данных. но какой​.​В самую первую​: Да, здОрово!​ разное количество вложений,​ есть УМНИЧКИ, не​ строк нумерация пересчитывалась​ пустых строк.​

​ формуле использована относительная​​ это мало увлекательное,​ Например, «=Наименование_товара».​В списках названия​

​ этой позиции, но​​ из таблицы на​ Кстати, списки Ваши​ используете ВПР по​

​ ВПР порядок следования​​ формат выбрать, чтоб​Исходная структура хороша​

​ строчку нужно вручную​​Такие сложные формулы,​
​ да еще «в​ до конца перечисленные​ заново! Нумерация возможна​Теперь заполняем следующую строку.​ адресация, то важно​ поэтому лучше настроим​Подробнее, как установить​ столбцов (В, С,​ из другого столбца,​ листе Списки (см.​
​ ни какие не​ неточному соответствию с​
​ данных не важен.​
​ сортировалось корректно ума​

​ тем, что не​​ вбить цифру 1.​ да ещё и​ случае удаления одной​

​ мной(типа Kim, vikttur,​​ до 6 уровней​

planetaexcel.ru

Калькулятор на основе многоуровневых выпадающих списков (Формулы/Formulas)

​ Выбираем в ячейке​​ перед созданием формулы​
​ Связанный список так,​ выпадающий список, смотрите​ D) должны полностью​
​ будет формироваться наш выпадающий​ файл примера):​ четырехуровневые или пятиуровневые,​
​ параметром ИСТИНА? Если​ Это ограничение когда​ не приложу.​ содержит дублирующихся наименований​vikttur​ формулы массива, для​:(
​ из строк нумерация​ ну не всех​
​ (1.1.1.1.1.1) и всего​
​A6​ сделать активной ячейку​ чтобы для него​ в статье «Выпадающий​ совпадать с названием​
​ список;​Для наглядности различные уровни​ а обычные двухуровневые​ Вы ищите точное​ Вам нужно найти​Юрий М​ и удобна для​: В который раз​ меня, к сожалению,​ пересчитывалась заново».​ формулистов перечислил!), которые​
​ до 900 работ​Регион – Африка,​B5​ было удобно добавлять​
​ список в Excel».​

​ в первом столбце​​Теперь для выпадающего списка осталось указать​ выделены Условным форматированием.​ — что гораздо​

​ соответствие и указываете​​ ближайшее меньшее значение.​: Сортировка корректная.​
​ визуального восприятия. К​ убеждаюсь, что нельзя​ недоступны… Я всё​Alex_ST​ решат Вашу проблему​ всех уровней.​
​ вызываем связанный список​на листе​ новые перечни элементов​Устанавливаем​

​ (у нас –​​ его длину. Для​

​Заполнение таблицы на листе Списки​​ проще с реализацией.​ параметр ЛОЖЬ, то​:)

​ По вопросу еще​​Niff-Nif​ тому же, легко​ быть категоричным в​ больше по-старинке, на​: Я как-то давно​ и быстрей и​Например:​ в ячейке​Таблица​ (См. файл примера).​зависимые выпадающие списки в​ это наименование товара​

excelworld.ru

​ этого используем выражение СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!В8).​

Skip to content

Как сделать зависимый выпадающий список в Excel?

Одной из наиболее полезных функций проверки данных является возможность создания выпадающего списка, который позволяет выбирать значение из предварительно определенного перечня. Но как только вы начнете применять это в своих таблицах, то неизбежно столкнетесь с проблемой: нужно сделать один выпадающий список в Excel в зависимости от значения в другом. Другими словами, как сделать динамический многоуровневый связанный список?

Вот примеры таких задач:

  • перечень городов, зависящих от выбранной страны.
  • товары, которые изготавливает определенный производитель.
  • наименования продуктов, которые входят в товарную группу.
  • выбрать модель автомобиля в зависимости от его марки.

Выглядеть это может примерно так:

Такие списки называются зависимыми, или связанными, поскольку их содержание зависит друг от друга. Такие сложные конструкции можно создавать несколькими способами.

  1. 1. Именованные диапазоны + функция ДВССЫЛ.
    • А как быть с пробелами?
  2. 2. Комбинация СМЕЩ + ПОИСКПОЗ

Начнем с более простого и стандартного подхода.

1. Именованные диапазоны + функция ДВССЫЛ.

Это может показаться сложным, но на самом деле это очень просто, и является отличным примером того, как можно применить ДВССЫЛ.

создаем зависимый выпадающий список

Рассмотрим небольшой пример. У нас есть перечень автомобилей различных марок. Расположим их каждый в отдельном столбце. В первой ячейке каждого столбца запишем производителя — Toyota, Ford, Nissan. Необходимо, чтобы после того, как первоначально мы выберем, например, Toyota, далее мы видели бы только модели этой марки, и ничего более. То есть, нам нужен двухуровневый связанный список.

Для начала создадим именованные диапазоны с моделями автомашин. Имя каждому из них присвоим в соответствии с маркой авто. Важно, чтобы имя каждого из них точно соответствовало значению, записанному в первой строке соответствующего столбца. Иными словами, если мы создаем именованный диапазон из ячеек A2:A100, то имя его должно совпадать со значением в A1 (регистр символов значения не имеет). Посмотрите на рисунке, как это выглядит.

Итак, у нас получилось 3 именованных диапазона — «toyota», «ford», «nissan». Делать их статическими (фиксированными) или динамически (автоматически пополняемыми) — решайте сами. О том, как создать автоматически пополняемый список, смотрите ссылку в конце этой статьи.

Далее в ячейке F3 создаем выпадающий список первого уровня с моделями автомашин так, как это показано в нашем примере на рисунке. Источник данных — первые ячейки каждого столбца. Обратите внимание, что инструмент проверки вводимых значений, при помощи которого мы создаем его, прекрасно работает как с вертикальными (по строкам), так и с горизонтальными (по столбцам) данными.

И далее выбираем того производителя, который нас интересует. К примеру, «Ford».

Затем в ячейке F6 при помощи зависимого выпадающего списка второго уровня мы выбираем уже определенную модель этой марки. Перечень, который мы увидим, определяется тем, какая марка авто была перед этим выбрана.

В этом нам поможет функция ДВССЫЛ. Функция ДВССЫЛ (INDIRECT в английском варианте) преобразует текст в стандартную ссылку Excel.

Если мы запишем

=ДВССЫЛ(«F3»)

то это будет равнозначно тому, что мы записали в ячейке формулу

=F3

Но зачем же так все усложнять? Все дело в том, что некоторые виды формул Excel почему-то отказывается воспринимать как источник данных для выпадающего списка. Вот и приходится идти на такие ухищрения.

«Фишка» функции ДВССЫЛ (или INDIRECT) в том, что она позволяет использовать текст точно так же, как обычную ссылку на ячейку . Это обеспечивает нам два ключевых преимущества:

  • Вы можете собрать текстовую ссылку (то есть записать ее в виде текстовой переменной), что удобно для определенных видов динамических ссылок.
  • Вы можете выбрать текстовые значения на листе и использовать их как ссылку на ячейку в формуле.

В примере на этой странице мы объединяем последнюю идею с именованными диапазонами для создания многоуровневого выпадающего списка. ДВССЫЛ преобразует обычный текст в имя, которое затем превращается в нормальную ссылку и источник данных для него.

Итак, в этом примере мы берем текстовые значения из А1:С1, выбираем из них какое-то одно. К примеру, «Ford». Поскольку такое же название у нас имеет один из именованных диапазонов, то и применяем ДВССЫЛ, чтобы преобразовать текст «Ford» в ссылку =ford. И вот уже ее мы употребляем как источник для связанного выпадающего списка.

Итак, в качестве источника значений применяем формулу

=ДВССЫЛ($F$3)

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

В результате функция возвращает в нашу таблицу Excel ссылку

=ford

Регистр символов в данном случае значения не имеет — все автоматически преобразуется в нижний регистр. И именно это и будет источником данных.

Изменяя значения в F3, мы автоматически изменяем и ссылку-источник для списка в F6. В результате источник данных для зависимого выпадающего списка в F6 динамически меняется в зависимости от того, что было выбрано в F3. Если выбираем Ford, то видим только каталог машин этой марки. Аналогично, если выбираем Toyota либо Nissan.

Многоуровневые выпадающие списки могут быть и более двух раз «вложены» друг в друга. В нашем примере можно добавить еще один, третий уровень. Он может содержать наименования каких-то запасных частей для выбранной ранее модели. Так формируются сложные перечни, в которых каждый следующий уровень зависит от предыдущего.

А как быть с пробелами?

Может случиться так, что название вашей группы товаров или категории будет содержать пробелы. А именованные диапазоны не позволяют, чтобы в их названии встречался пробел. Принято заменять их символом нижнего подчеркивания «_». Как же нам быть в этом случае? Ведь в таблице названия товарных категорий с символом нижнего подчеркивания будут смотреться несколько непривычно. Например, «Косметические_товары». С непривычки можно и просто забыть ввести нужный символ. И тогда наши формулы работать не будут.

Выход довольно прост. Создавайте именованные перечни, заменяя в их названиях пробелы символом нижнего подчеркивания. В самих же значениях, записанных в ячейках таблицы Excel, используйте обычные пробелы. А перед тем, как применять в формуле, мы их специальным образом обработаем при помощи функции ПОДСТАВИТЬ.

Внутри текстовой строки вместо одних символов она подставляет другие.Для того, чтобы вместо пробела появилось нижнее подчеркивание, можно употребить формулу вида

=ПОДСТАВИТЬ(F3;» «;»_»)

То есть, мы проведем предварительную обработку значений, чтобы они соответствовали правилам написания имён. Вместо =ДВССЫЛ($F$3) запишем

=ДВССЫЛ(ПОДСТАВИТЬ($F$3;» «;»_»))

Кавычки здесь не нужны, поскольку ПОДСТАВИТЬ возвращает текстовую строку. Если же в нашем тексте нет пробелов и он состоит из одного слова, то он будет возвращен «как есть». Следите только за тем, чтобы в начале и в конце обрабатываемой текстовой переменной у вас случайно не оказались пробелы. Ведь они тоже будут заменены на нижнее подчеркивание. Ну а чтобы не заниматься этим ручным контролем, усложните еще немного свою формулу при помощи функции СЖПРОБЕЛЫ. Она автоматически уберет начальные и конечные пробелы из текста. В итоге получим:

=ДВССЫЛ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($F$3);» «;»_»))

Ну а теперь — еще один способ, как сделать многоуровневый зависимый выпадающий список в Excel.

2. Комбинация СМЕЩ + ПОИСКПОЗ

Итак, у нас снова есть перечень марок и моделей автомобилей. Только записан он немного по-другому.

Вновь перед нами стоит задача создать двухуровневый выпадающий список. Сначала — выбор марки, затем — только модели этой марки.

Первое условие — исходные данные должны быть отсортированы по маркам, а внутри марок — по моделям. То есть, нужно отсортировать по столбцу А, а затем — по В.

Начнем с простого. В ячейке D1 создадим выпадающий список из марок автомобилей. Для этого в F1:F3 запишем их названия и затем употребим их в качестве источника. Напомню, что нужно нажать Меню — Данные — Проверка данных.

создаем выпадающий список

Далее нам нужно в D2 создать второй уровень, где будут только модели выбранной марки. В этот раз источник данных мы определим несколько иначе, чем ранее. Воспользуемся тем, что функция СМЕЩ может возвращать массив данных, который мы как раз и можем употребить в качестве наполнения нашего второго перечня. Но для этого ей нужно передать целых 5 параметров:

  • координаты верхней левой ячейки,
  • на сколько строк нужно сместиться вниз — A,
  • на сколько столбцов нужно перейти вправо — B,
  • высота массива (строк) — C,
  • ширина массива (столбцов) D.

как работает функция СМЕЩ

Зеленым цветом на рисунке выделен новый диапазон. Если параметры C и D не указать, то будет возвращено содержимое единственной ячейки, в которую мы переместились, сделав несколько шагов вниз и вправо.

Традиционно точкой отсчета для функции СМЕЩ возьмем ячейку A1. Теперь нам нужно решить, на сколько позиций вниз и вправо нужно перейти, чтобы указать левый верхний угол нового перечня с моделями. Предположим, первоначально мы выбрали Ford.

На сколько шагов сместиться вниз? Применим функцию ПОИСКПОЗ, которая возвратит нам номер позиции первого вхождения «Ford».

=ПОИСКПОЗ($D$1;$A$1:$A$22;0)

Если первый раз нужное нам слово встретилось, к примеру, в 7-й позиции, то вычтем 1, чтобы получить количество шагов. То есть, начиная с первого значения, нужно сделать 6 шагов.

Третий параметр установим равным 1, так как нужно перейти на один шаг вправо из A в B. Мы находимся в начальной точке нашего диапазона. Теперь рассчитаем, на сколько ячеек вниз он будет продолжаться. Для этого подсчитаем, сколько раз «Ford» встречается в нашем перечне. Столько и будет значений вниз.

=СЧЁТЕСЛИ($A$1:$A$22;$D$1)

А теперь объединяем все это в СМЕЩ:

=СМЕЩ($A$1;ПОИСКПОЗ($D$1;$A$1:$A$22;0)-1;1;СЧЁТЕСЛИ($A$1:$A$22;$D$1);1)

Последняя единичка означает, что массив состоит из одной колонки.

В D2 создаем выпадающий список при помощи этого выражения. В нем будут только модели Ford, поскольку эта марка была выбрана ранее.

Аналогичным образом можно создать и третий уровень зависимого выпадающего списка.

Еще полезная дополнительная информация:

В Excel вы можете быстро и легко создать зависимый раскрывающийся список, но пробовали ли вы когда-нибудь создать многоуровневый зависимый раскрывающийся список, как показано на следующем снимке экрана? В этой статье я расскажу о том, как создать многоуровневый зависимый выпадающий список в Excel.


Создать многоуровневый зависимый выпадающий список в Excel

Чтобы создать многоуровневый зависимый раскрывающийся список, выполните следующие действия:

Во-первых, создайте данные для многоуровневого зависимого выпадающего списка.

1. Сначала создайте данные первого, второго и третьего раскрывающегося списка, как показано ниже:

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

2. Затем выберите значения первого раскрывающегося списка (исключая ячейку заголовка), а затем дайте им имя диапазона в поле Поле имени которые помимо строки формул, см. снимок экрана:

3. Затем выберите данные второго раскрывающегося списка и нажмите Формулы > Создать из выбранного, см. снимок экрана:

4. В выскочившем Создать имена из выбора диалоговое окно, отметьте только Верхний ряд вариант, см. снимок экрана:

5. Нажмите OK, И имена диапазонов были созданы для каждого второго раскрывающегося списка сразу, затем вы должны создать имена диапазонов для значений третьего раскрывающегося списка, продолжайте нажимать Формулы > Создать из выбранного, В Создать имена из выделенного диалоговое окно, отметьте только Верхний ряд вариант, см. снимок экрана:

6, Затем нажмите OK кнопки, значения раскрывающегося списка третьего уровня были определены имена диапазонов.

  • Tips: Вы можете пойти Менеджер имен диалоговое окно, чтобы увидеть все созданные имена диапазонов, которые были расположены в Менеджер имен диалоговое окно, как показано на скриншоте ниже:

В-третьих, создайте выпадающий список Data Validation.

7. Затем щелкните ячейку, в которую вы хотите поместить первый зависимый раскрывающийся список, например, я выберу ячейку I2, затем щелкните Данные > проверка достоверности данных > проверка достоверности данных, см. снимок экрана:

8. В проверка достоверности данных диалоговое окно под Настройки , выберите Список из Разрешить раскрывающийся список, а затем введите эту формулу: = Континенты в Источник текстовое поле, см. снимок экрана:

Внимание: В этой формуле Континенты — имя диапазона первых раскрывающихся значений, созданных на шаге 2, измените его по своему усмотрению.

9, Затем нажмите OK Кнопка, первый раскрывающийся список был создан, как показано ниже:

10. Затем вы должны создать второй зависимый раскрывающийся список, выберите ячейку, в которую вы хотите поместить второй раскрывающийся список, здесь я нажимаю J2, а затем продолжаю щелкать Данные > проверка достоверности данных > проверка достоверности данных, В проверка достоверности данных диалоговом окне выполните следующие операции:

  • (1.) Выберите Список из Разрешить раскрывающийся список;
  • (2.) Затем введите эту формулу: = КОСВЕННО (ПОДСТАВИТЬ (I2; «»; «_»)) в Источник текстовое окно.

Внимание: В приведенной выше формуле I2 — это ячейка, содержащая первое значение раскрывающегося списка, пожалуйста, измените его на свое.

11. Нажмите OK, и сразу был создан второй зависимый раскрывающийся список, см. снимок экрана:

12. На этом шаге вы должны создать третий зависимый раскрывающийся список, щелкнуть ячейку, чтобы вывести значение третьего раскрывающегося списка, здесь я выберу ячейку K2, а затем щелкните Данные > проверка достоверности данных > проверка достоверности данных, В проверка достоверности данных диалоговом окне выполните следующие операции:

  • (1.) Выберите Список из Разрешить раскрывающийся список;
  • (2.) Затем введите эту формулу: = КОСВЕННО (ПОДСТАВИТЬ (J2; «»; «_»)) в текстовое поле Источник.

Внимание: В приведенной выше формуле J2 — это ячейка, содержащая второе значение раскрывающегося списка, пожалуйста, измените его на свое.

13, Затем нажмите OK, и три зависимых раскрывающихся списка были успешно созданы, см. демонстрацию ниже:


Создавайте многоуровневый зависимый выпадающий список в Excel с удивительной функцией

Возможно, описанный выше метод является проблемным для большинства пользователей, здесь я представлю простую функцию —Динамический раскрывающийся список of Kutools for Excel, с помощью этой утилиты вы можете быстро создать зависимый выпадающий список с 2-5 уровнями всего за несколько кликов. Нажмите, чтобы скачать Kutools for Excel!

Советы:Чтобы применить это Динамический раскрывающийся список функция, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Во-первых, вы должны создать формат данных, как показано на скриншоте ниже:

2, Затем нажмите Кутулс > Раскрывающийся список > Динамический раскрывающийся список, см. снимок экрана:

3. В Зависимый раскрывающийся список диалоговом окне выполните следующие действия:

  • Проверить Раскрывающийся список, зависящий от 3-5 уровней вариант в Тип раздел;
  • Укажите необходимый диапазон данных и выходной диапазон.

4, Затем нажмите Ok Кнопка, теперь трехуровневый раскрывающийся список был создан в виде следующей демонстрации:

Нажмите, чтобы скачать Kutools for Excel и бесплатная пробная версия прямо сейчас!


Более относительные статьи с выпадающим списком:

  • Автоматическое заполнение других ячеек при выборе значений в раскрывающемся списке Excel
  • Допустим, вы создали раскрывающийся список на основе значений в диапазоне ячеек B8: B14. Когда вы выбираете любое значение в раскрывающемся списке, вы хотите, чтобы соответствующие значения в диапазоне ячеек C8: C14 автоматически заполнялись в выбранной ячейке. Например, когда вы выбираете Люси в раскрывающемся списке, она автоматически заполняет счет 88 в ячейке D16.
  • Создать зависимый раскрывающийся список в листе Google
  • Вставка обычного раскрывающегося списка в лист Google может быть легкой задачей для вас, но иногда вам может потребоваться вставить зависимый раскрывающийся список, что означает второй раскрывающийся список в зависимости от выбора первого раскрывающегося списка. Как бы вы справились с этой задачей в листе Google?
  • Создать раскрывающийся список с изображениями в Excel
  • В Excel мы можем быстро и легко создать раскрывающийся список со значениями ячеек, но, пробовали ли вы когда-нибудь создать раскрывающийся список с изображениями, то есть, когда вы щелкаете одно значение из раскрывающегося списка, его относительное изображение будет отображаться одновременно. В этой статье я расскажу о том, как вставить выпадающий список с изображениями в Excel.
  • Выбрать несколько элементов из раскрывающегося списка в ячейку в Excel
  • Выпадающий список часто используется в повседневной работе Excel. По умолчанию в раскрывающемся списке можно выбрать только один элемент. Но в некоторых случаях вам может потребоваться выбрать несколько элементов из раскрывающегося списка в одну ячейку, как показано ниже. Как с этим справиться в Excel?
  • Создать раскрывающийся список с гиперссылками в Excel
  • В Excel добавление раскрывающегося списка может помочь нам решить нашу работу эффективно и легко, но, если вы когда-нибудь пытались создать раскрывающийся список с гиперссылками, когда вы выбираете URL-адрес из раскрывающегося списка, будет открываться гиперссылка автоматически? В этой статье я расскажу о том, как создать выпадающий список с активированными гиперссылками в Excel.

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы и хранение данных; Разделить содержимое ячеек; Объедините повторяющиеся строки и сумму / среднее значение… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Избранные и быстро вставляйте формулы, Диапазоны, диаграммы и изображения; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Группировка сводной таблицы по номер недели, день недели и другое … Показать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки, у которых есть формула / имя

вкладка kte 201905


Вкладка Office — предоставляет интерфейс с вкладками в Office и значительно упрощает вашу работу

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Имеется несколько способов создания выпадающего списка. Выбор одного из них зависит от структуры имеющихся у вас данных.

Первый способ создания двухуровнего списка

Первый способ основывается на создание «умной» таблицы, заголовок которой содержит значения первого выпадающего списка (группы), а строки таблицы соответствуют значениям второго выпадающего списка (подгруппы). Значения элементов подгруппы должны располагаться в соответствующем столбце группы, как на рисунке ниже.

Теперь приступим к созданию первого выпадающего списка группы (в моем случае — список стран):

  1. Выберите ячейку, в которую будете вставлять выпадающий список;
  2. Переходим на вкладку ленты Данные;
  3. Выбираем команду Проверка данных;
  4. В выпадающем списке выбираем значение Список;
  5. В поле Источник указываем следующую формулу =ДВССЫЛ(«Таблица1[#Заголовки]»).

Осталось создать второй зависимый выпадающий список – список подгрупп.

Смело повторяем 4 первых пункта описанных выше. Источником в окне Проверка данных для второго выпадающего списка будет служить формула =ДВССЫЛ(«Таблица1[«&F2&»]»). Ячейка F2 в данном случае — значение первого выпадающего списка.

Второй способ создания двухуровнего списка

Второй способ удобно применять, когда данные выпадающего списка записаны в два столбца. В первом идет наименование группы, а во втором – подгруппы.

ВАЖНО! Перед созданием зависимого списка по подгруппам необходимо отсортировать исходную таблицу по первому столбцу (столбец с группой) далее будет понятно зачем это делается.

Для создания выпадающего групп нам понадобится дополнительный столбец, содержащий уникальные значения групп из исходной таблицы. Для создания этого списка используйте функцию удаления дубликатов или воспользуйтесь командой Уникальные из надстройки VBA-Excel.

Теперь создадим выпадающий список групп. Для этого выполните 4 первых пункта из первого способа создания двухуровнего списка. В качестве Источника укажите диапазон уникальных значений групп. Тут все стандартно.

Теперь самая сложная часть — указать в Источнике динамическую ссылку на диапазон со значениями второго выпадающего списка (списка подгрупп). Решать ее будем с помощью функции СМЕЩ(ссылка, смещ_по_строкам, смещ_по_столбцам, [высота], [ширина]), которая возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов.

  • Ссылка в нашем случае — $A$1 — верхний левый угол исходной таблицы;
  • Смещ_по_строкамПОИСКПОЗ(F3;$A$1:$A$67;0)-1 — номер строки со значением искомой группы (в моем случае страны ячейка F3) минус единица;
  • Cмещ_по_столбцам1 — так как нам необходим столбец с подгруппами (городами);
  • [Высота]СЧЁТЕСЛИ($A$1:$A$67;F3) — количество подгрупп в искомой группе (количество городов в стране F3);
  • [Ширина]1 — так как это ширина нашего столбца с подгруппами.

Многоуровневый связанный список в EXCEL

history 21 января 2013 г.
    Группы статей

  • Выпадающий список
  • Имена
  • Проверка данных

Для моделирования сложных иерархических данных создадим Многоуровневый связанный список.

Потребность в создании иерархических данных появляется при решении следующих задач:

  • ОтделСотрудники отдела . При выборе отдела из списка всех отделов компании, динамически должен формироваться список, содержащий всех сотрудников этого отдела (двухуровневая иерархия);
  • Город – Улица – Номер дома . При заполнении адреса проживания из списка городов нужно выбирать город , затем из списка всех улиц этого города – улицу , затем, из списка всех домов на этой улице – номер дома (трехуровневая иерархия).

В этой статье рассмотрен Многоуровневый связанный список. Двухуровневый связанный список или просто Связанный список рассмотрен в статьях Связанный список и Расширяемый Связанный список. Материал статьи один из самых сложных на сайте Excel2.ru , поэтому необходимо для начала ознакомиться с вышеуказанными статьями. Многоуровневый связанный список будем реализовывать с помощью инструмента Проверка данных ( Данные/ Работа с данными/ Проверка данных ) с условием проверки Список .Создание Многоуровневого связанного списка рассмотрим на конкретном примере.

Примечание : Рассмотренный в этой статье Многоуровневый связанный список на самом деле правильнее назвать Трехуровневым, т.к. создать четырехуровневый связанный список, используя рассмотренный здесь подход, очень проблематично. Для тех, кому требуется создать структуру с 4-мя и более уровнями, см. статью Многоуровневый связанный список типа Предок-Родитель .

Постановка задачи

Имеется перечень Регионов . Для каждого Региона имеется свой перечень Стран . Для каждой Страны имеется свой перечень Городов .

Пользователь должен иметь возможность, выбрав определенный Регион , в соседней ячейке выбрать из Выпадающего (раскрывающегося) списка нужную ему Страну из этого Региона . В другой соседней ячейке пользователь должен иметь возможность выбрать нужный ему Город из этой Страны (см. файл примера ).

В окончательном виде трехуровневый связанный список должен работать так:

Сначала выберем, например, Регион «Америка» с помощью Выпадающего списка .

Затем выберем Страну «США» из Региона «Америка».

Причем перечень стран в выпадающем списке будет содержать только страны из выбранного на предыдущем шаге Региона «Америка».

И, наконец, выберем Город «Атланта» из Страны «США».

Причем перечень городов в выпадающем списке будет содержать только города из выбранной на предыдущем шаге Страны, т.е. из «США».

Решение

Итак, приступим к созданию Трехуровневого связанного списка . Таблицу, в которую будут заноситься данные с помощью Трехуровневого связанного списка , разместим на листе Таблица .

Список Регионов и перечни Стран разместим на листе Страны .

Обратите внимание, что названия Регионов (диапазон А2:А12 на листе Страны ) в точности должны совпадать с заголовками столбцов, содержащих названия соответствующих Стран ( В1: L 1 ).

Это требование обеспечивается формулой (см. статьи о Транспонировании ). =ДВССЫЛ(АДРЕС(СТРОКА($A$1)-СТОЛБЕЦ($A$1)+СТОЛБЕЦ();1))

с помощью которой формируются заголовки столбцов. Введем ее в диапазон ячеек В1: L 1 .

Список Стран и перечни Городов разместим на листе Города .

Откуда же возьмется перечень стран на листе Города ? Очевидно, что после заполнения листа Страны названиями стран, необходимо, что они каким-то чудесным образом переместились на лист Города . Это чудесное перемещение организуем формулами. Список Стран сформируем на листе Города в столбце А с помощью решения приведенного в статье Объединение списков . Значения для этого списка будем брать из Именованного диапазона Диап_Стран (его нужно предварительно создать через Диспетчер имен ) . Именованный диапазон Диап_Стран образуем формулой:

Для формирования списка Стран нам также понадобится Именованная формула Строки_Столбцы_Стран

Окончательная формула в столбце А на листе Города выглядит так:

сформирует необходимый нам список Стран .

Теперь создадим Динамический диапазон для формирования Выпадающего списка содержащего названия Регионов . Для этого необходимо:

  • нажать кнопку меню « Присвоить имя » ( Формулы/ Определенные имена/ Присвоить имя );
  • в поле Имя ввести Регионы ;
  • в поле Диапазон ввести формулу

Формула подсчитывает количество элементов в столбце А на листе Страны (функция СЧЁТЗ() ) и определяет ссылку на последний элемент в столбце (функция ИНДЕКС() ), тем самым формируется диапазон, содержащий все значения Регионов . Пропуски в столбце А не допускаются.

Аналогичным образом создадим Динамический диапазон Список_Стран для формирования выпадающего списка содержащего названия стран:

Создадим Именованную формулу Позиция_региона для определения позиции, выбранного пользователем региона, в созданном выше диапазоне Регионы:

Т.к. в формуле использована относительная адресация , то важно перед созданием формулы сделать активной ячейку B5 на листе Таблица .

Аналогичным образом создадим именованную формулу для определения позиции, выбранной пользователем страны, в диапазоне Список_Стран =ПОИСКПОЗ(таблица!B5;Список_Стран;0) . Перед созданием формулы нужно сделать активной ячейку С5 на листе Таблица .

Создадим Именованные константы МаксСтран равную 20 и МаксГородов равную 30. Константы соответствует максимальному количеству стран в регионе и, соответственно, максимальному количеству городов в стране. Эти значения произвольны и их можно изменить.

Создадим именованный диапазон Выбранный_Регион для определения диапазона на листе Страны , содержащего страны выбранного региона:

Теперь, например, при выборе региона Америка функция СМЕЩ() вернет ссылку на диапазон страны!$B$2:$B$20

Создадим аналогичный диапазон Выбранная_Страна для определения диапазона на листе Города , содержащего города выбранного региона: =СМЕЩ(города!$A$2;;Позиция_страны;МаксГородов)

Создадим две последние именованные формулы Страны и Города : =СМЕЩ(страны!$A$2;;Позиция_региона;СЧЁТЗ(Выбранный_Регион)) =СМЕЩ(города!$A$2;;Позиция_страны;СЧЁТЗ(Выбранная_Страна))

Эти формулы нужны для того, чтобы в выпадающих списках не отображались пустые строки.Наконец сформируем связанный выпадающий список для ячеек из столбца Страна налисте Таблица .

  • выделяем диапазон B5:B22 налисте Таблица ;
  • вызываем инструмент Проверка данных ,
  • устанавливаем тип данных Список ,
  • в поле Источник вводим: =Страны .

Также создадим связанный выпадающий список для ячеек из столбца Город (диапазон С5:С22 , в поле Источник вводим: =Города )

На листе Таблица после выбора Региона и Страны теперь есть возможность выбора Города .

Для добавления новых Регионов и их Стран достаточно ввести новый Регион в столбец A (лист Страны ), в строке 1 автоматически отобразится соответствующий заголовок. Под появившимся заголовком в строке 1 введите страны нового Региона .Для добавления новых Городов, на листе Города в строке 1 найдите нужное название страны (оно автоматически появится там после добавления страны на листе Страны ). Под этим заголовком введите название города.

СОВЕТ: В этой статье города (и страны) размещены в нескольких столбцах. Обычно однотипные значения размещают в одном столбце (списке). В статье Многоуровневый связанный список в MS EXCEL на основе таблицы все исходные данные размещены на одном листе, а однотипные данные (названия городов) — в одном столбце. Это облегчает написание формул и позволяет создать списки с большим количеством уровней иерархии (4-6).

Уважаемые модераторы, не спешите удалять или игнорировать этот пост — он является НЕ тысячным клоном себе подобных, НО попыткой и просьбой о реализации ДЕЙСТВИТЕЛЬНО УНИВЕРСАЛЬНОГО, решающего БОЛЬШИНСТВО вопросов по данной популярной теме (кроме того сюда всегда можно будет отправить по этой теме).
Начну с формы ведения. Предлагаю в качестве платформы создания таких списков — «умные» таблицы, как учит Николай Павлов, т.к. они сразу решают множество проблем по работе с базой данных и являются универсальными практически для любых потребностей (сами растягиваются, сами формируют именованые диапазоны полей и т.д.). Наиболее близкие к желаемому примеры найдены здесь, за авторством ber$erk аж в начале 2013 года:

http://goo.gl/i39PAE

и здесь

http://goo.gl/mT3jcm

(первый вариант очень узко заточен, а второй отказывается работать с большим количеством данных (хотя очень крутой и универсальный)…

Короче говоря, создавать 2х уровневые выпадающие списки мы умеем вот по этой теме

http://planetaexcel.ru/techniques/1/38/#6067

, а сделать так, чтобы в каком-либо диапазоне НА ЛИСТЕ отсутствовали дубликаты можно, предварительно сделав сводную на основе необходимого списка и ссылаться уже на неё (автообновлять можно простым макросом) (найдено здесь

http://goo.gl/TosXzm

)

Для удобства объяснения введу такие понятия для примера: 1 (первый) уровень списков — исходный начальный диапазон (овощи и фрукты); 2 уровень (помидоры и огрурцы — овощи, а апельсины и мандарины -фрукты; 3 уровень — соответственно дальше по уточнениям и т.д.)

С первой и ОСНОВНОЙ проблемой я столкнулся, когда искал способ удалять дубликаты ИЗ ФОРМИРУЕМОГО (СМЕЩ+ИНДЕКС+ПОИСКПОЗ) выпадающего списка, то есть НА ЛЕТУ (в  то же время есть способ удаления дубликатов из списка НА ЛИСТЕ (но хотя бы НЕ формулой массива) здесь

http://www.planetaexcel.ru/techniques/2/103/)

.

Вторая проблема возникает, когда внутри уровня частично или полностью пересекаются формируемые списки (например овощи-красные-помидоры и фрукты-красные-яблоки) — здесь признак 2 уровня дублируется для уровня выше (первого), поэтому вновь сформированный зависимый выпадающий список по критерию «красные» выдаст либо И помидоры, И яблоки (если сортировка будет произведена по 2 уровню), либо ТОЛЬКО «помидоры» (т.к. овощи первые по алфавиту), если будет проведена необходимая сортировка справа-налево.
Решением будет являться создание дополнительного столбца после каждого критерия, кроме первого (причём и в справочнике, и в листе выбора), в котором будут сцепляться все предыдущие критерии. Соответственно, выбор следующего уровня будет осуществляться по сцепке всех предыдущих.

Это, на мой взгляд, основные проблемы, которые возникают при формировании ЗНАЧИТЕЛЬНЫХ каскадных выпадающих списков. Решение вижу только макросами и UDF, т.к. набор и сложность формул и списков, чтобы ЭТО реализовать, отобьёт любое желание. Чтобы не требовалось сортировки, сводных (желательно даже обойтись без создания вручную формульных диапазонов). Как вариант файл-шаблон с таблицами и макросами (заполнил таблицы на нужное количество уровней и вперёд) Файл с примерами прикреплён. Слежу за темой…

Изменено: Jack_Famous30.03.2016 20:30:37

Like this post? Please share to your friends:
  • Уровне пользователя ms word
  • Уровень текста в microsoft word
  • Уровень текста word это
  • Уровень строки в excel формула
  • Уровень статистической значимости как посчитать в excel