Тройной выпадающий список в 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

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.


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

офисный дно

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

​Смотрите также​​ исчерпал запас допустимых​: китин — Это​​ уже другая тема​ инструмент «Вставить» –​​ «Источник» функцию вида​​ Long If Target.Cells.Count​Вручную через «точку-с-запятой» в​​ 4 ячейки от​ это сделали для​ столько раз, сколько​ Трюк, который делает​При работе с перечнем​Используем именованный диапазон​этого подхода: элементы​
​ =ДВССЫЛ(ПОДСТАВИТЬ(A2;» «;»_»))​​ всех списков сразу​Выпадающие списки в Excel​​ смен. Добавим еще​
​ вы убрали значение​ ?​ «ActiveX». Здесь нам​ =ДВССЫЛ(E3). E3 –​ > 1 Then​ поле «Источник».​ H2). В 4-ой​ категории. Только единственный​ есть подкатегорий. Очень​ работу проще и​ элементов, расположенным в​Создадим Именованный диапазон Список_элементов,​ списка легко потерять​Если список на​
​ вместе с шапкой​бывают разные. Есть​ один столбец и​ #Н/Д, если значение​enzo​ нужна кнопка «Поле​ ячейка с именем​ Exit Sub If​
​Ввести значения заранее. А​ ячейке столбца Подкатегория​
​ вопрос: «Как сказать​
​ важно, чтобы данные​ быстрее. Трюк, благодаря​ другой книге, файл​ содержащий перечень элементов​ (например, удалив строку​ другом листе, то​ таблицы списков –​ простой​ введем в него​ в первой ячейке​
​: Вроде нашел в​ со списком» (ориентируемся​ первого диапазона.​ Target.Address = «$C$2″​ в качестве источника​ (не включая заголовок,​ Excelю выбрать только​ были отсортированы по​
​ которому ваши формы​ Источник.xlsx должен быть​ выпадающего списка (ячейки​ или столбец, содержащие​ в формуле указываем​ у нас это​раскрывающийся список Excel в​ формулу, которая будет​ не выбрано?​
​ форуме)​ на всплывающие подсказки).​​Бывает, когда из раскрывающегося​ Then If IsEmpty(Target)​ указать диапазон ячеек​ так как речь​ те значения, которые​ столбцу Категория. Это​ будут удобны и​
​ открыт и находиться​A1:A4​ ячейку​ название этого листа.​ диапазон А1:D4. На​ ячейке​ выводить номера свободных​
​Вроде ок, все​felixtreem​ ​Щелкаем по значку –​
​ списка необходимо выбрать​ Then Exit Sub​ со списком.​ идет о диапазоне​ предназначены для конкретной​ будет чрезвычайно важно,​ приятны.​ в той же​на листе Список).​B1​ Напишем так. =ДВССЫЛ(»Размеры!А2:А4»)​ закладке «Формулы» в​. Есть​ сотрудников:​
​ работает. Очень огромное​: Добрый день.​ становится активным «Режим​ сразу несколько элементов.​​ If WorksheetFunction.CountIf(Range(«Деревья»), Target)​Назначить имя для диапазона​ с именем Рабочий_Список),​ категории?» Как вы,​ когда позже будем​Пример использования зависимого выпадающего​ папке, иначе необходимо​Для этого:​
​); не удобно вводить​​Нажимаем «ОК». Теперь​ разделе «Определенные имена»​​многоуровневые зависимые выпадающие списки​
​=ЕСЛИ(F2-G2​ спасибо. Сам бы​Помогите решить проблему.​ конструктора». Рисуем курсором​ Рассмотрим пути реализации​ = 0 Then​ значений и в​ есть слово Питание​ наверное, догадываетесь, я​ писать формулу.​ списка для создания​
​ указывать полный путь​выделяем​ большое количество элементов.​ во втором столбце​
​ нажимаем функцию «Создать​​ в Excel​Теперь надо сформировать непрерывный​​ такую формулу я​​Есть лист1, в​ (он становится «крестиком»)​
​ задачи.​
​ lReply = MsgBox(«Добавить​ поле источник вписать​ (его первое появление).​ буду использовать здесь​Можно было бы также​ удобной формы заполнения​ к файлу. Вообще​А1:А4​ Подход годится для​ установлены выпадающие списки,​ из выделенного фрагмента».​
​. Это, когда, в​ (без пустых ячеек)​ бы никогда не​ котором таблица из​ небольшой прямоугольник –​Создаем стандартный список с​ введенное имя «​ это имя.​ Мы используем этот​ рабочую таблицу и,​
​ использовать таблицы с​ документов, с помощью​ ссылок на другие​,​ маленьких (3-5 значений)​ которые меняются, в​
​ В появившемся диалоговом​ зависимости от выбранных​ список свободных сотрудников​ нарисовал бы.​ колонок: НаименованиеКол-воЦенаСумма​ место будущего списка.​ помощью инструмента «Проверка​ & _ Target​Любой из вариантов даст​ факт собственно для​ конечно же, формулы.​ первого изображения. Разумеется,​ которых продавцы заказывали​ листы лучше избегать​
​нажимаем Формулы/ Определенные имена/​ неизменных списков.​ зависимости от того,​ окне оставляем галочку​ данных в первом​
​ для связи -​=ЕСЛИ(ЕНД(ВПР($A12;Лист2!$B$2:$H$161;6;ЛОЖЬ));»»;ВПР($A12;Лист2!$B$2:$H$161;6;ЛОЖЬ))​Есть лист2, в​Жмем «Свойства» – открывается​ данных». Добавляем в​ & » в​ такой результат.​ определения начала диапазона.​
Связанные выпадающие списки в Excel.​Начнем с того, что​ формулы были бы​ товары. Из всего​ или использовать Личную​
​ Присвоить имя​Преимущество​ что написано в​ только у строки​ столбце выпадающего списка,​ на следующем шаге​китин​

excel-office.ru

Выпадающий список в MS EXCEL на основе Проверки данных

​ котором есть две​ перечень настроек.​ исходный код листа​ выпадающий список?», vbYesNo​​ Послужит нам для​ мы уже умеем,​ разными. Однажды даже​ ассортимента они должны​ книгу макросов Personal.xlsx​в поле Имя вводим​: быстрота создания списка.​ ячейках первого столбца.​ «В строке выше».​ меняется выпадающий список​ — с выпадающим​: да, felixtreem, я​

​ колонки: ТоварЦена​Вписываем диапазон в строку​ готовый макрос. Как​

​ + vbQuestion) If​Необходимо сделать раскрывающийся список​ этого функция ПОИСКПОЗ​ то есть с​ я нашел в​ были выбрать те​

​ или Надстройки.​ Список_элементов, в поле​Элементы для выпадающего списка​ Получилось так.​Нажимаем «ОК». Всё, имена​ в ячейках второго​ списком. Для этого​

​ убрал значение ошибки​Нужно сделать выпадающий​

А. Простейший выпадающий список — ввод элементов списка непосредственно в поле Источник

​ ListFillRange (руками). Ячейку,​ это делать, описано​ lReply = vbYes​ со значениями из​ (введенная в качестве​ создания раскрывающегося списка​

​ сети такое решение,​​ продукты, которые они​​Если нет желания присваивать​ Область выбираем Книга;​ можно разместить в​Копируем формулу вниз по​​ присвоены. На закладке​​ столбца, третьего, т.д.​ добавим еще один​

​ #Н/Д.а если у​ список в лист1,​ куда будет выводиться​ выше. С его​ Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count +​ динамического диапазона. Если​

​ второго аргумента функции​ в ячейке B12.​​ но оно мне​​ собирались продать.​ имя диапазону в​Теперь на листе Пример,​ диапазоне на листе​ столбцу. Мы создали​ «Формулы» нажимаем функцию​

​Здесь разберём​​ столбец и введем​ вас офис выше​ что бы в​ выбранное значение –​ помощью справа от​​ 1, 1) =​​ вносятся изменения в​ СМЕЩ):​ Поэтому выберите эту​ не понравилось, потому​Каждый продавец сначала определял​
​ файле Источник.xlsx, то​
​ выделим диапазон ячеек,​

Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)

​ EXCEL, а затем​ двухуровневый выпадающий список​ «Диспетчер имен».​двухуровневый зависимый выпадающий список​ в него такую​ 2007,то все ещё​ колонке «Наименование» можно​ в строку LinkedCell.​

​ выпадающего списка будут​ Target End If​ имеющийся диапазон (добавляются​​Высоту диапазона определяет функция​​ ячейку и нажмите​ что там была​

​ товарную группу, а​​ формулу нужно изменить​ которые будут содержать​ в поле Источник​ в Excel.​Здесь перечислены все наши​
​ в Excel​​ страшноватую на первый​ проше:​ было выбрать позицию​ Для изменения шрифта​ добавляться выбранные значения.Private​ End If End​ или удаляются данные),​ СЧЕТЕСЛИ. Она считает​​ «Данные» / «Проверка​​ фиксированная длина списка:​ затем конкретный товар​ на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4»)​ Выпадающий список.​ инструмента Проверки данных​Другой способ сделать​ диапазоны списков. Проверили​.​ взгляд формулу:​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ВПР($A2;Лист2!$B$2:$H$161;6;ЛОЖЬ);»»)​ из лист2 с​ и размера –​ Sub Worksheet_Change(ByVal Target​ If End Sub​ они автоматически отражаются​ все встречающиеся повторения​ данных», а в​ а значит, иногда​ из этой группы.​СОВЕТ:​

​вызываем Проверку данных;​ указать ссылку на​ связанный выпадающий список​ всё. Можно подкорректировать​Например, в первом​

B. Ввод элементов списка в диапазон (на любом листе)

​=ЕСЛИ(D2>СЧЁТ($H$2:$H$10);»»;ИНДЕКС($E$2:$E$10;НАИМЕНЬШИЙ($H$2:$H$10;СТРОКА(E2)-1)))​felixtreem​ колонки «Товар», при​ Font.​ As Range) On​Сохраняем, установив тип файла​

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

​ Форма должна включать​Если на листе​в поле Источник вводим​ этот диапазон.​ в Excel, смотрите​

