Зависимый выпадающий список в excel с подстановкой данных

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

Способ 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 и Google таблицах смотрите ниже. Приятного просмотра!

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

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

Указываем диапазон с данными для выпадающего списка

Выпадающий список готов!

Простой выпадающий список готов

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

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

Существует несколько вариантов. Один из них, это сочетание именованных диапазонов и функции ДВССЫЛ.

Именованный диапазон в Excel – это ячейка (или диапазон ячеек), которой присвоено имя.

Функция ДВССЫЛ в Excel преобразовывает текст в ссылку.

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

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

Алгоритм создания именованного диапазона: выделяем диапазон, далее «Формулы» – «Задать имя».

Пример создания именованного диапазона

У нас получится 5 именованных диапазона: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.

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

Ошибка в создании именованного диапазона

Поэтому, вместо дефисов в названии города Ростов-на-Дону мы укажем допустимый символ – нижнее подчеркивание.

Корректное имя для названия с дефисами

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

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

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

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

Проверка данных. Функция ДВССЫЛ

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

Зависимый выпадающий список функцией ДВССЫЛ

Зависимый выпадающий список функцией ДВССЫЛ (2)

Меняя значения в ячейке D2, меняются списки в ячейке E2. За исключением города Ростов-на-Дону. В выпадающем списке городов (ячейка D2), в названии используется дефис, а в именованном диапазоне – нижнее подчеркивание.

Для города, в названии которого содержатся дефисы, выпадающие списки пока не отражаются

Чтобы устранить это несоответствие, перед тем как применять функцию ДВССЫЛ, обработаем значения функцией ПОДСТАВИТЬ.

Функция ПОДСТАВИТЬ заменяет определенный текст в текстовой строке на новое значение. Вместо: =ДВССЫЛ(D2) укажем: =ДВССЫЛ(ПОДСТАВИТЬ(D2;"-";"_"))

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

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

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

Выпадающий список городов в Excel

Как автоматически обновить выпадающий список в Excel, при добавлении новых данных?

Для начала создадим из диапазона данных «умную» таблицу Excel. Сделать это можно сочетанием клавиш Ctrl+T.

Создаем умную таблицу Excel

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

Автоматическое обновление данных выпадающего списка

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

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

Создаем вспомогательный столбец

И включим новый столбец в диапазон «умной» таблицы. «Конструктор» – «Размер таблицы». Вместо =$B$1:$C$17 указываем: =$A$1:$C$17

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

Вспомогательный столбец включен в диапазон умной таблицы Excel

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

=ЕСЛИОШИБКА(ИНДЕКС([Город];ПОИСКПОЗ(0;СЧЁТЕСЛИ(A$1:A1; [Город]);0));"")

Чтобы Excel воспринял нашу формулу, как формулу массива, жмем Ctrl + Shift + Enter.

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

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

Автоматическое добавление новых уникальных значений

Из списка уникальных городов создадим именованный диапазон (мы назвали его — «Уникальные»), который затем используем в качестве источника для выпадающего списка городов.

Именованный диапазон для уникальных значений

«Проверка данных» – «Список». В источнике данных, вместо предыдущего диапазона с названиями городов =$B$2:$B$18, задаем имя – =Уникальные

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

Лишние пустые строки в выпадающем списке

Чтобы их убрать, доработаем именованный диапазон «Уникальные». В диспетчере имен, вместо диапазона =Таблица1[Уникальные] используем: =СМЕЩ(Лист1!$A$2;0;0;СЧЁТЗ(Таблица1[Уникальные])-СЧИТАТЬПУСТОТЫ(Таблица1[Уникальные]))

где: Лист1!$A$2 – ячейка со значением первого пункта списка уникальных значений

Таблица1[Уникальные] – столбец с перечнем всех пунктов списка

Убираем лишние пустые строки в выпадающем списке функцией СМЕЩ

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

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

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

Как сделать автоматически обновляемый зависимый список? Способ 2: СМЕЩ+ПОИСКПОЗ+СЧЁТЕСЛИ

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

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

В ячейку F2 (зависимый выпадающий список адресов) вместо: =ДВССЫЛ(ПОДСТАВИТЬ(E2;"-";"_")) вставляем: =СМЕЩ($B$2;ПОИСКПОЗ(E2;$B$2:$B$18;0)-1;1;СЧЁТЕСЛИ($B$2:$B$18;E2);1)

Функция СМЕЩ для зависимого выпадающего списка

