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

Многоуровневые (каскадные) выпадающие списки 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

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


Для сложных иерархических структур с тремя и более уровнями создадим Многоуровневый связанный список типа Предок-Родитель. Теперь структуры типа: Регион-Страна-Город-Улица можно создавать в MS EXCEL.

В статье

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

мы уже создавали многоуровневый список. Но, у того списка было 2 недостатка:

  • слишком сложные формулы;
  • максимальное количество уровней — 3.

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

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

Решение

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

будем формировать с помощью одной большой

Именованной формулы

:

=ЕСЛИ(Таблица!B$7=Списки!$F$5;СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0));СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!A8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!A8)))

Эту формулу можно посмотреть через

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

(имя формулы —

Выбор

), но так как формула использует

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

в ссылках на ячейки

Таблица!B$7 и

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

В8

на листе Таблица. О том как работает эта формула см. в разделе статьи ниже.


ПРИМЕЧАНИЕ

: Функция

ЕСЛИ()

нужна для формирования списка самого верхнего уровня иерархии — у него нет Родителя.

Для ввода формулы выделите ячейку

B8

, вызовите

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

, и введите формулу:

Нажмите ОК.

Опять выделите ячейку

B8

, сформируйте выпадающий список на основе

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

. В поле Тип данных укажите Список, в поле Источник введите формулу

=Выбор

.

С помощью

Маркера заполнения

скопируйте ячейку вправо и вниз (или вверх и вправо):

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

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

Наполнять

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

будем из таблицы на листе Списки (см.

файл примера

):

Для наглядности различные уровни выделены

Условным форматированием

.

Заполнение таблицы на листе Списки нужно производить следующим образом:

  • Столбец Номер уровня содержит числовые коды уровней. Самый верхний уровень (0) содержит название Регионов. Можно создать любое количество уровней;
  • Столбец Родитель содержит названия из столбца Потомок более верхнего уровня;
  • Столбец Потомок связывает значений из 2-х соседних уровней. Нужно иметь ввиду, что если мы начали заполнять, например, все страны Америки, то нужно полностью закончить этот список, затем переходить к следующему региону. Выполнение этого требования необходимо для правильной работы вышеуказанной формулы. Выпадающие списки формируются именно из этого столбца.

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

Рассмотрим как формируется

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

в ячейке

B8

на листе Таблица (заполняем Регионы).


  • Выражение

    ЕСЛИ(Таблица!B$7=Списки!$F$5

    ; проверяет заполняем ли мы столбец Регионы (самый верхний уровень с номером 0) или нет. В данном случае выражение вернет значение ИСТИНА;

  • Так как предыдущее выражение =ИСТИНА, то работает первое условие функции

    ЕСЛИ()

    , т.е. выражение

    СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0))
  • функция

    СМЕЩ()

    выбирает из столбца D (Потомки) все значения, у которых уровень равен 0. Из этих значений формируется

    выпадающий список.

Рассмотрим как формируется

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

в ячейке

С8

на листе Таблица (заполняем Страны).

В этом случае формула будет несколько другая, т.к. в ней сработают относительные ссылки:

=ЕСЛИ(Таблица!C$7=Списки!$F$5;СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0));СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!B8)))

  • Выражение

    ЕСЛИ(Таблица!С$7=Списки!$F$5

    ; в данном случае выражение вернет значение ЛОЖЬ;
  • Так как предыдущее выражение =ЛОЖЬ, то работает второе условие функции

    ЕСЛИ()

    , т.е. выражение

    СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!B8))
  • функция

    СМЕЩ()

    выбирает из столбца D (Потомки) все значения, у которых Родитель = Америка.
  • Для этого выражение

    ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0)

    возвращает номер позиции первой ячейки в столбце Родитель, содержащей значение Америка. Это позиция номер 4. Именно с этой позиции, но из другого столбца, будет формироваться наш

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

    ;
  • Теперь для

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

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

    СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!В8)

    .

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

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

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

, было изменено значение ячейки

С10

. Например, вместо США выберем Мексика. Естественно, значение в ячейке

D10

не изменится (в ней останется один из городов США). Чтобы подсказать пользователю об ошибке, используем

Условное форматирование

.

Формула в правиле

Условного форматирования

ищет в таблице на листе Списки пару Родитель-Потомок. Если такая пара не найдена, то ячейка выделяется красной заливкой.

В 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% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

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, поскольку эта марка была выбрана ранее.

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

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

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

Димарик

Дата: Вторник, 08.06.2021, 19:01 |
Сообщение № 1

Группа: Пользователи

Ранг: Новичок

Сообщений: 16

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

К сообщению приложен файл:

____.xlsx
(27.4 Kb)

 

Ответить

romanzastavnoj

Дата: Среда, 09.06.2021, 10:15 |
Сообщение № 2

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


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

К сообщению приложен файл:

9851650.xlsx
(35.8 Kb)

 

Ответить

китин

Дата: Среда, 09.06.2021, 12:50 |
Сообщение № 3

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

romanzastavnoj, — Прочитайте Правила форума
— Создайте свою тему согласно п.5q Правил форума


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

Димарик

Дата: Среда, 09.06.2021, 15:34 |
Сообщение № 4

Группа: Пользователи

Ранг: Новичок

Сообщений: 16

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

 

Ответить

garrys

Дата: Четверг, 10.06.2021, 16:17 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 6


Репутация:

0

±

Замечаний:
0% ±


Excel 2016

Здравствуйте. В создании зависимых выпадающих списков мне помогло вот это описание (в конце).

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Трехмерными ссылками в excel это
  • Трехмерный диапазон ячеек в excel
  • Трехмерный диапазон это excel
  • Трехмерный график функции в excel
  • Трехмерные формулы в excel что это