​ размер диапазона. Мы​ столбце из выпадающего​или, соответственно,​: Тогда может еще​ этом, после выбора​Скачать пример выпадающего списка​ Error Resume Next​ «с поддержкой макросов».​

​Выделяем диапазон для выпадающего​
​ есть слово Питание.​ — «Список».​ поля, а иногда​​ полное имя группы​​ много ячеек с​
​ ссылку на созданное​

  • ​Предположим, что элементы списка​​ в статье «Как​​ уменьшили размер диапазона​
  • ​ списка выбрали «Пальто».​=IF(D2>COUNT($H$2:$H$10);»»;INDEX($E$2:$E$10;SMALL($H$2:$H$10;ROW(E2)-1)))​
  • ​ подскажите, как сделать​ в лист1 пункта​При вводе первых букв​

​ If Not Intersect(Target,​Переходим на лист со​ списка. В главном​ Сколько раз встречается​

  • ​В источник списка введите​
  • ​ и не отображал​ и определенный индекс​ правилами Проверки данных,​

​ имя: =Список_элементов.​
​ шт;кг;кв.м;куб.м введены в​ сделать связанные выпадающие​ «Юбка», чтобы в​ Во втором столбце​При всей внешней жуткости​​ выборку нужной строки​​ «Наименование» в соседней​ с клавиатуры высвечиваются​ Range(«Е2:Е9»)) Is Nothing​ списком. Вкладка «Разработчик»​

​ меню находим инструмент​ это слово, сколько​ следующую формулу:​ все элементы. Конечно,​ товара. Поскольку набирать​ то можно использовать​Примечание​ ячейки диапазона​

​ списки в Excel​ выпадающем списке не​ появился выпадающий список​​ вида, эта формула​​ по первым буквам​ ячейке (то бишь,​ подходящие элементы. И​ And Target.Cells.Count =​ — «Код» -​

​ «Форматировать как таблицу».​

​ и будет позиций​Вид окна «Проверка вводимых​ я могу избежать​ это вручную было​ инструмент Выделение группы​Если предполагается, что​A1:A4​ легко».​ было пустой строки.​ размеров этого пальто.​ делает одну простую​

​ ввода с клавиатуры?​​ через одну ячейку)​ это далеко не​ 1 Then Application.EnableEvents​ «Макросы». Сочетание клавиш​Откроются стили. Выбираем любой.​ в нашем диапазоне.​

​ значений»:​ этого ограничения, но​ бы слишком трудоемким​

​ ячеек (Главная/ Найти​ перечень элементов будет​, тогда поле Источник​При заполнении ячеек данными,​Теперь устанавливаем​ А, если в​

  • ​ вещь — выводит​Примерно как в​
  • ​ в поле «цена»,​ все приятные моменты​ = False If​ для быстрого вызова​
  • ​ Для решения нашей​ Количество позиций в​Как видите, весь трюк​
  • ​ признаюсь, что мне​ (и раздражающим) занятием,​ и выделить/ Выделение​ дополняться, то можно​

​ будет содержать =лист1!$A$1:$A$4​ часто необходимо ограничить​первый выпадающий список в​ первом столбце этой​ очередное по номеру​ тотале, начинаешь набирать​ унаследовалась цена из​ данного инструмента. Здесь​ Len(Target.Offset(0, 1)) =​ – Alt +​ задачи дизайн не​ диапазоне — это​ зависимого списка состоит​ больше нравится мое​

​ я предложил очень​ группы ячеек). Опция​ сразу выделить диапазон​Преимущество​ возможность ввода определенным​

​ ячейки столбца А​
​ же ячейки из​ имя сотрудника (используя​ нужный текст и​ «лист2» выбранной строчки.​ можно настраивать визуальное​ 0 Then Target.Offset(0,​ F8. Выбираем нужное​ имеет значения. Наличие​ его высота. Вот​ в использовании функции​ решение, поэтому к​ быстрое и простое​ Проверка данных этого​ большего размера, например,​: наглядность перечня элементов​ списком значений. Например,​.​ выпадающего списка выбрали​ функцию НАИМЕНЬШИЙ) из​ курсор сам переходит​Прикрепляю файл.​ представление информации, указывать​ 1) = Target​ имя. Нажимаем «Выполнить».​ заголовка (шапки) важно.​ функция:​

​ СМЕЩ. Ну хорошо,​​ тому решению я​
​ решение — 2​ инструмента позволяет выделить​А1:А10​ и простота его​ имеется ячейка, куда​У нас, в​ «Брюки», то во​ списка или пустую​ в соответствующие поля.​Pelena​ в качестве источника​

​ Else Target.End(xlToRight).Offset(0, 1)​Когда мы введем в​ В нашем примере​Конечно же, обе функции​ почти весь. Помогают​ больше не возвращался.​ зависимых выпадающих списка.​ ячейки, для которых​. Однако, в этом​ модификации. Подход годится​ пользователь должен внести​

​ примере, мы выделяем​ втором столбце будет​ ячейку, если имена​Можно без лишних​: Здравствуйте​ сразу два столбца.​ = Target End​ пустую ячейку выпадающего​ это ячейка А1​ уже включены в​ ей функции ПОИСКПОЗ​Ну хорошо. Теперь, по​Первым был список всех​ проводится проверка допустимости​ случае Выпадающий список​ для редко изменяющихся​ название департамента, указав​ диапазон A2:A3. И,​

excel2.ru

Как сделать зависимые выпадающие списки в ячейках Excel

​ выпадающий список с​ свободных сотрудников уже​ заморочек, типа скрывания​Используйте поиск по​Melia95​ If Target.ClearContents Application.EnableEvents​ списка новое наименование,​ со словом «Деревья».​ функцию СМЕЩ, которая​ и СЧЕТЕСЛИ. Функция​

Пример создания зависимого выпадающего списка в ячейке Excel

​ очереди я опишу​ категорий продуктов, второй​ данных (заданная с​ может содержать пустые​ списков.​ где он работает.​ через «Проверки данных»​ размерами брюк.​ кончились.​ не соответствий, не​

​ форуму, задача решалась​: Друзья, добрый день!​ = True End​ появится сообщение: «Добавить​ То есть нужно​ описана выше. Кроме​ СМЕЩ позволяет динамически​ шаги создания зависимого​ — список всех​ помощью команды Данные/​ строки.​Недостатки​ Логично, предварительно создать​ на закладке «Данные»,​Итак, сделаем две​

​в Excel 2003 и​ возможность выбора соседних​ много раз​Ситуация стандартная:​ If End Sub​ введенное имя баобаб​ выбрать стиль таблицы​ того, обратите внимание,​ определять диапазоны. Вначале​ выпадающего списка.​ продуктов, находящихся в​ Работа с данными/​Избавиться от пустых строк​

​: если добавляются новые​ список департаментов организации​ устанавливаем выпадающие списки.​ таблицы. Саму таблицу​ старше идем в​ позиций.​SkyPro​

Пример данных.

​1й выпадающий список​Чтобы выбранные значения показывались​ в выпадающий список?».​ со строкой заголовка.​ что как в​ мы определяем ячейку,​Это необязательный шаг, без​ выбранной категории. Поэтому​ Проверка данных). При​ и учесть новые​

​ элементы, то приходится​

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

​ и позволить пользователю​ Тип данных –​ сделаем на странице​ меню​А в ЛИСТ2,​: http://www.excelworld.ru/forum/2-633-1​ (А2) — общая​ снизу, вставляем другой​Нажмем «Да» и добавиться​ Получаем следующий вид​ функции ПОИСКПОЗ, так​ от которой должен​ него мы сможем​ я создал выпадающий​ выборе переключателя Всех​

​ элементы перечня позволяет​ вручную изменять ссылку​

конечный результат.

Зависимый выпадающий список подкатегорий

​ лишь выбирать значения​ выбираем «Список». А​ книги «Таблица». А​Вставка — Имя -​ наименования можно сортирнуть​http://www.planetaexcel.ru/techniques/1/38/​ группа риска​ код обработчика.Private Sub​

Таблица диапазон.

Рабочая исходная таблица Excel

​ еще одна строка​ диапазона:​ и в СЧЕТЕСЛИ,​ начинаться сдвиг диапазона,​ без проблем справиться​ список, зависимый от​ будут выделены все​ Динамический диапазон. Для​ на диапазон. Правда,​ из этого списка.​ в строке «Источник»​ списки сделаем на​ Присвоить (Insert -​

​ по альфавиту, это​http://www.excel-vba.ru/chto-um….-spiski​2й выпадающий список​ Worksheet_Change(ByVal Target As​ со значением «баобаб».​Ставим курсор в ячейку,​ есть ссылка на​ а в последующих​ с этим. Однако​ выбора, сделанного в​ такие ячейки. При​ этого при создании​ в качестве источника​ Этот подход поможет​ указываем имя диапазона.​ странице «Размеры». У​ Name — Define)​ вообще не критично.​Поиск не пробовали?​ (В2), зависимый -​ Range) On Error​Когда значения для выпадающего​ где будет находиться​

​ диапазон названный Рабочий_Список.​ аргументах определяем его​ мне нравится использовать​ предыдущем списке (здесь​

1. Имена диапазонов ячеек

​ выборе опции Этих​ Имени Список_элементов в​ можно определить сразу​ ускорить процесс ввода​ Например, «=Наименование_товара».​ нас есть такая​в Excel 2007 и​Если слишком геморно,​На этот вопрос​

​ конкретный риск в​ Resume Next If​ списка расположены на​ выпадающий список. Открываем​ Как я уже​ размеры.​ имена, потому что​ вы найдете материал​ же выделяются только​ поле Диапазон необходимо​ более широкий диапазон,​

​ и уменьшить количество​Подробнее, как установить​

  1. ​ таблица.​
  2. ​ новее — жмем​ то и так​ уже отвечали неоднократно.​ рамках группы из​
  3. ​ Not Intersect(Target, Range(«Н2:К2»))​ другом листе или​

Категория.

​ параметры инструмента «Проверка​ упоминал ранее, не​В нашем примере диапазон​ они значительно облегчают​ о том, как​ те ячейки, для​ записать формулу =СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A))​