Для корректной работы этого способа, данные в столбце с городом должны быть отсортированы. Функция СМЕЩ будет динамически ссылаться только на ячейки адресов определенного города.

Аргументы функции:

Ссылка – берем первую ячейку нашего списка, т.е. $B$2

Смещение по строкам – считает функция ПОИСКПОЗ, которая выдает порядковый номер ячейки с выбранным городом (E2) в заданном диапазоне ($B$2:$B$18)

Смещение по столбцам = 1, т.к. мы хотим сослаться на адреса в соседнем столбце (С)

Высота – вычисляем с помощью функции СЧЁТЕСЛИ, которая подсчитывает количество встретившихся в диапазоне ($B$2:$B$18) нужных нам значений – названий городов (E2)

Ширина = 1, т.к. нам нужен один столбец с адресами

Зависимый автообновляемый выпадающий список готов

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

С выпадающими списками в Google таблицах все немного иначе.

Выпадающий список в Google таблицах

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

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

«Данные» – «Настроить проверку данных» – «Значение из диапазона»

Создание выпадающего списка в Google таблицах

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

Выпадающий список в Google таблицах

Зависимый выпадающий список в Google таблицах

Возвращаемся к двум основным способам, которые мы рассмотрели в Excel.

Способ 1: именованные диапазоны + ДВССЫЛ

Создадим именованные диапазоны с адресами. Имя каждому присвоим в соответствии с городом.

Выделяем ячейки – «Данные» – «Настроить именованные диапазоны»

Указываем имя и жмем готово. У нас получится 5 именованных диапазонов: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.

Также, как и в Excel, в Google таблицах к именам диапазонов есть список требований.

Ошибка при введении некорректного имени

Поэтому, вместо дефисов в названии города Ростов-на-Дону укажем допустимый символ – нижнее подчеркивание.

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

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

В ячейке F1 введем: =ДВССЫЛ(ПОДСТАВИТЬ(D2;"_";"-"))

Функция ДВССЫЛ в действии

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

Зависимый выпадающий список в Google таблицах готов

Зависимый выпадающий список в Google таблицах готов (2)

При дальнейшей работе вспомогательный столбец F можно скрыть. Минус такого метода – отсутствие динамичности. Если мы добавим новый город и адрес, то они не появятся в созданных выпадающих списках. Но это решаемо!

Как автоматически обновить выпадающий список в Google таблицах при добавлении новых данных?

В выпадающем списке городов, достаточно расширить диапазон и вместо =$A$2:$A$16 указать: =$A$2:$A. Теперь при добавлении нового города он автоматически появляется в выпадающем списке.

Автоматическое обновление выпадающего списка

Как автоматически обновить зависимый выпадающий список в Google таблицах при добавлении новых данных?

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

В ячейке G6 укажем:

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

Важно: для корректной работы этого способа, данные в столбце с городом должны быть отсортированы от А до Я, или от Я до А. Подробнее о том, как в данном случае работает функция СМЕЩ читайте выше в примере с Excel.

Функция СМЕЩ для зависимого выпадающего списка

Заключительным этапом поместим результат функции СМЕЩ в диапазон выпадающего списка.

Задаем диапазон для зависимого выпадающего списка

Зависимый выпадающий список в Google таблицах готов

Скроем вспомогательные столбцы для удобства.

Скрыли вспомогательные столбцы

Работа выпадающих списков в Google таблицах хоть и схожа с Excel, но все же имеет свои отличительные особенности. Добавляем новые данные, сортируем список и пользуемся зависимыми, автоматически обновляемыми выпадающими списками.

Заключение

Теперь Вам известны несколько способов, как создать выпадающие списки в Excel и Google таблицах. Смотрите примеры и создавайте нужные Вам выпадающие списки.

Изучить работу в программе Excel Вы можете на наших курсах: бесплатные онлайн-курсы по Excel

Пройдите бесплатный тест на нашем сайте, чтобы объективно оценить свой уровень владения инструментами и функциями программы Excel: пройти бесплатный тест

У нас Вы можете заказать выполнение задач по MS Excel и Google таблицам

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

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

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

Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».

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

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

  1. Вручную через «точку-с-запятой» в поле «Источник».
  2. Ввод значений.

  3. Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
  4. Проверка вводимых значений.

  5. Назначить имя для диапазона значений и в поле источник вписать это имя.

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

Любой из вариантов даст такой результат.



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

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

  1. Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
  2. Форматировать как таблицу.

  3. Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
  4. Выпадающий список.

  5. Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:

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