2. Создание раскрывающегося списка для категории

​ например,​

  1. ​ опечаток.​ выпадающий список, смотрите​И мы сделали такие​ кнопку​
  2. ​ сойдет, как есть,​китин​ А2.​ Is Nothing And​
  3. ​ в другой книге,​ данных» (выше описан​
  4. ​ обязательно использовать имена​ будет перемещаться по​
  5. ​ как написание, так​

Список.

​ создать два зависимых​ которых установлены те​

​Использование функции СЧЁТЗ() предполагает,​

Проверка вводимых значений.

​A1:A100​

3. Создание зависимого выпадающего списка для подкатегории

​Выпадающий список можно создать​ в статье «Выпадающий​ списки.​Диспетчер Имен (Name Manager)​ ну а вдруг.​: да файла лично​Делаю всё шаг​ Target.Cells.Count = 1​ стандартный способ не​ путь). В поле​ диапазонов, можно просто​ столбцу Подкатегория в​ и чтение формулы.​ раскрывающихся списка).​

​ же правила проверки​ что заполнение диапазона​. Но, тогда выпадающий​ с помощью Проверки​ список в Excel».​Внимание!​на вкладке​китин​ я не вижу​ за шагом, как​ Then Application.EnableEvents =​

​ работает. Решить задачу​ «Источник» прописываем такую​

​ ввести $H3: $H15.​ рабочей таблице (G2:H15).​

формула.

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

​Присвоим имена двум диапазонам.​Тот же самый результат​ данных, что и​ ячеек (​ список может содержать​ данных ​Устанавливаем​В списках названия​Формулы (Formulas)​: поищите поиском.где недавно​felixtreem​ пишут повсюду, но​ False If Len(Target.Offset(1,​ можно с помощью​ функцию:​

​ Однако использование имен​ Перемещение начнем от​ Список всех категорий​ хочет получить пользователь​ для активной ячейки.​A:A​ пустые строки (если,​или с помощью элемента​зависимые выпадающие списки в​ столбцов (В, С,​и создаем новый именованный​ была такая тема​: Непонятно. Файл прикреплял.​ в итоге постоянно​ 0)) = 0​

​ функции ДВССЫЛ: она​Протестируем. Вот наша таблица​ диапазонов в формуле​ ячейки H2, которая​ и рабочий список​ шаблона домашнего бюджета​Примечание​), который содержит элементы,​ например, часть элементов​ управления формы Поле​ столбце В​ D) должны полностью​ диапазон​Pelena​SkyPro — Те​ имею «При вычислении​ Then Target.Offset(1, 0)​ сформирует правильную ссылку​ со списком на​ делает ее проще​ также является первым​ категорий. Это будут​

​ где нужна категория​:​ ведется без пропусков​ была удалена или​ со списком (см.​.​ совпадать с названием​Имена​: Один вопрос -​ ссылки, что вы​ «Источник» возникает ошибка».​ = Target Else​ на внешний источник​ одном листе:​ и легко читаемой.​ аргументом нашей функции.​ диапазоны A3:A5 (список​ и подкатегория расходов.​Если выпадающий список​ строк (см. файл​ список только что​ статью Выпадающий (раскрывающийся)​Это второй уровень​ в первом столбце​по следующей формуле:​ одна тема​ кинули, читал, там​Пожалуйста, помогите, чем​ Target.End(xlDown).Offset(1, 0) =​ информации.​Добавим в таблицу новое​

​Вот и все:​ В формуле ячейку​ категорий в зеленой​ Пример данных находится​ содержит более 25-30​ примера, лист Динамический​ был создан). Чтобы​ список на основе​ выпадающих списков.​ (у нас –​=СМЕЩ(Лист1!$I$2;0;0;СЧЁТЗ(Лист1!$I$2:$I$10)-СЧИТАТЬПУСТОТЫ(Лист1!I$2:I$10))​Я знаю, что делать,​ описывается категории и​

​ можете.​ Target End If​Делаем активной ячейку, куда​ значение «елка».​Скачать пример зависимого выпадающего​ H2 записали как​ таблице на первом​ на рисунке ниже:​ значений, то работать​ диапазон).​ пустые строки исчезли​ элемента управления формы).​Внимание!​ это наименование товара​в англоязычной версии =OFFSET(Лист1!$I$2;0;0;COUNTA(Лист1!$I$2:$I$10)-COUNTBLANK(Лист1!I$2:I$10))​ но не знаю​ подкатегории. Мне же​Заранее благодарю!​ Target.ClearContents Application.EnableEvents =​

​ хотим поместить раскрывающийся​

конечный результат.

​Теперь удалим значение «береза».​ списка в Excel​

​ абсолютную ссылку, потому​ изображении) и G3:G15​Так, например, если мы​ с ним становится​Используем функцию ДВССЫЛ()​ необходимо сохранить файл.​

​В этой статье создадим​Перед тем, как​ – ячейки А2:А4​

​Фактически, мы просто даем​куда потом девать​ надо, что бы​Pelena​ True End If​

exceltable.com

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

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

​Альтернативным способом ссылки на​Второй недостаток: диапазон источника​ Выпадающий список с​ устанавливать выпадающие списки​ должны совпадать с​ диапазону занятых ячеек​ тела…​ после того, как​: Здравствуйте.​ End Sub​

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

​Открываем параметры проверки данных.​ «умная таблица», которая​ такая уж и​ мы будем использовать​ в фиолетовой рабочей​

Создание выпадающего списка.

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

  1. ​ помощью Проверки данных​ в столбце В,​Ввод значений.
  2. ​ ячейками В1:D1).​ в синем столбце​Имеем в качестве примера​ я выбрал на​Проверка вводимых значений.
  3. ​У Вас в​Чтобы выбираемые значения отображались​ В поле «Источник»​ легка «расширяется», меняется.​

Имя диапазона. Раскрывающийся список.

​ простая, но облегчающая​ раскрывающийся список во​

​ таблице).​

Выпадающий список в Excel с подстановкой данных

​ подкатегорий должно быть:​ 8 элементов, а​ на другом листе,​ том же листе,​ (Данные/ Работа с​ выберите в первой​Если наименований много,​ собственное название​

  1. ​ недельный график дежурств,​ Лист1 из выпадающего​ первом списке после​ в одной ячейке,​Форматировать как таблицу.
  2. ​ вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).​Теперь сделаем так, чтобы​ работу и защищает​ многих ячейках.​Для того чтобы назвать​ Кинотеатр, Театр, Бассейн.​ чтобы увидеть остальные,​ является использование функции​ что и выпадающий​ данными/ Проверка данных)​ верхней ячейке столбца​ то столбец можно​Имена​Выпадающий список.
  3. ​ который надо заполнить​ списка нужный мне​ названия пробел лишний​ разделенные любым знаком​Имя файла, из которого​ можно было вводить​ от ошибок при​Поскольку рабочая таблица отсортирована​

Ввод значения в источник.

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

Список и таблица.

​ ДВССЫЛ(). На листе​ список, т.к. для​

Добавлено значение елка.

​ с типом данных​

Удалено значение береза.

​ А любое значение.​ транспонировать в строку.​.​

​ именами сотрудников, причем​ товар, в соседней​ (неразрывный). Если его​ препинания, применим такой​ берется информация для​ новые значения прямо​ вводе данных!​

Ввод данных из списка.

  1. ​ по Категории, то​Выберите диапазон A3:A5.​ если в своем​ прокрутки, что не​ Пример, выделяем диапазон​Создание имени.
  2. ​ правил Проверки данных нельзя​ Список.​ Главное, чтобы эта​ Как это сделать,​Осталось выделить ячейки B2:B8​
  3. ​ для каждого сотрудника​ ячейке этого же​ убрать, то всё​ модуль.​ списка, заключено в​ в ячейку с​Читайте также: Связанные выпадающие​Сообщение об ошибке.
  4. ​ диапазон, который должен​В поле имени (поле​ домашнем бюджете вы​ всегда удобно.​ ячеек, которые будут​ использовать ссылки на​Выпадающий список можно сформировать​ ячейка не была​ смотрите в статье​ нашего графика и​ максимальное количество рабочих​ листа сразу же​ получается​Private Sub Worksheet_Change(ByVal​ квадратные скобки. Этот​ этим списком. И​ списки и формула​ быть источником для​ слева от строки​ хотите проанализировать более​В EXCEL не предусмотрена​ содержать выпадающий список,​ другие листы или​ по разному.​ пустой. У нас​ «Как поменять местами​ добавить в них​ дней (смен) ограничено.​ появилась цена этого​Melia95​ Target As Range)​ файл должен быть​ данные автоматически добавлялись​
  5. ​ массива в Excel​ раскрывающегося списка, будет​Сообщение об ошибке.
  6. ​ формулы) введите название​ подробную информацию.​ регулировка размера шрифта​ вызываем Проверку данных,​ книги (это справедливо​Самым простым способом создания​ – это ячейка​ столбцы и строки​

Макрос.

​ выпадающий список с​ Идеальным вариантом было​ товара. Список товаров​: Pelena, спасибо большое!​On Error Resume​ открыт. Если книга​

​ в диапазон.​Два варианта использования этого​ начинаться там, где​

Выпадающий список в Excel с данными с другого листа/файла

​ «Категория».​​ Выпадающего списка. При​ в Источнике указываем​ для EXCEL 2007​ Выпадающего списка является​ А2.​ в Excel» тут.​ элементами диапазона​ бы организовать в​ и цен уже​

  1. ​Всё отлично, работает.​ Next​ с нужными значениями​
  2. ​Сформируем именованный диапазон. Путь:​ трюка я уже​ впервые встречается выбранная​

​Подтвердите с помощью клавиши​Признаюсь, что в предложенном​ большом количестве элементов​ =ДВССЫЛ(«список!A1:A4»).​ и более ранних).​ ввод элементов списка​Выделяем диапазон в​Как настроить Excel,​Имена​ ячейках B2:B8 выпадающий​

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

​ сформирован на Лист2.​

Три именованных диапазона.

​китин​If Not Intersect(Target,​ находится в другой​ «Формулы» — «Диспетчер​ представил. Интересно, как​ категория. Например, для​ Enter.​ мной варианте домашнего​

  1. ​ имеет смысл сортировать​Недостаток​Избавимся сначала от второго​Список диапазонов.
  2. ​ непосредственно в поле​ столбце В (у​ чтобы при добавлении​. Для этого​ список, но при​Таблица со списком.
  3. ​Еще раз прикрепляю​: нет, слишком просто!!!!​ Range(«C2:C5»)) Is Nothing​ папке, нужно указывать​ имен» — «Создать».​ вы его будете​ категории Питание мы​Такое же действие совершите​ бюджета я ограничиваюсь​ список элементов и​: при переименовании листа​ недостатка – разместим​ Источник инструмента Проверка​Второй раскрывающийся список.

    Выбор нескольких значений из выпадающего списка Excel

    ​ нас – это​ ячеек в список​в Excel 2003 и​ этом сделать так,​ файл.​

    1. ​формула в проверку​ And Target.Cells.Count =​ путь полностью.​ Вводим уникальное название​ использовать?​ хотим отобразить диапазон​ для диапазона рабочего​ только категорией, поскольку​ использовать дополнительную классификацию​ – формула перестает​ перечень элементов выпадающего​ данных.​ В2:В3). Снова через​ столбца A, автоматически​ старше — откроем​ чтобы уже занятые​Насколько я понимаю,​ данных​ 1 Then​Возьмем три именованных диапазона:​ диапазона – ОК.​Под выпадающим списком понимается​ H6:H11, для Транспорта​ списка категорий G3:G15,​ для меня такого​ элементов (т.е. один​
    2. ​ работать. Как это​ списка на другом​Предположим, в ячейке​ функцию «Проверка данных»​ писалось название нового​ меню​ сотрудники автоматически убирались​ в моем примере,​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СМЕЩ(Лист2!$A$2;;ПОИСКПОЗ($A$2;Лист2!$A$1:$U$1;0)-1;СЧЁТЗ(ИНДЕКС(Лист2!$A$2:$U$19;;ПОИСКПОЗ($A$2;Лист2!$A$1:$U$1;0))))​Application.EnableEvents = False​Это обязательное условие. Выше​Создаем раскрывающийся список в​ содержание в одной​ — диапазон H12:​ который вы можете​ разделения расходов вполне​ выпадающий список разбить​ можно частично обойти​ листе.​
    3. ​B1​ выбираем «Тип данных»​ столбца, смотрите в​Данные — Проверка (Data​ из выпадающего списка,​
      ​ нужно использовать параметр​_Boroda_​
      ​newVal = Target​ описано, как сделать​
      ​ любой ячейке. Как​ ячейке нескольких значений.​ H15 и т.​ вызвать "Рабочий_Список". Этот​
      ​ достаточно (название расходов​
      ​ на 2 и​
      ​ см. в статье​
      ​В правилах Проверки данных (также​
      ​необходимо создать выпадающий​ – список. А​ статье «Как добавить​
      ​ - Validation)​ оставляя только свободных:​ ЕСЛИ, вроде как-то​
      ​: Я обычно немного​
      ​Application.Undo​
      ​ обычный список именованным​
      ​ это сделать, уже​ Когда пользователь щелкает​
      ​ д. Обратите внимание,​
      ​ диапазон мы будем​
      ​ / доходов рассматривается​

    ​ более).​ Определяем имя листа.​ как и Условного​ список для ввода​ в строке «Источник»​ столбец в Excel​

    Выпадающий список с поиском

    1. ​,​Чтобы реализовать подобный вариант​ так: Если из​ посложнее пишу, но​oldval = Target​ диапазоном (с помощью​Вставить ActiveX.
    2. ​ известно. Источник –​ по стрелочке справа,​ что все время​ использовать в формуле.​ как подкатегория). Однако,​Например, чтобы эффективно работать​Элемент ActiveX.
    3. ​Ввод элементов списка в​ форматирования) нельзя впрямую​Свойства ActiveX.
    4. ​ единиц измерений. Выделим​ пишем такую формулу​ автоматически».​в Excel 2007 и​ выпадающего списка выполним​ выпадающего списка на​ зато можно дописывать​If Len(oldval) <>​

    ​ «Диспетчера имен»). Помним,​

    ​ имя диапазона: =деревья.​ появляется определенный перечень.​ мы перемещаемся по​Это будет просто:​ если вам нужно​ со списком сотрудников​ диапазон ячеек, находящегося​ указать ссылку на​ ячейку​ =ДВССЫЛ(А2)​

    exceltable.com

Зависимые выпадающие списки (Иное/Other)

​Как сделать в Excel​​ новее — жмем​
​ несколько простых шагов.​
​ ячейке на ЛИСТ1​ данные для списков​ 0 And oldval​
​ что имя не​Снимаем галочки на вкладках​ Можно выбрать конкретное.​ столбцу H, а​Выберите ячейку, в которую​
​ разделить их на​ насчитывающем более 300​ в другой книге​ диапазоны другого листа​B1​Этой формулой мы говорим​
​ динамический диапазон​ кнопку​
​Сначала давайте подсчитаем кто​

​ выбрана ячейка А1​​ сразу прямо на​
​ <> newVal Then​ может содержать пробелов​ «Сообщение для ввода»,​Очень удобный инструмент Excel​ единственное, что изменяется,​ вы хотите поместить​

​ подкатегории, то метод,​​ сотрудников, то его​
​Если необходимо перенести диапазон​

​ (см. Файл примера):​​и вызовем Проверку​:D
​ Excel, что список​- чтобы размер​​Проверка данных (Data Validation)​

​ из наших сотрудников​​ на ЛИСТ2, тогда​ лист2 и они​Target = Target​ и знаков препинания.​ «Сообщение об ошибке».​ для проверки введенных​ это начало диапазона​ список. В моем​
​ который я описываю​
​ следует сначала отсортировать​
​ с элементами выпадающего​
​Пусть ячейки, которые должны​

​ данных.​​ нужно показывать, в​ диапазонов списков при​на вкладке​ уже назначен на​ на ЛИСТ1 и​ автоподхватываются в оба​ & «,» &​Создадим первый выпадающий список,​ Если этого не​ данных. Повысить комфорт​ и его высота​ случае это A12.​

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

excelworld.ru

Как сделать — Связанный (зависимый) выпадающий список (Формулы)

​ содержать Выпадающий список,​​Если в поле Источник​
​ зависимости от значения​
​ добавлении или убавлении​Данные (Data)​ дежурство и на​
​ ячейка В2 должна​ вып. списка​ newVal​
​ куда войдут названия​ сделать, Excel не​ работы с данными​ (то есть количество​В меню «ДАННЫЕ» выберите​ Смело используйте!​ Затем создать выпадающий​ книгу (например, в​ размещены на листе​ указать через точку​ в ячейке столбца​ ячеек менялся автоматически,​В открывшемся окне выберем​ сколько смен. Для​ быть равна ячейке​
​Для списка 1​

​Else​​ диапазонов.​
​ позволит нам вводить​ позволяют возможности выпадающих​ элементов в списке).​

​ инструмент «Проверка данных».​​А конечный результат выглядит​
​ список, содержащий буквы​
​ книгу Источник.xlsx), то​
​ Пример,​
​ с запятой единицы​ А.​

​ смотрите в статье​​ в списке допустимых​ этого добавим к​

​ ЛИСТ2 В2.​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$1:$1;1):ИНДЕКС(Лист2!$1:$1;СЧЁТЗ(Лист2!$1:$1))​
​Target = newVal​Когда поставили курсор в​ новые значения.​ списков: подстановка данных,​Начало диапазона будет перемещено​ Появится окно «Проверка​ следующим образом:​ алфавита. Второй выпадающий​ нужно сделать следующее:​а диапазон с перечнем​ измерения шт;кг;кв.м;куб.м, то​Здесь все просто.​ «Чтобы размер таблицы​ значений вариант​ зеленой таблице еще​китин​Для списка 2​
​End If​ поле «Источник», переходим​
​Вызываем редактор Visual Basic.​ отображение данных другого​ относительно ячейки H2​ вводимых значений».​Для того чтобы этого​ список должен содержать​в книге Источник.xlsx создайте​ элементов разместим на​ выбор будет ограничен​ Но бывает название​ Excel менялся автоматически».​Список (List)​ один столбец, введем​

​: ну если вам​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$2:$2;ПОИСКПОЗ(Лист1!$A27;Сп1;)):ИНДЕКС(Лист2!$1:$99;СЧЁТЗ(ИНДЕКС(Лист2!$1:$99;;ПОИСКПОЗ(Лист1!$A27;Сп1;)));ПОИСКПОЗ(Лист1!$A27;Сп1;))​If Len(newVal) =​
​ на лист и​ Для этого щелкаем​
​ листа или файла,​
​ на такое количество​В качестве типа данных​

​ достичь, необходимо сделать​​ только те фамилии,​ необходимый перечень элементов;​​ другом листе (на​

​ этими четырьмя значениями.​​ диапазона (столбца) состоит​Теперь нужно присвоить​и укажем​ в него следующую​ надо только,что бы​
​enzo​ 0 Then Target.ClearContents​ выделяем попеременно нужные​ правой кнопкой мыши​ наличие функции поиска​ ячеек вниз (по​
​ выберите «Список».​

​ немного другую таблицу​​ которые начинаются с​в книге Источник.xlsx диапазону​ листе Список в​Теперь смотрим, что получилось.​ из нескольких слов.​ имена всем этим​​Источник (Source)​

​ формулу:​​тогда это просто​: Интересно стало ,​Application.EnableEvents = True​ ячейки.​ по названию листа​
​ и зависимости.​ числу), сколько составляет​В качестве источника введите:​ данных, чем если​ буквы, выбранной первым​
​ ячеек содержащему перечень​ файле примера).​ Выделим ячейку​ Например, «Зимние пальто».​ спискам. У нас​
​данных:​=СЧЁТЕСЛИ($B$2:$B$8;E2) или в англоязычной​ ВПР​ а если на​
​End If​Теперь создадим второй раскрывающийся​ и переходим по​Путь: меню «Данные» -​:)