Протестируем. Вот наша таблица со списком на одном листе:

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

Добавим в таблицу новое значение «елка».

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

Теперь удалим значение «береза».

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

Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.

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

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

  1. Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
  2. Создание имени.

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

  6. Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
  7. Private Sub Worksheet_Change(ByVal Target As Range)
     
    Dim lReply As Long
     
        If Target.Cells.Count > 1 Then Exit Sub
        If Target.Address = "$C$2" Then
         If IsEmpty(Target) Then Exit Sub
           If WorksheetFunction.CountIf(Range("Деревья"), Target) = 0 Then
              lReply = MsgBox("Добавить введенное имя " & _
                             Target & " в выпадающий список?", vbYesNo + vbQuestion)
              If lReply = vbYes Then
                  Range("Деревья").Cells(Range("Деревья").Rows.Count + 1, 1) = Target
              End If
           End If
         End If
    End Sub
     
  8. Сохраняем, установив тип файла «с поддержкой макросов».
  9. Сообщение об ошибке.

  10. Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».

Макрос.

Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».

Нажмем «Да» и добавиться еще одна строка со значением «баобаб».

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

Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.

  1. Делаем активной ячейку, куда хотим поместить раскрывающийся список.
  2. Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).

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

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

Возьмем три именованных диапазона:

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

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

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

  3. Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
  4. Таблица со списком.

  5. Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
  6. Второй раскрывающийся список.

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

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

    1. Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
    2. Private Sub Worksheet_Change(ByVal Target As Range)
          On Error Resume Next
          If Not Intersect(Target, Range("Е2:Е9")) Is Nothing And Target.Cells.Count = 1 Then
              Application.EnableEvents = False
              If Len(Target.Offset(0, 1)) = 0 Then
                  Target.Offset(0, 1) = Target
              Else
                  Target.End(xlToRight).Offset(0, 1) = Target
              End If
              Target.ClearContents
              Application.EnableEvents = True
          End If
      End Sub
       
    3. Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
    4. Private Sub Worksheet_Change(ByVal Target As Range)
          On Error Resume Next
          If Not Intersect(Target, Range("Н2:К2")) Is Nothing And Target.Cells.Count = 1 Then
              Application.EnableEvents = False
              If Len(Target.Offset(1, 0)) = 0 Then
                  Target.Offset(1, 0) = Target
              Else
                  Target.End(xlDown).Offset(1, 0) = Target
              End If
              Target.ClearContents
              Application.EnableEvents = True
          End If
      End Sub
       
    5. Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.

    6. Private Sub Worksheet_Change(ByVal Target As Range)
          On Error Resume Next
          If Not Intersect(Target, Range("C2:C5")) Is Nothing And Target.Cells.Count = 1 Then
              Application.EnableEvents = False
              newVal = Target
              Application.Undo
              oldval = Target
              If Len(oldval) <> 0 And oldval <> newVal Then
                  Target = Target & "," & newVal
              Else
                  Target = newVal
              End If
              If Len(newVal) = 0 Then Target.ClearContents
              Application.EnableEvents = True
          End If
      End Sub

    Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.

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

    1. На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
    2. Вставить ActiveX.

    3. Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
    4. Элемент ActiveX.

    5. Жмем «Свойства» – открывается перечень настроек.
    6. Свойства ActiveX.

    7. Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.

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

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

Связанные выпадающие списки в 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!СписокВнеш»);​

Skip to content

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=F3

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

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

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

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

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

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

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

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

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

=ford

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Значений в списке может быть много, но в обзор помещается до 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, связанные выпадающие списки

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

Ваше имя

Какой-то текст ошибки

Email

Какой-то текст ошибки

Содержание

  1. Видеоурок
  2. Как создать выпадающий список в Экселе на основе данных из перечня
  3. Как сделать выпадающий список в Excel используя ручной ввод данных
  4. Как создать раскрывающийся список в Эксель с помощью функции СМЕЩ
  5. Как эта формула работает?
  6. Как сделать выпадающий список в Excel с подстановкой данных (с использованием функции СМЕЩ)
  7. Как создать выпадающий список в Excel с автоматической подстановкой данных
  8. Как скопировать выпадающий список в Excel
  9. Как выделить все ячейки, содержащие выпадающий список в Экселе
  10. Как сделать зависимые выпадающие списки в Excel

Видеоурок

Как создать выпадающий список в Экселе на основе данных из перечня