​ номер позиции первой​​ =Категория (рисунок ниже).​ бы мы создавали​

​ списком. Для решения​​ элементов присвойте Имя,​Для создания выпадающего списка,​

excelworld.ru

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

​B1​ А в имени​
​ в списках четыре​Вот и все! Теперь​

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

​ версии =COUNTIF($B$2:$B$8;E2)​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ВПР($A7;Лист2!$B$2:$H$161;6;ЛОЖЬ)​ листе2, данные будут​End Sub​ список. В нем​ вкладке «Исходный текст».​ инструмент «Проверка данных»​ встречающейся категории в​Подтвердите с помощью OK.​ один раскрывающийся список.​ такой задачи может​ например СписокВнеш;​ элементы которого расположены​. При выделении ячейки​ диапазона нельзя ставить​ диапазона (четыре столбца).​

Выпадающий зависимый список вȎxcel

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

Шаг 1. Кто сколько работает?

​ в 2 столбца​Не забываем менять диапазоны​ должны отражаться те​ Либо одновременно нажимаем​ — вкладка «Параметры».​ столбце Категория. Проще​Проверка вводимых значений –​ Таблица должна выглядеть​ быть использована структура​откройте книгу, в которой​

​ на другом листе,​ справа от ячейки​

Выпадающий зависимый список вȎxcel

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

Шаг 2. Кто еще свободен?

​ 1 ячейки С7​ ( Проект и​ на «свои». Списки​ слова, которые соответствуют​ клавиши Alt +​ Тип данных –​ будет понять на​ Категория.​ так (диапазон G2:H15):​ Связанный список или​

​ предполагается разместить ячейки​

Выпадающий зависимый список вȎxcel

Шаг 3. Формируем список

​ можно использовать два​ появляется квадратная кнопка​ напишем так «Зимние_пальто».​ сделать так.​ имена будут автоматически​ сотрудника встречалось в​китин​ под проект) ?​ создаем классическим способом.​ выбранному в первом​ F11. Копируем код​ «Список».​

​ примере: диапазон для​

​Результат следующий:​

​В эту таблицу необходимо​

Выпадающий зависимый список вȎxcel

​ Вложенный связанный список.​ с выпадающим списком;​ подхода. Один основан​ со стрелкой для​ Но формула ДВССЫЛ​Как присвоить имя диапазону​ удаляться из выпадающего​ диапазоне с именами.​: немного переделал.убрал ошибку.файл​ На листе 1​ А всю остальную​

Шаг 4. Создаем именованный диапазон свободных сотрудников

  • ​ списке названию. Если​ (только вставьте свои​Ввести значения, из которых​​ категории Питание перемещен​Раскрывающийся список для категории.​ ввести категорию и​
  • ​Зависимый выпадающий список позволяет​выделите нужный диапазон ячеек,​ на использовании Именованного​​ выбора элементов из​​ не найдет этот​​ в​

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

​ работу будут делать​

​ «Деревья», то «граб»,​

Выпадающий зависимый список вȎxcel

​ параметры).Private Sub Worksheet_Change(ByVal​ будет складываться выпадающий​ на 4 ячейки​Сейчас будет весело. Создавать​​ рядом с ней​​ сделать трюк, который​

Шаг 5. Создаем выпадающий список в ячейках

​ вызовите инструмент Проверка​ диапазона, другой –​ выпадающего списка.​ диапазон. Тогда формулу​Excel.​​ тех, кто еще​​ наших сотрудников еще​

  • ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ЕНД(ВПР($A2;Лист2!$B$2:$H$161;6;ЛОЖЬ));»»;ВПР($A2;Лист2!$B$2:$H$161;6;ЛОЖЬ))​ выпадающие списки сделать​ макросы.​​ «дуб» и т.д.​ Target As Range)​​ список, можно разными​
  • ​ вниз относительно ячейки​ списки мы умеем​ ее подкатегории. Имя​​ очень часто хвалят​​ данных, в поле​​ функции ДВССЫЛ().​

​Недостатки​ нужно написать так.​Выделяем диапазон ячеек​​ свободен.​​ свободен, т.е. не​​felixtreem​​ ? Или это​

Выпадающий зависимый список вȎxcel

​На вкладке «Разработчик» находим​ Вводим в поле​ Dim lReply As​ способами:​ H2 (начинается с​ — только что​ категории должно повторяться​ пользователи шаблонов Excel.​

planetaexcel.ru

​ Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»);​

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

Способ 1. Функция ДВССЫЛ (INDIRECT)

Этот фокус основан на применении функции ДВССЫЛ (INDIRECT), которая умеет делать одну простую вещь — преобразовывать содержимое любой указанной ячейки в адрес диапазона, который понимает Excel. То есть, если в ячейке лежит текст «А1», то функция выдаст в результате ссылку на ячейку А1. Если в ячейке лежит слово «Маша», то функция выдаст ссылку на именованный диапазон с именем Маша и т.д. Такой, своего рода, «перевод стрелок» ;)

Возьмем, например, вот такой список моделей автомобилей Toyota, Ford и Nissan:

Связанные списки с ДВССЫЛ

Выделим весь список моделей Тойоты (с ячейки А2 и вниз до конца списка) и дадим этому диапазону имя Toyota на вкладке Формулы (Formulas) с помощью Диспетчера имен (Name Manager). Затем повторим то же самое со списками моделей Ford и Nissan, задав соответственно имена диапазонам Ford и Nissan.

При задании имён помните о том, что имена диапазонов в Excel не должны содержать пробелов, знаков препинания и начинаться обязательно с буквы. Поэтому если бы в одной из марок автомобилей присутствовал бы пробел (например Ssang Yong), то его пришлось бы заменить в ячейке и в имени диапазона на нижнее подчеркивание (т.е. Ssang_Yong).

Теперь создадим первый выпадающий список для выбора марки автомобиля. Выделите пустую ячейку (на картинке выше — зелёную) и нажмите кнопку Проверка данных (Data Validation) на вкладке Данные (Data). Затем из выпадающего списка Тип данных (Allow)  выберите вариант Список (List) и в поле Источник (Source) выделите ячейки с названиями марок (желтые ячейки в нашем примере). После нажатия на ОК первый выпадающий список готов.

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

=ДВССЫЛ(F2)

где F2 — адрес ячейки с первым выпадающим списком (замените на свой).

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

Минусы такого способа:

  • Надо руками создавать много именованных диапазонов (если у нас много марок автомобилей).
  • В качестве вторичных (зависимых) диапазонов не могут выступать динамические диапазоны задаваемые формулами типа СМЕЩ (OFFSET). Для первичного (независимого) списка их использовать можно, а вот вторичный список должен быть определен жестко, без формул. Однако, это ограничение можно обойти, создав справочник соответствий марка-модель (см. Способы 3 и 4).
  • Имена вторичных диапазонов должны совпадать с элементами первичного выпадающего списка. Т.е. если в нем есть текст с пробелами, то придется их заменять на подчеркивания с помощью функции ПОДСТАВИТЬ (SUBSTITUTE), т.е. формула будет выглядеть как:

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

Способ 2. Умные таблицы

Этот подход очень похож на предыдущий, но использует вместо именованных диапазонов — «умные» динамические таблицы, которые будут выступать источником данных для вторичного списка:

Связанные списки на умных таблицах и ДВССЫЛ

Таким образом, мы:

  1. Сначала преобразуем наши справочники в «умные» таблицы, используя сочетание клавиш Ctrl+T или команду Главная — Форматировать как таблицу (Home — Format as Table) и
  2. Даём им имена (Фрукты, Овощи, Зелень) на вкладке Конструктор (Design) в поле Имя таблицы (Table Name).
  3. Создаём первый и второй (связанный) выпадающие списки точно так же, как в предыдущем способе с функцией ДВССЫЛ (INDIRECT).

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

Способ 3. Отсортированный справочник

Этот способ требует наличия отсортированного списка соответствий марка-модель вот такого вида:

Связанные списки на отсортированном справочнике

Для создания первичного выпадающего списка можно марок можно воспользоваться обычным способом, описанным выше, т.е.  выбрать на вкладке Данные (Data) команду Проверка данных (Data validation) и указать в качестве источника жёлтые ячейки с марками

А вот для зависимого списка моделей придется создать именованный диапазон с функцией СМЕЩ (OFFSET), который будет динамически ссылаться только на ячейки моделей определенной марки. Для этого:

  • Нажмите сочетание клавиш Ctrl+F3 или воспользуйтесь кнопкой Диспетчер имен (Name manager) на вкладке Формулы (Formulas).
  • Создайте новый именованный диапазон с любым именем (например Модели) и в поле Ссылка (Reference) в нижней части окна введите руками следующую формулу:

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

=OFFSET($A$1;MATCH($G$7;$A:$A;0)-1;1;COUNTIF($A:$A;$G$7);1)

Ссылки должны быть абсолютными (со знаками $). После нажатия Enter к формуле будут автоматически добавлены имена листов — не пугайтесь.

Работает это следующим образом. Функция СМЕЩ (OFFSET) умеет выдавать ссылку на диапазон нужного размера, сдвинутый относительно исходной ячейки на заданное количество строк и столбцов. В более понятном варианте синтаксис этой функции таков:

=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; высота_диапазона_в_строках; ширина_диапазона_в_столбцах)

Таким образом:

  • начальная ячейка — берем первую ячейку нашего списка, т.е. А1
  • сдвиг_вниз — нам считает функция ПОИСКПОЗ (MATCH), которая, попросту говоря, выдает порядковый номер ячейки с выбранной маркой (G7) в заданном диапазоне (столбце А)
  • сдвиг_вправо = 1, т.к. мы хотим сослаться на модели в соседнем столбце (В)
  • высота_диапазона_в_строках  — вычисляем с помощью функции СЧЕТЕСЛИ (COUNTIF), которая умеет подсчитать количество встретившихся в списке (столбце А) нужных нам значений — марок авто (G7)
  • ширина_диапазона_в_столбцах = 1, т.к. нам нужен один столбец с моделями

В итоге должно получиться что-то вроде этого:

linked_dropdowns4.gif

Осталось добавить выпадающий список на основе созданной формулы к ячейке G8. Для этого:

  • выделяем ячейку G8 
  • выбираем на вкладке Данные (Data) команду Проверка данных (Data validation)
  • из выпадающего списка выбираем вариант проверки Список (List) и вводим в качестве Источника (Source) знак равно и имя нашего диапазона, т.е.  =Модель

И наш связанный список моделей готов.

Способ 4. Неотсортированный справочник

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

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

Первый уровень выпадающего списка (диапазон А2:А14 на рисунке выше) здесь делается классическим образом через команду Данные — Проверка данных — Список (Data — Validation — List) и в качестве источника указать зелёные ячейки с названиями категорий.

А для связанных выпадающих списков во втором столбце (B2:B14) в поле Источник (Source) мы используем хитрую формулу:

=СМЕЩ($E$2;1;ПОИСКПОЗ(A2;$E$2:$G$2;0)-1;СЧЁТЗ(СМЕЩ($E$2;1;ПОИСКПОЗ(A2;$E$2:$G$2;0)-1;10;1));1)

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

 Ссылки по теме

  • 4 способа создать выпадающий список в ячейках листа
  • Автоматическое создание выпадающих списков при помощи инструментов надстройки PLEX
  • Выбор фото из выпадающего списка
  • Выпадающий список с автоматическим удалением уже использованных элементов
  • Динамическая выборка данных для выпадающего списка функциями ИНДЕКС и ПОИСКПОЗ 

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

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

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

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

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

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

Чтобы создать выпадающий список, выделите ячейку, где он должен появиться (или группу ячеек) и перейдите на вкладку Данные -> Проверка данных.

меню excel, проверка данных

В появившемся окне укажите тип данных – Список, поставьте галочку рядом со строкой «Список допустимых значений».

excel, проверка значений

Источником данных может быть:

  • Текст – пишется через точку с запятой «;» и без знака равно «=», например
    Материалы;Заработная плата;Амортизация
  • Ссылки на ячейки:
    =$A$1:$A$7
  • Именованный диапазон:
    =ИмяДиапазона

и т.д.

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

Связанные выпадающие списки – это списки, в которых выпадающие значения появляются не «просто так», а в зависимости от уже заполненных данных. Так, для выбранной группы появится только список входящих в неё наименований.

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

Создадим выпадающие списки несколькими способами – для разных таблиц с исходными данными.

Способ 1. Названия групп в заголовках столбцов, в строках – элементы групп.

excel, таблица

Способ 2. Названия групп – в первом столбце, элементы групп – во втором столбце.

excel, таблица

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

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

excel, таблица

В этом способе используется всего одна простая формула — ДВССЫЛ (правда, непривычная обычным пользователям) и форматированная smart-таблица Excel (иногда их еще называют «умные» таблицы). Зато вы получите взаимозависимые списки и будете пользоваться ими по принципу «сделал и забыл». Не нужно будет переживать о том, что «слетит» диапазон и переделывать всю архитектуру данных. Просто один раз сделаете и будете пользоваться.

Справка:

Форматированная таблица – это таблица, у которой есть свое имя, свойства и структура. Такая таблица представляет из себя именованный «саморасширяющийся» диапазон. При добавлении в нее новых данных границы таблицы автоматически «захватят» новое значение.

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

Создать форматированную таблицу просто: выделите диапазон ячеек и перейдите в меню Главная -> Форматировать как таблицу -> выберите понравившийся вид таблицы. Готово – форматированная таблица создана.

Формула ДВССЫЛ передает значения из ячейки, адрес которой записан в самой формуле в виде текстовой строки.

Например, записываем в ячейке B1 адрес ячейки А1. Формула ДВССЫЛ(B1) «увидит», какой адрес записан в ячейке B1, а результатом вычисления формулы будет текст, записанный в ячейке А1. Эту же формулу можно записать, указав адрес ячейки в кавычках – ДВССЫЛ(«А1»).

excel, формула, двссыл

С помощью ДВССЫЛ можно обратиться к ячейке по адресу с помощью других формул, например СЦЕПИТЬ, & или ЕСЛИ и т.д. Так, формула на рисунке ДВССЫЛ(B1&C1) обращается к тексту в ячейке А1. После нажатия Enter в ячейке, где вводилась формула ДВССЫЛ(B1&C1) появится значение из ячейки A1, в нашем случае это «текст».

excel, формула, двссыл

Пошаговая инструкция по созданию связанных выпадающих списков

Шаг 1. Создайте справочник исходных данных в виде форматированной smart-таблицы.

  • Выделите таблицу со статьями и преобразуйте ее в smart-таблицу: выберите в меню Главная -> Форматировать как таблицу.

excel, форматированные таблицы, умные таблицы

  • В появившемся окне обязательно проверьте галочку рядом с надписью «Таблица с заголовками». Если ее нет – поставьте.

excel, форматированные таблицы

  • Присвойте созданной таблице имя: выделите любую ячейку таблицы, перейдите на вкладку Конструктор, введите имя — «Источник».

excel, имя форматированной таблицы