Представим, что у нас есть перечень фруктов:

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

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

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

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

  • Во всплывающем окне «Проверка вводимых значений» на вкладке «Параметры» в типе данных выбрать «Список«:

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

  • В поле «Источник» ввести диапазон названий фруктов =$A$2:$A$6 или просто поставить курсор мыши в поле ввода значений «Источник» и затем мышкой выбрать диапазон данных:

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

Если вы хотите создать выпадающие списки в нескольких ячейках за раз, то выберите все ячейки, в которых вы хотите их создать, а затем выполните указанные выше действия. Важно убедиться, что ссылки на ячейки являются абсолютными (например, $A$2), а не относительными (например, A2 или A$2 или $A2).

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

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

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

  • Выбрать ячейку, в которой мы хотим создать выпадающий список;
  • Перейти на вкладку «Данные» => раздел «Работа с данными» на панели инструментов => выбрать пункт «Проверка данных«:

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

  • Во всплывающем окне «Проверка вводимых значений» на вкладке «Параметры» в типе данных выбрать «Список«:

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

  • В поле «Источник» ввести значение «Да; Нет».
  • Нажимаем «ОК«

Да - Нет

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

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

Как создать раскрывающийся список в Эксель с помощью функции СМЕЩ

Наряду со способами описанными выше, вы также можете использовать формулу СМЕЩ для создания выпадающих списков.

Например, у нас есть список с перечнем фруктов:

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

Для того чтобы сделать выпадающий список с помощью формулы СМЕЩ необходимо сделать следующее:

  • Выбрать ячейку, в которой мы хотим создать выпадающий список;
  • Перейти на вкладку «Данные» => раздел «Работа с данными» на панели инструментов => выбрать пункт «Проверка данных«:

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

  • Во всплывающем окне «Проверка вводимых значений» на вкладке «Параметры» в типе данных выбрать «Список«:

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

  • В поле «Источник» ввести формулу: =СМЕЩ(A$2$;0;0;5)
  • Нажать «ОК«

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

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

На примере выше мы использовали формулу =СМЕЩ(ссылка;смещ_по_строкам;смещ_по_столбцам;[высота];[ширина]).

Эта функция содержит в себе пять аргументов. В аргументе «ссылка» (в примере $A$2) указывается с какой ячейки начинать смещение. В аргументах «смещ_по_строкам» и «смещ_по_столбцам» (в примере указано значение «0») — на какое количество строк/столбцов нужно смещаться для отображения данных. В аргументе «[высота]» указано значение «5», которое обозначает высоту диапазона ячеек. Аргумент «[ширина]» мы не указываем, так как в нашем примере диапазон состоит из одной колонки.

Используя эту формулу, система возвращает вам в качестве данных для выпадающего списка диапазон ячеек, начинающийся с ячейки $A$2, состоящий из 5 ячеек.

Как сделать выпадающий список в Excel с подстановкой данных (с использованием функции СМЕЩ)

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

Для создания списка потребуется:

  • Выбрать ячейку, в которой мы хотим создать выпадающий список;
  • Перейти на вкладку «Данные» => раздел «Работа с данными» на панели инструментов => выбрать пункт «Проверка данных«;
  • Во всплывающем окне «Проверка вводимых значений» на вкладке «Параметры» в типе данных выбрать «Список«;
  • В поле «Источник» ввести формулу: =СМЕЩ(A$2$;0;0;СЧЕТЕСЛИ($A$2:$A$100;»<>»))
  • Нажать «ОК«

В этой формуле, в аргументе «[высота]» мы указываем в качестве аргумента, обозначающего высоту списка с данными —  формулу СЧЕТЕСЛИ, которая рассчитывает в заданном диапазоне A2:A100 количество не пустых ячеек.

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

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

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

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

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

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

  • На панели инструментов нажимаем пункт «Форматировать как таблицу«:

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

  • Из раскрывающегося меню выбираем стиль оформления таблицы:

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

  •  Нажав клавишу «ОК» во всплывающем окне, подтверждаем выбранный диапазон ячеек:

Автоматическая подстановка данных в Excel

  • Затем, выделим диапазон данных таблицы для выпадающего списка и присвоим ему имя в левом поле над столбцом «А»:

Присвоить имя таблицы в Excel

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

  • Выбрать ячейку, в которой мы хотим создать список;
  • Перейти на вкладку «Данные» => раздел «Работа с данными» на панели инструментов => выбрать пункт «Проверка данных«:

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

  • Во всплывающем окне «Проверка вводимых значений» на вкладке «Параметры» в типе данных выбрать «Список«:

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

  • В поле источник указываем =»название вашей таблицы». В нашем случае мы ее назвали «Список«:

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

  • Готово! Выпадающий список создан, в нем отображаются все данные из указанной таблицы:

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

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

Автоматическая подстановка данных в Excel

  • Таблица автоматически расширит свой диапазон данных. Выпадающий список соответственно пополнится новым значением из таблицы:

Автоматическая подстановка данных в выпадающий список эксель

Как скопировать выпадающий список в Excel

В Excel есть возможность копировать созданные выпадающие списки. Например, в ячейке А1 у нас есть выпадающий список, который мы хотим скопировать в диапазон ячеек А2:А6.

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

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

  • нажмите левой клавишей мыши на ячейку с выпадающим списком, которую вы хотите скопировать;
  • нажмите сочетание клавиш на клавиатуре CTRL+C;
  • выделите ячейки в диапазоне А2:А6, в которые вы хотите вставить выпадающий список;
  • нажмите сочетание клавиш на клавиатуре CTRL+V.

Так, вы скопируете выпадающий список, сохранив исходный формат списка (цвет, шрифт и.т.д). Если вы хотите скопировать/вставить выпадающий список без сохранения формата, то:

  • нажмите левой клавишей мыши на ячейку с выпадающим списком, который вы хотите скопировать;
  • нажмите сочетание клавиш на клавиатуре CTRL+C;
  • выберите ячейку, в которую вы хотите вставить выпадающий список;
  • нажмите правую кнопку мыши => вызовите выпадающее меню и нажмите «Специальная вставка«;

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

  • В появившемся окне в разделе «Вставить» выберите пункт «условия на значения«:

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

  • Нажмите «ОК«

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

Как выделить все ячейки, содержащие выпадающий список в Экселе

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

  • Нажмите на вкладку «Главная» на Панели инструментов;
  • Нажмите «Найти и выделить» и выберите пункт «Выделить группу ячеек«:

Как найти ячейки с выпадающим списком в Excel

  • В диалоговом окне выберите пункт «Проверка данных«. В этом поле есть возможность выбрать пункты «Всех» и «Этих же«. «Всех» позволит выделить все выпадающие списки на листе. Пункт «этих же» покажет выпадающие списки схожие по содержанию данных в выпадающем меню. В нашем случае мы выбираем «всех«:

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

  • Нажмите «ОК«

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

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

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

Предположим, что у нас есть списки городов двух стран Россия и США:

Функция Indirect (ДВССЫЛ) в Excel

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

  • Создать два именованных диапазона для ячеек «A2:A5» с именем “Россия” и для ячеек «B2:B5» с названием “США”. Для этого нам нужно выделить весь диапазон данных для выпадающих списков:

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

  • Перейти на вкладку «Формулы» => кликнуть в разделе «Определенные имена» на пункт «Создать из выделенного«:

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

  • Во всплывающем окне «Создание имен из выделенного диапазона» поставьте галочку в пункт «в строке выше«. Сделав это, Excel создаст два именованных диапазона «Россия» и «США» со списками городов:

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

  • Нажмите «ОК«
  • В ячейке «D2» создайте выпадающий список для выбора стран «Россия» или «США». Так, мы создадим первый выпадающий список, в котором пользователь сможет выбрать одну из двух стран.

функция INDIRECT (ДВССЫЛ) в Excel

Теперь, для создания зависимого выпадающего списка:

  • Выделите ячейку E2 (или любую другую ячейку, в которой вы хотите сделать зависимый выпадающий список);
  • Кликните по вкладке “Данные” => “Проверка данных”;
  • Во всплывающем окне «Проверка вводимых значений» на вкладке «Параметры» в типе данных выберите «Список«:

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

  • В разделе “Источник” укажите ссылку: =INDIRECT(D2) или =ДВССЫЛ(D2);

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

  • Нажмите «ОК«

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

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

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

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

Содержание

  1. Процесс создания списка
  2. На основе данных из перечня
  3. С ручной записью данных
  4. Создание раскрывающегося списка при помощи функции СМЕЩ
  5. Выпадающий список в Excel с подстановкой данных (+ с использованием функции СМЕЩ)
  6. Выпадающий список с данными другого листа или файла Excel
  7. Создание зависимых выпадающих списков
  8. Как выбрать несколько значений из выпадающего списка?
  9. Как сделать выпадающий список с поиском?
  10. Выпадающий список с автоматической подстановкой данных
  11. Как скопировать выпадающий список?
  12. Выделение всех ячеек, содержащих выпадающий список