Таблица «Источник» создана. Теперь можно обращаться к таблице и её элементам по имени. Например, название заголовка таблицы будет выглядеть так: =Источник[#Заголовки]

excel, формулы, форматированных, умных, таблицах

Столбец таблицы: =Источник[Материалы]

Чтобы появилась такая формула, нажмите равно = и выделите столбец, его имя появится в строке формул.

excel, формулы, форматированных, умных, таблицах

Шаг 2. Создайте выпадающий список с группами.

  • Выделите ячейки в столбце «группа».
  • Перейдите в меню Данные -> Проверка данных.
  • В появившемся окне выберите тип данных — Список, а в строке Источник введите формулу =ДВССЫЛ(«Источник[#Заголовки]»)

Готово! В столбце «группа» появился выпадающий список.

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

Шаг 3. Создайте выпадающий список со статьями.

  • Выделите столбец «статья» в таблице.
  • Перейдите в меню Данные -> Проверка данных.
  • В появившемся окне выберите тип данных — Список, а в строке Источник введите формулу: =ДВССЫЛ(«Источник[«&$G3&»]»)
    В формуле $G3 – это первая ячейка из столбца «группа». Ссылка на столбец «зафиксирована» с помощью знака доллара $, а строка может изменяться.

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

Готово! В столбце «статья» появляется только список статей, входящих в группу.

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

Теперь в форматированную smart-таблицу можно добавлять новые группы и статьи. Добавим, например, новый столбец «Прочее», и такая группа сразу же появится в выпадающем списке.

Способ 2. Связанные выпадающие списки из таблицы с группами в первом столбце и элементами — во втором

Исходные данные: таблица с названиями групп в первом столбце, элементами групп – во втором столбце.

excel, таблица

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

Мы придумали, как обойти эту проблему: с помощью сводных таблиц, которые будут за нас упорядочивать данные. Благодаря этому постоянное «администрирование» будет заменено на простую процедуру «обновить».

Для создания списков используем форматированные (умные) таблицы, сводные таблицы, формулы СМЕЩ + ПОИСКПОЗ + СЧЁТЗ, СЧЁТЕСЛИ и диспетчер имен.

Справка:

СМЕЩ выдает ссылку на диапазон ячеек, находящийся в указанном количестве ячеек от исходной. Ссылка определяется с учетом заданного в формуле размера диапазона – числа строк и столбцов. Другими словами, этой формулой вы можете «сказать» Excel-ю на сколько ячеек он должен отступить и какой диапазон «захватить».

Синтаксис формулы СМЕЩ такой:

СМЕЩ(ссылка ; смещ_по_строкам ; смещ_по_столбцам ; [высота] ; [ширина] ), где

  • ссылка – ссылка, от которой вычисляется смещение, может быть адресом ячейки или группы ячеек;
  • смещ_по_строкам – количество строк, которые требуется отсчитать вверх или вниз от начальной ссылки;
  • смещ_по_столбцам – количество столбцов, которые требуется отсчитать влево или вправо от начальной ссылки;
  • [высота] – число строк возвращаемой ссылки (необязательный);
  • [ширина] – число столбцов возвращаемой ссылки (необязательный).

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

Синтаксис ПОИСКПОЗ такой:

ПОИСКПОЗ( искомое_значение ; просматриваемый_массив ; [тип_сопоставления] )

  • искомое_значение – значение, которое ищем. Может быть числом, текстом, логическим значением или ссылкой на ячейку;
  • просматриваемый_массив – диапазон ячеек, где будем искать нужное значение;
  • [тип_сопоставления] — число -1, 0 или 1, которое показывает, как сравнивать искомое значение с ячейками просматриваемого массива. Не переживайте, если не поняли, когда и что ставить, потому что 90% случаев нужно выбирать ноль.

Подробнее про эту формулу можно посмотреть в видеоинструкции: Какая формула лучше ВПР и работает с несколькими критериями

СЧЁТЗ просто считает количество непустых ячеек в диапазоне.

Почти тот же СУММЕСЛИ, только проще – подсчитывает количество значений, соответствующих определенному условию.

Пошаговая инструкция по созданию списков

Шаг 1. Преобразуйте исходные данные в форматированную smart-таблицу.

  • Выделите таблицу со статьями и преобразуйте ее в smart-таблицу: перейдите в меню Главная -> Форматировать как таблицу.

excel, таблица

  • В появившемся окне обязательно проверьте галочку рядом с надписью «Таблица с заголовками». Если ее нет – поставьте.

excel, форматирование таблицы

  • Присвойте таблице имя: на вкладке Конструктор введите имя таблицы — «статьи».

excel, имя форматированной таблицы

Форматированная таблица «статьи» создана.

Шаг 2. Создайте две сводные таблицы – одну с названиями групп, вторую — со статьями.

Для чего используем сводные таблицы? Во-первых, чтобы вручную не создавать перечень групп, а во-вторых, как уже упоминали выше, чтобы вручную не сортировать справочники статей (что иногда забывают сделать пользователи, а это важно, иначе формула СМЕЩ «срабатывает» с ошибкой). «Ручную» работу сделает вместо нас кнопка «Обновить» в меню Данные — нажимаем ее каждый раз после появления новых статей.

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

excel, сводные таблицы

  • Создайте вторую сводную таблицу со статьями: меню Вставка -> Сводная таблица. В область строк поместите группы и статьи.

excel, сводные таблицы

  • Форматируем сводную таблицу со статьями и придаем ей вид справочника.
    Выделите любую ячейку таблицы, перейдите на вкладку Конструктор -> Макет отчета -> Показать в табличной форме. У нас получится почти та таблица, которая нам нужна, но в ней автоматом появятся промежуточные суммы. Чтобы их отключить, идем: Промежуточные итоги -> Не показывать промежуточные суммы.

  • Скройте строку «Общий итог» в обеих таблицах справочников. Перейдите на вкладку Конструктор -> Общие итоги -> Отключить для строк и столбцов.

excel, сводные таблицы

В итоге получатся два справочника, как на рисунке ниже. Для удобства разместите таблицы рядом на одном листе – с первой строки и в столбцах A, C и D, как на рисунке (это поможет разобраться с формулой СМЕЩ).

excel, сводные таблицы

Шаг 3. Создайте именованные диапазоны с помощью диспетчера имен.

  • Откройте диспетчер имен: в меню Формулы -> Диспетчер имен.

excel, диспетчер имен

  • В появившемся окне нажмите кнопку «Создать».

excel, диспетчер имен, создать имя

    • Введите имя «ГруппыСписок» и формулу, которая будет определять диапазон:
      =СМЕЩ($A$1;1;0;СЧЁТЗ($A:$A)-1;1)

Пояснения к формуле:

СМЕЩ ( $A$1 ; 1 ; 0 ; СЧЁТЗ( $A:$A ) – 1 ; 1 ) – определяет адрес ячеек с названиями групп.

    • $A$1 – это первая ячейка в справочнике групп.
    • Следующие цифры 1 ; 0 – это отступ от первой ячейки на 1 строку и 0 столбцов (отступ нужен, потому что в первой ячейке название столбца).
    • СЧЁТЗ( $A:$A ) – 1 Считаем число непустых ячеек в столбце А. Вычитаем -1, потому что название столбца не должно быть в списке.
    • Последнее число 1 в формуле – это количество столбцов.

excel, диспетчер имен

Нажмите ОК. Названия листов в формуле появятся сами.

  • Точно так же создайте в диспетчере имен список статей.
    Введите имя ГруппыСтатей, а для диапазона – формулу:
    =СМЕЩ($C$1;ПОИСКПОЗ($G2;$C:$C;0)-1;1;СЧЁТЕСЛИ($C:$C;$G2);1)

Пояснения к формуле:

СМЕЩ ( $C$1 ; ПОИСКПОЗ ( $G2 ; $C:$C ; 0 ) – 1 ; 1 ; СЧЁТЕСЛИ( $C:$C ; $G2 ) ; 1 ) – определяет адрес ячеек с названиями статей из группы с помощью ПОИСКПОЗ, которая ищет группы статей.

  • $С$1 – это первая ячейка в столбце с группами.
  • ПОИСКПОЗ ( $G2 ; $C:$C ; 0 ) – 1 Определяет, на сколько строк нужно отступить от первой ячейки.ПОИСКПОЗ ищет название группы, выбранной в таблице с данными (столбец $G) среди ячеек справочника (столбец $C). В адресе ячейки $G2 не «закрепляем» номер строки с помощью знака $, чтобы формула работала для каждой ячейки в столбце.
  • Следующая цифра 1 – это отступ на 1 столбец вправо, т.е. переходим к столбцу «статьи», откуда нужно брать данные.
  • СЧЁТЕСЛИ( $C:$C ; $G2 ) – считаем число ячеек в столбце $C, в которых названия групп такие же, как в столбце с данными. Здесь тоже не «закрепляем» номер строки у ячейки $G2 с помощью знака $.
  • Последнее число 1 в формуле – это количество столбцов.

excel, диспетчер имен

Шаг 4. Создайте выпадающие списки.

Выделите ячейки в столбце «группы», перейдите в меню Данные -> Проверка данных. Задайте тип данных Список, источник =ГруппыСписок.

excel, проверка данных

То же самое – для статей. Тип данных – список, источник =ГруппыСтатьи

Выпадающие списки готовы. Форматированные smart-таблицы позволят «захватить» все данные, а сводные таблицы – избежать ошибок, отсортировать справочник и создать список групп.

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

Содержание

  • 1 Создаем простой выпадающий список
  • 2 Добавляем значения в выпадающий список – динамический список
  • 3 Выпадающий список со значениями с другого листа
  • 4 Создаем зависимые выпадающие списки
  • 5 Пример создания зависимого выпадающего списка в ячейке Excel
  • 6 Список категорий и подкатегорий в зависимом выпадающем списке Excel
    • 6.1 Зависимый выпадающий список подкатегорий
    • 6.2 Рабочая исходная таблица Excel
  • 7 1. Имена диапазонов ячеек
  • 8 2. Создание раскрывающегося списка для категории
    • 8.1 3. Создание зависимого выпадающего списка для подкатегории
  • 9 Проверка вводимых значений для подкатегории в зависимом выпадающем списке
  • 10 Способ 1 — горячие клавиши и раскрывающийся список в excel
  • 11 Способ 2 — самый удобный, простой и наиболее гибкий
  • 12 Способ 3 — как в excel сделать выпадающий список с использованием ActiveX

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

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

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

Для этого, в ячейки А1:А7 вписываем данные, которые будут отображаться в списке. Теперь выделим ячейку, в которой создадим выпадающий список – В2.

Переходим на вкладку «Данные» и кликаем по кнопочке «Проверка данных».

как сделать сложный выпадающий список в excel

На вкладке «Параметры» в поле «Тип данных» выбираем «Список». В поле «Источник» можно ввести значения различными способами:

1 – вводим значения для списка вручную, через точку с запятой;

как сделать сложный выпадающий список в excel

2 – указываем диапазон ячеек, в которые введены данные для выпадающего списка;

как сделать сложный выпадающий список в excel

3 – выделяем ячейки с именами, кликаем по ним правой кнопкой мыши и выбираем из меню «Присвоить имя».

как сделать сложный выпадающий список в excel

Дальше впишите «Имя» для выделенных данных.

как сделать сложный выпадающий список в excel

Выделяем ячейку В2 и в поле «Источник» ставим «=», затем пишем созданное имя.

как сделать сложный выпадающий список в excel

Таким образом, мы создали простой выпадающий список в Excel.

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

как сделать сложный выпадающий список в excel

Добавляем значения в выпадающий список – динамический список

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

Выделяем диапазон ячеек – D1:D8, затем на вкладке «Главная» нажимаем «Форматировать как таблицу» и выбираем любой стиль.

как сделать сложный выпадающий список в excel

Подтверждаем расположение данных и ставим галочку в поле «Таблица с заголовками».

Вверху пишем заголовок таблицы – «Сотрудники», и заполняем ее данными.

Выделяем ячейку, в которой будет выпадающий список и кликаем по кнопочке «Проверка данных». В следующем окне, в поле «Источник», пишем следующее: =ДВССЫЛ(«Таблица1»). У меня одна таблица на листе, поэтому пишу «Таблица1», если будет вторая – «Таблица2», и так далее.

как сделать сложный выпадающий список в excel

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

как сделать сложный выпадающий список в excel

Выпадающий список со значениями с другого листа

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

На Листе 2, выделяем одну ячейку или диапазон ячеек, затем кликаем по кнопочке «Проверка данных».

как сделать сложный выпадающий список в excel

Переходим на Лист 1, ставим курсор в поле «Источник» и выделяем нужный диапазон ячеек.

как сделать сложный выпадающий список в excel

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

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

Предположим, у нас есть три диапазона: имена, фамилии и отчества сотрудников. Для каждого, нужно присвоить имя. Выделяем ячейки оного диапазона, можно и пустые – в них со временем можно будет добавлять данные, которые будут появляться в выпадающем списке. Кликаем по ним правой кнопкой мыши и выбираем из списка «Присвоить имя».

как сделать сложный выпадающий список в excel

Первый называем «Имя», второй – «Фамилия», третий – «Отч».

как сделать сложный выпадающий список в excel

Сделаем еще один диапазон, в котором будут прописаны присвоенные имена. Назовем его «Сотрудники».

как сделать сложный выпадающий список в excel

Делаем первый выпадающий список, который будет состоять из названия диапазонов. Выделяем ячейку Е1 и на вкладке «Данные» выбираем «Проверка данных».

В поле «Тип данных» выберите «Список», в поле источник – или введите «=Сотрудники», или выделите диапазон ячеек, которому присвоено имя.

Первый выпадающий список создан. Теперь в ячейке F2 создадим второй список, который должен зависеть от первого. Если в первом выберем «Имя», во втором отобразится список имен, если выберем «Фамилия» – список фамилий.

Выделяем ячейку и кликаем по кнопочке «Проверка данных». В поле «Тип данных» выбираем «Список», в поле источник прописываем следующее: =ДВССЫЛ($Е$1). Здесь Е1 – это ячейка с первым выпадающим списком.

По такому принципу можно делать зависимые выпадающие списки.

Если в дальнейшем, нужно будет вписать значения в диапазон, которому задано имя, например, «Фамилия». Перейдите на вкладку «Формулы» и кликните «Диспетчер имен». Теперь в имени диапазона выбираем «Фамилия», и внизу, вместо последней ячейки С3, напишите С10. Нажмите галочку. После этого диапазон увеличится, и в него можно будет дописывать данные, которые автоматически будут появляться в выпадающем списке.

Теперь Вы знаете, как сделать раскрывающийся список в Excel.

Поделитесь статьёй с друзьями:

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

Спасибо, всё получилось.

Огромное спасибо автору за «зависимые выпадающие списки». Сам бился два дня, а ваша статья очень помогла. Всё работает на разных листах. Получил как раз то, что и хотел.

Автору спасибо за хорошую статью! Как оказалось, есть масса возможностей их создания!

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

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

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

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

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

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

Так, например, если мы выберем категорию Развлечения, то в списке подкатегорий должно быть: Кинотеатр, Театр, Бассейн. Очень быстрое решение, если в своем домашнем бюджете вы хотите проанализировать более подробную информацию.

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

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

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

Зависимый выпадающий список подкатегорий

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

Рабочая исходная таблица Excel

В эту таблицу необходимо ввести категорию и рядом с ней ее подкатегории. Имя категории должно повторяться столько раз, сколько есть подкатегорий. Очень важно, чтобы данные были отсортированы по столбцу Категория. Это будет чрезвычайно важно, когда позже будем писать формулу.

Можно было бы также использовать таблицы с первого изображения. Разумеется, формулы были бы разными. Однажды даже я нашел в сети такое решение, но оно мне не понравилось, потому что там была фиксированная длина списка: а значит, иногда список содержал пустые поля, а иногда и не отображал все элементы. Конечно, я могу избежать этого ограничения, но признаюсь, что мне больше нравится мое решение, поэтому к тому решению я больше не возвращался.

Ну хорошо. Теперь, по очереди я опишу шаги создания зависимого выпадающего списка.

1. Имена диапазонов ячеек

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

Присвоим имена двум диапазонам. Список всех категорий и рабочий список категорий. Это будут диапазоны A3:A5 (список категорий в зеленой таблице на первом изображении) и G3:G15 (список повторяющихся категорий в фиолетовой рабочей таблице).

Для того чтобы назвать список категорий:

  1. Выберите диапазон A3:A5.
  2. В поле имени (поле слева от строки формулы) введите название «Категория».
  3. Подтвердите с помощью клавиши Enter.

Такое же действие совершите для диапазона рабочего списка категорий G3:G15, который вы можете вызвать «Рабочий_Список». Этот диапазон мы будем использовать в формуле.

2. Создание раскрывающегося списка для категории

Это будет просто:

  1. Выберите ячейку, в которую вы хотите поместить список. В моем случае это A12.
  2. В меню «ДАННЫЕ» выберите инструмент «Проверка данных». Появится окно «Проверка вводимых значений».
  3. В качестве типа данных выберите «Список».
  4. В качестве источника введите: =Категория (рисунок ниже).
  5. Подтвердите с помощью OK.

Проверка вводимых значений – Категория.

Результат следующий:

Раскрывающийся список для категории.

3. Создание зависимого выпадающего списка для подкатегории

Сейчас будет весело. Создавать списки мы умеем — только что это сделали для категории. Только единственный вопрос: «Как сказать Excelю выбрать только те значения, которые предназначены для конкретной категории?» Как вы, наверное, догадываетесь, я буду использовать здесь рабочую таблицу и, конечно же, формулы.

Начнем с того, что мы уже умеем, то есть с создания раскрывающегося списка в ячейке B12. Поэтому выберите эту ячейку и нажмите «Данные» / «Проверка данных», а в качестве типа данных — «Список».

В источник списка введите следующую формулу:

Вид окна «Проверка вводимых значений»:

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

Как видите, весь трюк зависимого списка состоит в использовании функции СМЕЩ. Ну хорошо, почти весь. Помогают ей функции ПОИСКПОЗ и СЧЕТЕСЛИ. Функция СМЕЩ позволяет динамически определять диапазоны. Вначале мы определяем ячейку, от которой должен начинаться сдвиг диапазона, а в последующих аргументах определяем его размеры.

В нашем примере диапазон будет перемещаться по столбцу Подкатегория в рабочей таблице (G2:H15). Перемещение начнем от ячейки H2, которая также является первым аргументом нашей функции. В формуле ячейку H2 записали как абсолютную ссылку, потому что предполагаю, что мы будем использовать раскрывающийся список во многих ячейках.

Поскольку рабочая таблица отсортирована по Категории, то диапазон, который должен быть источником для раскрывающегося списка, будет начинаться там, где впервые встречается выбранная категория. Например, для категории Питание мы хотим отобразить диапазон H6:H11, для Транспорта — диапазон H12: H15 и т. д. Обратите внимание, что все время мы перемещаемся по столбцу H, а единственное, что изменяется, это начало диапазона и его высота (то есть количество элементов в списке).

Начало диапазона будет перемещено относительно ячейки H2 на такое количество ячеек вниз (по числу), сколько составляет номер позиции первой встречающейся категории в столбце Категория. Проще будет понять на примере: диапазон для категории Питание перемещен на 4 ячейки вниз относительно ячейки H2 (начинается с 4 ячейки от H2). В 4-ой ячейке столбца Подкатегория (не включая заголовок, так как речь идет о диапазоне с именем Рабочий_Список), есть слово Питание (его первое появление). Мы используем этот факт собственно для определения начала диапазона. Послужит нам для этого функция ПОИСКПОЗ (введенная в качестве второго аргумента функции СМЕЩ):

Высоту диапазона определяет функция СЧЕТЕСЛИ. Она считает все встречающиеся повторения в категории, то есть слово Питание. Сколько раз встречается это слово, сколько и будет позиций в нашем диапазоне. Количество позиций в диапазоне — это его высота. Вот функция:

Конечно же, обе функции уже включены в функцию СМЕЩ, которая описана выше. Кроме того, обратите внимание, что как в функции ПОИСКПОЗ, так и в СЧЕТЕСЛИ, есть ссылка на диапазон названный Рабочий_Список. Как я уже упоминал ранее, не обязательно использовать имена диапазонов, можно просто ввести $H3: $H15. Однако использование имен диапазонов в формуле делает ее проще и легко читаемой.

Вот и все:

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

Одна формула, ну не такая уж и простая, но облегчающая работу и защищает от ошибок при вводе данных!

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

Два варианта использования этого трюка я уже представил. Интересно, как вы его будете использовать?

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

Способ 1 — горячие клавиши и раскрывающийся список в excel

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

Этот же пункт меню можно запустить сочетанием клавиш Alt+»Стрелка вниз» и программа автоматически предложит в выпадающем списке значения ячеек, которые вы ранее заполняли данными. На изображении ниже программа предложила 4 варианта заполнения (дублирующиеся данные Excel не показывает). Единственное условие работы данного инструмента — это между ячейкой, в которую вы вводите данные из списка и самим списком не должно быть пустых ячеек.

Использование горячих клавиш для раскрытия выпадающего списка данных

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

Выпадающий список может работать и в верхней части с данными, которые ниже ячейки

Способ 2 — самый удобный, простой и наиболее гибкий

Данный способ предполагает создание отдельных данных для списка. При чем данные могут находится как на листе с таблицей, так и на другом листе файла Excel.

  1. Сперва необходимо создать список данных, который будет  источником данных для подстановки в выпадающий список в excel. Выделите данные и нажмите правой кнопкой мыши. В выпадающем списке выберите пункт «Присвоить имя…».

    Создание набора данных для списка

  2. В окне «Создание имени» задайте имя для вашего списка (это имя дальше будет использоваться в формуле подстановки). Имя должно быть без пробелов и начинаться с буквы.

    Введите имя для набора данных

  3. Выделите ячейки (можно сразу несколько ячеек), в которых планируется создать выпадающий список. Во вкладке «ДАННЫЕ» вверху документа нажмите на «Проверка данных».

    Создать выпадающий список можно сразу для нескольких ячеек

  4. В окне проверка вводимых значение в качестве типа данных задайте «Список». В строке «Источник:» введите знак равно и имя для ранее созданного списка. Данная формула позволит ввести значения только из списка, т.е. произведет проверку введенного значения и предложит варианты. Эти варианты и будут выпадающим списком.

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

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

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

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

Способ 3 — как в excel сделать выпадающий список с использованием ActiveX

Чтобы воспользоваться этим способом, необходимо чтобы у вас была включена вкладка «РАЗРАБОТЧИК». По умолчанию эта вкладка отсутствует. Чтобы ее включить:

  1. Нажмите на «Файл» в левом верхнем углу приложения.
  2. Выберите пункт «Параметры» и нажмите на него.
  3. В окне настройки параметров Excel во вкладке «Настроить ленту» поставьте галочку напротив вкладки «Разработчик».

Включение вкладки «РАЗРАБОТЧИК»

Теперь вы сможете воспользоваться инструментом «Поле со списком (Элемент ActiveX)». Во вкладке «РАЗРАБОТЧИК» нажмите на кнопку «Вставить» и найдите в элементах ActiveX кнопку «Поле со списком (Элемент ActiveX)». Нажмите на нее.

Нарисуйте данный объект в excel выпадающий список в ячейке, где вам необходим выпадающий список.

Теперь необходимо настроить данный элемент. Чтобы это сделать, необходимо включить «Режим конструктора» и нажать на кнопку «Свойства». У вас должно открыться окно свойств (Properties).

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

Но нас на этапе создания интересуют только три основных:

  1. ListFillRange — указывает диапазон ячеек, из которых будут браться значения для выпадающего списка. В моем примере я указал два столбца (A2:B7 — дальше покажу как это использовать). Если необходимо только одни значения указывается A2:A7.
  2. ListRows — количество данных в выпадающем списке. Элемент ActiveX отличается от первого способа тем, что можно указать большое количество данных.
  3. ColumnCount — указывает сколько столбцов данных указывать в выпадающем списке.

В строке ColumnCount я указал значение 2 и теперь в списке выпадающие данные выглядят вот так:

Как видите получился выпадающий список в excel с подстановкой данных из второго столбца с данными «Поставщик».

Помогаю со студенческими работами здесь

Зависимый выпадающий список
Здравствуйте, уважаемые участники форума! Столкнулся со следующей проблемой… В общем мне нужно…

Нужно весь столбец скопировать, вставить в столбец A, так, чтобы вставились четырехзначные числа
Есть столбе G и столбец A. в столбце G 5значные числа, нужно весь столбец скопировать, вставить в…

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

Как сделать зависимый список?
Как в Дельфи сделать зависимый список.
В экселе это называется ВПР
на пример создается выпадающий…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

6

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