Процесс создания списка

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

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

1

Количество методов, которыми осуществляется ввод информации во всплывающий перечень, достаточно большое.

  1. Самостоятельное указание элементов списка через точку с запятой в поле «Источник», расположенного на той же вкладке того же диалогового окна.
    Как сделать выпадающий список в Excel
    2
  2. Предварительное указание значений. В поле «Источник» содержится диапазон, где имеется необходимая информация.
    Как сделать выпадающий список в Excel
    3
  3. Указание именованного диапазона. Метод, повторяющий прошлый, но только необходимо предварительно назвать диапазон.
    Как сделать выпадающий список в Excel
    4

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

На основе данных из перечня

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

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

5

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

  1. Выбрать ячейку, отведенную под будущий перечень.
  2. На ленте найти вкладку «Данные». Там осуществляем нажатие по «Проверка данных».
    Как сделать выпадающий список в Excel
    6
  3. Найти пункт «Тип данных» и переключить значение на «Список».
    Как сделать выпадающий список в Excel
    7
  4. В поле, обозначающем опцию «Источник», ввести нужный диапазон. Обратите внимание, что нужно указывать абсолютные ссылки, чтобы при копировании списка информация не смещалась.
    Как сделать выпадающий список в Excel
    8

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

С ручной записью данных

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

Допустим, перед нами стоит задача создать список, содержащий два возможных варианта выбора: да и нет. Чтобы реализовать поставленную задачу, необходимо:

  1. Нажать по ячейке, отведенной под перечень.
  2. Открыть «Данные» и там отыскать знакомый нам раздел «Проверка данных».
    Как сделать выпадающий список в Excel
    9
  3. Снова выбираем тип «Список».
    Как сделать выпадающий список в Excel
    10
  4. Здесь в качестве источника необходимо ввести “Да;Нет”. Видим, что информация при ручном вводе вводится с использованием точки с запятой для перечисления.

После нажатия «ОК» у нас появился следующий результат.

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

11

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

Создание раскрывающегося списка при помощи функции СМЕЩ

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

Откроем лист.

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

12

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

  1. Выбрать интересующую ячейку, где надо разместить будущий список.
  2. Открыть последовательно вкладку «Данные» и окно «Проверка данных».
    Как сделать выпадающий список в Excel
    13
  3. Задаем «Список». Делается это аналогично предыдущим примерам. Наконец, используется такая формула: =СМЕЩ(A$2$;0;0;5). Мы ее вводим там, где задаются ячейки, которые будут использоваться в качестве аргумента.

Потом программой создастся меню с перечнем фруктов.

Синтаксис этой такой:

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

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

Выпадающий список в Excel с подстановкой данных (+ с использованием функции СМЕЩ)

В приведенном случае СМЕЩ позволила создать всплывающее меню, расположенное в фиксированном диапазоне. Недостаток этого метода – после добавления пункта придется самостоятельно редактировать формулу.

Чтобы создать динамический перечень с поддержкой ввода новой информации, необходимо:

  1. Осуществить выделение интересующей ячейки.
  2. Раскрыть вкладку «Данные» и нажать по «Проверка данных».
  3. В открывшемся окошке снова осуществляем выбор пункта «Список» и источником данных указываем такую формулу: =СМЕЩ(A$2$;0;0;СЧЕТЕСЛИ($A$2:$A$100;”<>”))
  4. Нажимаем «ОК».

Здесь содержится функция СЧЕТЕСЛИ, чтобы сразу определять, сколько ячеек заполнено (хотя у нее есть значительно большее количество применений, просто мы записываем ее здесь для конкретной цели).

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

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

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

  1. Активировать ячейку, где размещаем перечень.
  2. Открываем уже знакомое нам окно. В том же месте, где мы ранее указывали источники на другие диапазоны, указывается формула в формате =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”). Естественно, вместо Список1 и Лист1 можно вставлять свои имена книги и листа соответственно. 

Внимание! Имя файла указывается в квадратных скобках. При этом Excel не сможет применять в качестве источника информации файл, закрытый в данный момент.

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

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

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

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

24

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

  1. Создать 1-й перечень с именами диапазонов.
    Как сделать выпадающий список в Excel
    25
  2. В месте ввода источника один за одним выделяются требуемые показатели.
    Как сделать выпадающий список в Excel
    26
  3. Создать 2-й перечень, зависящий от типа растений, который предпочел человек. Как вариант, если в первом указать деревья, то информацией во втором списке станет «дуб, граб, каштан» и дальше. Необходимо записать в месте ввода источника данных формулу =ДВССЫЛ(E3). E3 – ячейка содержащая название диапазона 1.=ДВССЫЛ(E3). E3 – ячейка с наименованием списка 1.

Теперь все готово.

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

27

Как выбрать несколько значений из выпадающего списка?

Иногда нет возможности отдать предпочтение только одному значению, поэтому надо выбрать больше одного. Тогда надо добавить в код страницы макрос. С использованием комбинации клавиш Alt + F11 открывается редактор Visual Basic. И туда вставляется код.

Private Sub Worksheet_Change(ByVal Target As Range)

    On Error Resume Next

    If Not Intersect(Target, Range(«Е2:Е9»)) Is Nothing And Target.Cells.Count = 1 Then

        Application.EnableEvents = False

        If Len(Target.Offset(0, 1)) = 0 Then

            Target.Offset(0, 1) = Target

        Else

            Target.End(xlToRight).Offset(0, 1) = Target

        End If

        Target.ClearContents

        Application.EnableEvents = True

    End If

End Sub 

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

Private Sub Worksheet_Change(ByVal Target As Range)

    On Error Resume Next

    If Not Intersect(Target, Range(«Н2:К2»)) Is Nothing And Target.Cells.Count = 1 Then

        Application.EnableEvents = False

        If Len(Target.Offset(1, 0)) = 0 Then

            Target.Offset(1, 0) = Target

        Else

            Target.End(xlDown).Offset(1, 0) = Target

        End If

        Target.ClearContents

        Application.EnableEvents = True

    End If

End Sub

Ну и наконец, для записи в одной ячейке используется этот код.

Private Sub Worksheet_Change(ByVal Target As Range)

    On Error Resume Next

    If Not Intersect(Target, Range(«C2:C5»)) Is Nothing And Target.Cells.Count = 1 Then

        Application.EnableEvents = False

        newVal = Target

        Application.Undo

        oldval = Target

        If Len(oldval) <> 0 And oldval <> newVal Then

            Target = Target & «,» & newVal

        Else

            Target = newVal

        End If

        If Len(newVal) = 0 Then Target.ClearContents

        Application.EnableEvents = True

    End If

End Sub

Диапазоны редактируемы.

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

В этом случае надо изначально использовать другой тип перечня. Открывается вкладка «Разработчик», после чего надо кликнуть или тапнуть (если экран сенсорный) на элемент «Вставить» – «ActiveX». Там есть «Поле со списком». Будет предложено нарисовать этот список, после чего он добавится в документ.

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

28

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

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

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

  1. Создать набор ячеек для будущего перечня. В случае с нами это набор цветов. Выделяем его.
    Как сделать выпадающий список в Excel
    14
  2. Далее его необходимо отформатировать, как таблицу. Нужно нажать одноименную кнопку и осуществить выбор стиля таблицы.
    Как сделать выпадающий список в Excel
    15
    Как сделать выпадающий список в Excel
    16

Далее нужно подтвердить этот диапазон путем нажатия клавиши «ОК».

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

17

Выделяем получившуюся таблицу и даем ей имя через поле ввода, находящееся сверху столбца А.

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

18

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

  1. Выбрать ячейку, где перечень располагается.
  2. Открыть диалог «Проверка данных».
    Как сделать выпадающий список в Excel
    19
  3. Тип данных выставляем «Список», а как значения даем имя таблицы через знак =.
    Как сделать выпадающий список в Excel
    20
    Как сделать выпадающий список в Excel
    21

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

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

22

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

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

23

Как скопировать выпадающий список?

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

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

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

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

29

После этого откроется диалоговое окно, где следует в меню «Проверка данных» выбрать пункты «Всех» и «Этих же». Первый пункт выделяет все списки, а второй – только похожие на определенные.

Оцените качество статьи. Нам важно ваше мнение:

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

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

Как сделать выпадающий список в Excel 2010 или 2016 с помощью одной командой на панели инструментов? На вкладке «Данные» в разделе «Работа с данными» найдите кнопку «Проверка данных». Нажмите на нее и выберите первый пункт.

Откроется окно. Во вкладке «Параметры» в выпадающем разделе «Тип данных» выберите «Список».

Снизу появится строка для указания источников.

Указывать информацию можно по-разному.

Сначала назначим имя. Для этого создайте на любом листе такую таблицу.

Выделите ее и нажмите правую кнопку мыши. Щелкните по команде «Присвоить имя».

Введите имя в строку сверху.

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

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

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

Подстановка динамических данных Excel

Если Вы добавите какое-то значение в диапазон данных, которые подставляются в перечень, то в нем изменения не произойдет, пока вручную не будут указаны новые адреса. Чтобы связать диапазон и активный элемент, необходимо оформить первый как таблицу. Создайте вот такой массив.

Выделите его и на вкладке «Главная» выберите любой стиль таблицы.

Обязательно поставьте галочку внизу.

Вы получите такое оформление.

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

=ДВССЫЛ("Таблица1[Города]")

Чтобы узнать имя таблицы, перейдите на вкладку «Конструктор» и посмотрите его. Можете поменять имя на любое другое.

Функция ДВССЫЛ создает ссылку на ячейку или диапазон. Теперь ваш элемент в ячейке привязан к массиву данных.

Попробуем увеличить количество городов.

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

 =Адрес_ячейки

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

 =D1

Как убрать (удалить) выпадающий список в Excel

Откройте окно настройки выпадающего списка и выберите «Любое значение» в разделе «Тип данных».

Ненужный элемент исчезнет.

Зависимые элементы

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

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

Это будет название города.

При именовании Санкт-Петербурга и Нижнего Новгорода Вы получите ошибку, так как имя не может содержать пробелов, символов подчеркивания, специальных символов и т.д.

Поэтому переименуем эти города, поставив нижнее подчеркивание.

Первый элемент в ячейке A9 создаем обычным образом.

А во втором пропишем формулу:

=ДВССЫЛ(A9)


Сначала Вы увидите сообщение об ошибке. Соглашайтесь.
Проблема в отсутствии выбранного значения. Как только в первом перечне будет выбран город, второй заработает.

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

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

Для второго перечня нужно ввести формулу:

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

Функция СМЕЩ возвращает ссылку на диапазон, который смещен относительно первой ячейки на определенное число строк и столбцов:=СМЕЩ(начало; вниз; вправо; размер_в_строках; размер_в_столбцах)

ПОИСКПОЗ возвращает номер ячейки с выбранным в первом списке (E6) городом в указанной области SA:$A.
СЧЕТЕСЛИ считает количество совпадений в диапазоне со значением в указанной ячейке (E6).


Мы получили связанные выпадающие списки в Excel с условием на совпадение и поиском диапазона для него.

Мультивыбор

Часто нам необходимо получить несколько значений из набора данных. Можно вывести их в разные ячейки, а можно объединить в одну. В любом случае необходим макрос.
Нажмите на ярлыке листа внизу правую кнопку мыши и выберите команду «Просмотреть код».

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

 Private Sub Worksheet_Change(ByVal Target As Range)
 On Error Resume Next
 If Not Intersect(Target, Range("C2:F2")) Is Nothing And Target.Cells.Count = 1 Then
 Application.EnableEvents = False
 If Len(Target.Offset(1, 0)) = 0 Then
 Target.Offset(1, 0) = Target
 Else
 Target.End(xlDown).Offset(1, 0) = Target
 End If
 Target.ClearContents
 Application.EnableEvents = True
 End If
 End Sub


Обратите внимание, что в строке

 If Not Intersect(Target, Range("E7")) Is Nothing And Target.Cells.Count = 1 Then

Следует проставить адрес ячейки со списком. У нас это будет E7.

Вернитесь на лист Excel и создайте в ячейке E7 список.

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

Следующий код позволит накапливать значения в ячейке.

 Private Sub Worksheet_Change(ByVal Target As Range)
 On Error Resume Next
 If Not Intersect(Target, Range("E7")) Is Nothing And Target.Cells.Count = 1 Then
 Application.EnableEvents = False
 newVal = Target
 Application.Undo
 oldval = Target
 If Len(oldval) <> 0 And oldval <> newVal Then
 Target = Target & "," & newVal
 Else
 Target = newVal
 End If
 If Len(newVal) = 0 Then Target.ClearContents
 Application.EnableEvents = True
 End If
 End Sub

Как только Вы переведете указатель на другую ячейку, Вы увидите перечень выбранных городов. Для создания объединенных ячеек в Excel прочитайте эту статью.

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

Отличного Вам дня!

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