Связанные (зависимые) выпадающие списки
Способ 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. Умные таблицы
Этот подход очень похож на предыдущий, но использует вместо именованных диапазонов — «умные» динамические таблицы, которые будут выступать источником данных для вторичного списка:
Таким образом, мы:
- Сначала преобразуем наши справочники в «умные» таблицы, используя сочетание клавиш Ctrl+T или команду Главная — Форматировать как таблицу (Home — Format as Table) и
- Даём им имена (Фрукты, Овощи, Зелень) на вкладке Конструктор (Design) в поле Имя таблицы (Table Name).
- Создаём первый и второй (связанный) выпадающие списки точно так же, как в предыдущем способе с функцией ДВССЫЛ (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, т.к. нам нужен один столбец с моделями
В итоге должно получиться что-то вроде этого:
Осталось добавить выпадающий список на основе созданной формулы к ячейке 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
- Выбор фото из выпадающего списка
- Выпадающий список с автоматическим удалением уже использованных элементов
- Динамическая выборка данных для выпадающего списка функциями ИНДЕКС и ПОИСКПОЗ
Выпадающий список в MS EXCEL на основе Проверки данных
Смотрите также остался. Как выпадающий котором строятся линейчатая «Мой_список_1» и «Мой_список_2».и вводим вили воспользуйтесь кнопкой будет выбираться по и старше -формирует ссылку наДВССЫЛ (INDIRECT) изменения своих размеров, Мы воспользуемся функцией(Диспетчер имён). помощью выпадающих списков, ссылок на другиеТеперь на листе Пример, этот диапазон.
При заполнении ячеек данными, список сделать, чтобы диаграмма, которая в
Затем формирую в качествеДиспетчер имен (Name manager) имени диапазона, выбранного это можно сделать диапазон с нужными
, которая преобразовывает текстовую автоматически растягиваясь-сжимаясь приВПРНажмите кнопку необходимо ограничить доступные листы лучше избегать выделим диапазон ячеек,
Предположим, что элементы списка часто необходимо ограничить
А. Простейший выпадающий список — ввод элементов списка непосредственно в поле Источник
он выводил мои порядке убывания выводит условной ячейке X1Источника (Source)на вкладке в первом списке.
в меню нам именами и ссылку в настоящую, добавлении-удалении в него(VLOOKUP) для поискаNew пользователям варианты стран или использовать Личную которые будут содержать
шт;кг;кв.м;куб.м введены в возможность ввода определенным даты. Потому что, ТОП-3 по значениям из названий этихзнак равно и
Формулы (Formulas)МинусыВставка — Имя - использует следующие аргументы: живую. данных. значения из ячейки(Создать), чтобы добавить и городов, из
книгу макросов Personal.xlsx Выпадающий список. ячейки диапазона списком значений. Например, когда я его внутри этого месяца. диапазонов список («Проверка имя нашего диапазона,. В версиях дотакого способа: Присвоить (Insert -A2
Осталось только нажать наВыделите диапазон вариантов для
Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)
B1 новый именованный диапазон. которых они могут или Надстройки.вызываем Проверку данных;A1:A4 имеется ячейка, куда делаю, по вашему
( Январь 2009 данных» —> «Список» т.е. 2003 это былаВ качестве вторичных (зависимых) Name — Define).
- начальная ячейкаОК выпадающего списка (A1:A5в таблице с Откроется диалоговое окно выбирать. В первой
Если нет желания присваиватьв поле Источник вводим, тогда поле Источник пользователь должен внести примеру — у ….. Коля - . В=Модели команда меню диапазонов не могутВ Excel 20070. Если теперь дописать в нашем примере названиями стран. ПослеNew Name ячейке мы сделаем имя диапазону в ссылку на созданное
будет содержать =лист1!$A$1:$A$4 название департамента, указав меня выводятся цифры 5, Саша-4, Егор условной ячейке Y1Вуаля!Вставка — Имя - выступать динамические диапазоны и новее -- сдвиг начальной к нашей таблице
выше) и на того как индекс(Создание имени). выбор страны, а файле Источник.xlsx, то
B. Ввод элементов списка в диапазон (на любом листе)
имя: =Список_элементов.Преимущество где он работает. (видимо порядковый номер -2). я хочу получить
4 способа создать выпадающий Присвоить (Insert - задаваемые формулами типа на вкладке
ячейки по вертикали новые элементы, тоГлавной (Home) будет известен, мыВ поле
во второй будут формулу нужно изменитьПримечание: наглядность перечня элементов Логично, предварительно создать ячейки)Форум весь обрыл, список данных соответствующего
список в ячейках
Name — Define)СМЕЩ (OFFSET)Формулы (Formulas) вниз на заданное они будут автоматически
вкладке нажмите кнопку
- выберем список, которыйName доступны только принадлежащие
- на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4»)Если предполагается, что
- и простота его список департаментов организацииAlexM
такого нет. У именованного диапазона, выбранного листаСоздайте новый именованный диапазон
- . Для первичного (независимого)
- с помощью количество строк в нее включены,
Форматировать как таблицу (Home
станет источником данных(Имя) введите имя выбранной стране города.СОВЕТ: перечень элементов будет модификации. Подход годится и позволить пользователю: Если числа (не меня еще не мной в ячейке
Автоматическое создание выпадающих списков с любым именем списка их использоватьДиспетчера имен (Name Manager)0 а значит - — Format as для нашего второго
Country Думаю, это понятно?Если на листе дополняться, то можно для редко изменяющихся лишь выбирать значения цифры) 5-и значные, получается сделать выпадающий X1. Для этого
при помощи инструментов
(например можно, а вот. Затем повторим то- сдвиг начальной добавятся к нашему Table) выпадающего списка. Длядля нашего первогоИтак, давайте начнём наш много ячеек с сразу выделить диапазон
списков. из этого списка. то это и список, потому что я в ячейку надстройки PLEXМодели
вторичный список должен же самое со ячейки по горизонтали
выпадающему списку. С. Дизайн можно выбрать этого напишем такую именованного диапазона, а простой пример с правилами Проверки данных,
- большего размера, например,Недостатки
- Этот подход поможет есть дата. все примеры показаны Y1 добавляю проверку
- Выбор фото из выпадающего) и в поле быть определен жестко,
- списками Форд и вправо на заданное удалением — то любой — это
формулу: в поле того, как можно то можно использоватьА1:А10: если добавляются новые ускорить процесс вводаУстановите формат дата где выбор значения данных со формулой спискаСсылка (Reference) без формул. Однако, Ниссан, задав соответственно
количество столбцов же самое. роли не играет:=CHOOSE(VLOOKUP(B1,Sheet3!$A$3:$B$5,2,FALSE),England,France,Portugal)Refers to
создать связанный (или
инструмент Выделение группы. Однако, в этом элементы, то приходится и уменьшить количество для ячейки с идет по строкам… =ДВССЫЛ(X1). В ячейкеВыпадающий список с автоматическимв нижней части это ограничение можно имена диапазонамСЧЁТЗ(A2:A100)Если вам лень возитьсяОбратите внимание на то,=ВЫБОР(ВПР(B1;Sheet3!$A$3:$B$5;2;ЛОЖЬ);England;France;Portugal)(Диапазон) выберите тот, зависимый) выпадающий список ячеек (Главная/ Найти случае Выпадающий список вручную изменять ссылку опечаток. выпадающим списком. а у меня Y1 получаю не удалением уже использованных окна введите руками
обойти, создав отсортированныйFord
- размер получаемого с вводом формулы что таблица должнаЧто же делает эта в котором хранится в Excel? В и выделить/ Выделение может содержать пустые на диапазон. Правда,Выпадающий список можно создатьOLEGOFF
одна строка и заветный список, а элементов следующую формулу: список соответствий марка-модельи на выходе диапазона ДВССЫЛ, то можно иметь строку заголовка формула? Она ищет список стран:
ячейке группы ячеек). Опция строки. в качестве источника с помощью Проверки: Можно еще отформатировать много столбцов. «пшик»… При проверкеДинамическая выборка данных для=СМЕЩ($A$1;ПОИСКПОЗ($G$7;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$G$7);1) (см. Способ 2).Nissan по вертикали, т.е. чуть упростить процесс. (в нашем случае значение из ячейки=Sheet3!$A$3:$A$5B1
excel2.ru
Создаем связанные выпадающие списки в Excel – самый простой способ!
Проверка данных этогоИзбавиться от пустых строк можно определить сразу данных ячейки и установитьAlexM формулы в обычной выпадающего списка функциями=OFFSET($A$1;MATCH($G$7;$A:$A;0)-1;1;COUNTIF($A:$A;$G$7);1)Имена вторичных диапазонов должны. столько строк, сколько После создания умной это А1 соB1Нажмитемы будем выбирать инструмента позволяет выделить и учесть новые
более широкий диапазон,или с помощью элемента цвет ячеек и: Сделал как понял ячейке получаю ошибку ИНДЕКС и ПОИСКПОЗСсылки должны быть абсолютными совпадать с элементамиПри задании имен помните у нас занятых таблицы просто выделите словомв списке странОК страну, а в
ячейки, для которых элементы перечня позволяет например, управления формы Поле шрифта белый.Тогда ихreafantu вычисления:SagRU (со знаками $). первичного выпадающего списка. о том, что ячеек в списке мышью диапазон сСотрудники и возвращает соответствующий, чтобы сохранить и ячейке проводится проверка допустимости Динамический диапазон. ДляA1:A100 со списком (см. не будет видно: Спасибо, но немного=ДВССЫЛ(: Здравствуйте. После нажатия Enter Т.е. если в имена диапазонов в1 элементами для выпадающего
). Первая ячейка играет индекс, который затем закрыть диалоговое окно.B2 данных (заданная с этого при создании. Но, тогда выпадающий статью Выпадающий (раскрывающийся)reafantu не то, так»Мой_список_2″Пытаюсь создать динамический к формуле будут
нем есть текст Excel не должны- размер получаемого списка (A2:A5) и роль «шапки» и использует функцияИмена диапазонам, содержащим города,– принадлежащий ей помощью команды Данные/ Имени Список_элементов в список может содержать список на основе: Спасибо. Но я как рейтинг должен) выпадающий список (не автоматически добавлены имена с пробелами, то
содержать пробелов, знаков на выходе диапазона введите в поле содержит название столбца.CHOOSE можно присвоить точно город, как на
Работа с данными/ поле Диапазон необходимо пустые строки (если, элемента управления формы). видимо какой-то тупой… быть в видеВ чем может учитывающий пустые строки, листов — не придется их заменять препинания и начинаться
по горизонтали, т.е.
адреса имя для На появившейся после(ВЫБОР), чтобы выбрать таким же образом.
примере: Проверка данных). При записать формулу =СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A))
например, часть элементовВ этой статье создадим У вас отображается линейчатой диаграммы и быть проблема? но позволяющий дополнять пугайтесь :) на подчеркивания с обязательно с буквы. один столбец этого диапазона (без превращения в Таблицу 1-й, 2-й илиТеперь мы можем создатьДля начала нужно создать выборе переключателя ВсехИспользование функции СЧЁТЗ() предполагает,
была удалена или Выпадающий список с прям в стиле
выпадающий список долженМихаил С. себя новыми значениями).Функция помощью функции Поэтому если быТеперь выделите ячейки, где пробелов), например вкладке 3-й именованный диапазон. выпадающие списки в базу данных. На будут выделены все что заполнение диапазона список только что помощью Проверки данных форматирования, как на быть динамическим: Создаю именованный диапазонСМЕЩ (OFFSET)ПОДСТАВИТЬ (SUBSTITUTE) в одной из вы хотите создатьСтажеры,Конструктор (Design)Вот так будет выглядеть тех ячейках, где втором листе я такие ячейки. При ячеек ( был создан). Чтобы (Данные/ Работа с листе Данные. АAlexMДВССЫЛ() с такой формулой:умеет выдавать ссылку, т.е. формула будет марок автомобилей присутствовал выпадающие списки, ии нажмите наможно изменить стандартное наш второй раскрывающийся планировали выбирать данные. занес список стран, выборе опции ЭтихA:A пустые строки исчезли данными/ Проверка данных) когда я сам: Из примера нене работает с=ДВССЫЛ(СЦЕПИТЬ(«Данные!A2:»;»A»;СТРОКА(ИНДЕКС($A$2:$A$10;СЧЁТЗ($A$2:$A$10)))-1)) на диапазон нужного
выглядеть как =ДВССЫЛ(ПОДСТАВИТЬ(F3;"
бы пробел (например
выберите в старыхEnter имя таблицы на список: Выделите ячейку которые хочу дать же выделяются только), который содержит элементы, необходимо сохранить файл. с типом данных делаю, то у понятно что вы
динамическими диапазонами.Список не работает. размера, сдвинутый относительно
«;»_»)) Ssang Yong), то версиях Excel в: свое (без пробелов!).В результате мы получимB1 пользователям на выбор те ячейки, для ведется без пропусков
Второй недостаток: диапазон источника Список. меня выходит 1 имеете ввиду подRustem Haziev Подскажите, пожалуйста, что исходной ячейки наНадо руками создавать много его пришлось бы
менюФактически, этим мы создаем
По этому имени
два связанных (или
(в ней мы
office-guru.ru
Выпадающий список с наполнением
в первом раскрывающемся которых установлены те строк (см. файл должен располагаться наВыпадающий список можно сформировать января 2009 г. словом динамический.: Посмотрите здесь (много я делаю не заданное количество строк именованных диапазонов (если заменить в ячейкеДанные — Проверка (Data именованный динамический диапазон, мы сможем потом зависимых) выпадающих списка.
Способ 1. Если у вас Excel 2007 или новее
будем выбирать страну), списке, а в же правила проверки примера, лист Динамический том же листе, по разному.AlexMВ вашем сообщении примеров с выпадающими так (пример файла и столбцов. В у нас много и в имени — Validation) который ссылается на адресоваться к таблице Если мы выбираем откройте вкладку соседнем столбце указал
данных, что и диапазон). что и выпадающийСамым простым способом создания: Либо вы устанавливаете два вопроса, выпадающий списками)… во вложении). более понятном варианте марок автомобилей). диапазона на нижнее. В открывшемся окне
данные из нашей на любом листе странуData числовой индекс, который для активной ячейки.Используем функцию ДВССЫЛ() список, т.к. для Выпадающего списка является формат дата тип список и диаграмма.С.М.ber$erk синтаксис этой функцииЭтот способ требует наличия подчеркивание (т.е. Ssang_Yong). на вкладке умной таблицы. Теперь этой книги:France(Данные), нажмите соответствует одному из
ПримечаниеАльтернативным способом ссылки на правил Проверки данных нельзя ввод элементов списка «Март 2009», либоОтвечал на первый: Вот:: Здесь ( ) таков: отсортированного списка соответствийТеперь создадим первый выпадающийПараметры (Settings) имя этого диапазонаТеперь выделите ячейки где, в связанном списке Data Validation списков городов. Списки: перечень элементов, расположенных использовать ссылки на непосредственно в поле копируете ячейку с вопрос. Выпадающий списокSagRU смотрели?
=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; размер_диапазона_в_строках;
марка-модель вот такого
список для выборавыберите вариант можно ввести в вы хотите создать у нас будут(Проверка данных), а городов располагаются правееЕсли выпадающий список на другом листе, другие листы или Источник инструмента Проверка датой на листе выводит имена трех:SagRU размер_диапазона_в_столбцах) вида: марки автомобиля. ВыделитеСписок (List) окне создания выпадающего выпадающие списки (в города только из затем в выпадающем в столбцах содержит более 25-30 является использование функции
книги (это справедливо данных. «данные» и специальной человек с максимальнымиRustem Haziev: Да, разумеется -Таким образом:Для создания первичного выпадающего пустую ячейку ии введите в списка в поле нашем примере выше
Франции. меню выберитеD значений, то работать ДВССЫЛ(). На листе для EXCEL 2007Предположим, в ячейке вставкой вставляете в значениями по убыванию., буду изучать, спасибо «Выпадающий список сначальная ячейка — берем списка можно марок откройте меню полеИсточник (Source) — это D2)
Из этой статьи ВыData Validation, с ним становится Пример, выделяем диапазон и более ранних).B1 ячейку с выпадающим Рядом с именами за ссылку. наполнением». Мне описанный
Способ 2. Если у вас Excel 2003 или старше
первую ячейку нашего можно воспользоваться обычнымДанные — Проверка (DataИсточник (Source): и выберите в узнали, как можно(Проверка данных).F неудобно. Выпадающий список ячеек, которые будутИзбавимся сначала от второгонеобходимо создать выпадающий
списком «форматы» с помощью ПОИСКПОЗ()С.М., большое спасибо! там вариант не списка, т.е. А1 способом, описанным выше, — Validation)вот такую формулу:В старых версиях Excel старых версиях Excel сделать простейшие связанныеОткроется диалоговое окнои одновременно отображает только содержать выпадающий список, недостатка – разместим список для вводаreafantu и ИНДЕКС() можно
Остается, впрочем, одна
подходит, так как
сдвиг_вниз — нам считает т.е.или нажмите кнопку=Люди до 2007 года в меню выпадающие списки вData ValidationH 8 элементов, а вызываем Проверку данных, перечень элементов выпадающего единиц измерений. Выделим
- : Спасибо огромное! вы получить соответствующие значения.
- проблема. Диапазон «Табл.1″ список пополняется не функциядать имя диапазону D1:D3Проверка данных (Data Validation)
- После нажатия на не было замечательныхДанные — Проверка (Data Microsoft Excel. Вы(Проверка вводимых значений).
- . Так, например, рядом чтобы увидеть остальные, в Источнике указываем списка на другом ячейку меня очень выручили!reafantu
- имеет фиксированные границы, мануально, а приПОИСКПОЗ (MATCH) (напримерна вкладке
ОК «умных таблиц», поэтому — Validation) можете взять этотМы хотим дать пользователю с нужно пользоваться полосой =ДВССЫЛ(«список!A1:A4»). листе.B1 и поняли: Динамический список, значит а у меня помощи формулы. Иначе, которая, попросту говоря,МаркиДанные (Data)
ваш динамический список
придется их имитировать, а в новых простой пример и на выбор списокFrance
planetaexcel.ru
Связанные (зависимые) выпадающие списки
Способ 1. Функция ДВССЫЛ (INDIRECT)
прокрутки, что неНедостатокВ правилах Проверки данных (такжеи вызовем Проверкуи вот последний при появлении нового на практике возможна говоря, умная таблица выдает порядковый номер) с помощьюесли у вас в выделенных ячейках своими силами. Это нажмите кнопку использовать его для вариантов, поэтому встоит индекс всегда удобно.: при переименовании листа как и Условного данных. вопрос… не знал, месяца, он должен ситуация, когда добавляются
не «видит» новые ячейки с выбраннойДиспетчера имен (Name Manager) Excel 2007 или
готов к работе. можно сделать сПроверка данных (Data Validation) решения реальных задач. поле2В EXCEL не предусмотрена – формула перестает форматирования) нельзя впрямуюЕсли в поле Источник что пригодится автоматически попадать в ещё другие группы элементы. маркой (G7) вс вкладки новее. Затем изЭтот фокус основан на помощью именованного диапазонана вкладкеУрок подготовлен для ВасAllow, который соответствует списку регулировка размера шрифта работать. Как это указать ссылку на указать через точкуНапример появляется такие выпадающий список. При
(четвертая, пятая иV заданном диапазоне (столбцеФормулы (Formulas) выпадающего списка применении функции и функцииДанные командой сайта office-guru.ru(Тип данных) выберите городов Выпадающего списка. При можно частично обойти диапазоны другого листа с запятой единицы строки как Мужчины выборе месяца в
т.д.). Попытался обойти: по вашему примеру: А)или в старыхТип данных (Allow)ДВССЫЛ (INDIRECT)СМЕЩ (OFFSET)(Data)Источник: http://www.excel-user.com/2011/02/cascading-validation-lists.htmlList2 большом количестве элементов см. в статье (см. Файл примера): измерения шт;кг;кв.м;куб.м, то и Женщины, приложил выпадающем списке должен проблему, поменяв значение в формулах откудасдвиг_вправо = 1, т.к. версиях Excel -выберите вариант, которая умеет делать, которая умеет выдавать. В открывшемся окнеПеревел: Антон Андронов(Список). Это активирует. Позже Вы увидите,
имеет смысл сортировать Определяем имя листа.Пусть ячейки, которые должны выбор будет ограничен файл. Как избежать автоматически строится график диапазона «Табл.1» на то появилось имя мы хотим сослаться через менюСписок (List) одну простую вещь
ссылку на динамический
на вкладке
Автор: Антон Андронов поле как этот индекс список элементов и
Ввод элементов списка в содержать Выпадающий список, этими четырьмя значениями. их попадания в (линейчатая диаграмма с такое:
листа «Группы!» хотя на модели в
- Вставка — Имя -и в поле — преобразовывать содержимое диапазон заданного размера.Параметры (Settings)ЗадачаSource будет использован. использовать дополнительную классификацию диапазон ячеек, находящегося размещены на листеТеперь смотрим, что получилось. рейтинг, так как ТОП-3 Именами поДанные!$A$1:АДРЕС(11;(СЧЁТЗ(A1:R1)))
- такого у вас соседнем столбце (В) Присвоить (Insert -Источник (Source) любой указанной ячейкиОткройте менювыберите вариант: создать в ячейке(Источник), где необходимоЕсли Вы работаете в элементов (т.е. один в другой книге Пример,
- Выделим ячейку по условию он убыванию значений)Но Excel не
Способ 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH)
нет и -1размер_диапазона_в_строках — вычисляем с Name — Define)выделите ячейки с
в адрес диапазона,Вставка — Имя -Список (List) выпадающий список для указать имя диапазона
- Excel 2010, то выпадающий список разбитьЕсли необходимо перенести диапазона диапазон с перечнемB1 должен строится лишьAlexM распознает вторую часть лишнее. помощью функциивыбрать на вкладке названиями марок (желтые который понимает Excel.
- Присвоить (Insert -и введите в удобного ввода информации. со странами. Введите
- можете создать лист-источник на 2 и с элементами выпадающего элементов разместим на. При выделении ячейки по именам. : Так? диапазона. Вариант СЦЕПИТЬ»Выпадающий список сСЧЕТЕСЛИ (COUNTIF)Данные (Data) ячейки в нашем
То есть, если Name — Define) поле Варианты для списка в этом поле в отдельной рабочей более). списка в другую другом листе (на справа от ячейки
- AlexMreafantu + ДВССЫЛ приводит наполнением». способ 2, которая умеет подсчитатькоманду примере). После нажатия в ячейке лежитили нажмитеИсточник (Source) должны браться из «=Country» и жмите
- книге. Если жеНапример, чтобы эффективно работать книгу (например, в листе Список в появляется квадратная кнопка: Кажется получилось.: Да! Почти так. в тупик, так должен подойти.
количество встретившихся в
Проверка данных (Data validation)
на текст «А1», тоCtrl+F3вот такую формулу: заданного динамического диапазона,ОК у Вас версия
со списком сотрудников книгу Источник.xlsx), то файле примера). со стрелкой дляPS. не цитируйте Только данные для как ДВССЫЛ, какber$erk списке (столбце А)выбрать из выпадающего спискаОК
функция выдаст в. В открывшемся окне
=ДВССЫЛ(«Таблица1[Сотрудники]»)
- т.е. если завтра. Теперь нам нужно Excel 2003 года,
- насчитывающем более 300 нужно сделать следующее:Для создания выпадающего списка, выбора элементов из полностью мои сообщения. таблицы необходимо брать выяснилось, не оперирует: что то я нужных нам значений
- вариант проверкипервый выпадающий список результате ссылку на нажмите кнопку
- =INDIRECT(«Таблица1[Сотрудники]») в него внесут сделать второй раскрывающийся и Вы планируете сотрудников, то егов книге Источник.xlsx создайте элементы которого расположены выпадающего списка. Зачем мне и
- из начальной таблицы с динамическими диапазонами: Вас не пойму.
— марок автоСписок (List)
готов: ячейку А1. ЕслиДобавить (New)Смысл этой формулы прост.
- изменения — например,
- список, чтобы пользователи использовать именованный диапазон, следует сначала отсортировать необходимый перечень элементов; на другом листе,Недостатки другим их перечитывать
- (лист Данные) иДВССЫЛ(СЦЕПИТЬ(«Данные!$A$1″;»:»;АДРЕС(11;(СЧЁТЗ(A1:R1))))) А это? (G7)и указать вТеперь создадим второй выпадающий в ячейке лежит, введите имя диапазона Выражение удалят ненужные элементы
могли выбрать город.
Ссылки по теме
- то значения должны в алфавитном порядке.в книге Источник.xlsx диапазону
- можно использовать дваэтого подхода: элементыreafantu
- сам рейтинг неТе же грабли,
- Vразмер_диапазона_в_столбцах = 1, т.к. качестве
- список, в котором слово «Маша», то (любое, но без
planetaexcel.ru
Формирование динамического выпадающего списка
Таблица1[Сотрудники] или допишут еще
Мы поместим этот находиться в той Затем создать выпадающий ячеек содержащему перечень подхода. Один основан списка легко потерять: Спасибо! но есть
должен выводится на
в общем. Никогда: вариант одна формула нам нужен одинИсточника (Source) будут отображаться модели
функция выдаст ссылку пробелов и начинающееся- это ссылка
несколько новых - раскрывающийся список в же книге, можно список, содержащий буквы элементов присвойте Имя, на использовании Именованного (например, удалив строку одна ошибка, когда листе. На листе бы не подумал, на все 3 столбец с моделями
=Марки выбранной в первом на именованный диапазон с буквы, например на столбец с они должны автоматически ячейку на другом листе.
алфавита. Второй выпадающий например СписокВнеш; диапазона, другой –
или столбец, содержащие например троим дать только выпадающий список что буду буксовать
списка.В итоге должно получитьсяили просто выделить списке марки. Также
с именем
- данными для списка отразиться в выпадающем
B2
Мы будем использовать именованные список должен содержатьоткройте книгу, в которой функции ДВССЫЛ(). ячейку
одинаковое самое большое и диаграмма (при на таких мелочах=СМЕЩ(Данные!$A$1;1;ПОИСКПОЗ(Расчет!$A2;Данные!$A$1:$C$1;0)-1;СЧЁТЗ(ИНДЕКС(Данные!$A$1:$C$10;;ПОИСКПОЗ(Расчет!$A2;Данные!$A$1:$C$1;0)))-1;1)
что-то вроде этого:
ячейки D1:D3 (если как в предыдущемМашаЛюди из нашей умной списке:. А теперь внимание диапазоны и сделаем только те фамилии, предполагается разместить ячейкиИспользуем именованный диапазонB1 значение, то он выборе месяца). как динамические списки…SagRUОсталось добавить выпадающий список они на том случае, откройте окнои т.д. Такой,) и в поле таблицы. Но проблемаПростой и удобный способ – фокус! Нам
так, чтобы эти которые начинаются с с выпадающим списком;
Создадим Именованный диапазон Список_элементов,); не удобно вводить
Бдуте выводить егоAlexM[CENTER] =======================================[/CENTER]: ber$erk, вот это на основе созданной
же листе, гдеПроверки данных своего рода, «переводСсылка (Reference)
в том, что почти без формул.
нужно проверить содержимое связанные выпадающие списки буквы, выбранной первымвыделите нужный диапазон ячеек, содержащий перечень элементов
большое количество элементов. в рейтинг на: Самый простой способ,В общем, решил работает, спасибо: формулы к ячейке список)., но в поле стрелок» ;)введите вот такую Excel почему-то не Использует новую возможность ячейки с названием
работали во всех
списком. Для решения вызовите инструмент Проверка выпадающего списка (ячейки Подход годится для все места. Т.е это надвинуть диаграмму все проблемы только=СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A$1:$A$24);1)
G8. Для этого:
А вот для зависимогоИсточникВозьмем, например, вот такой формулу: хочет понимать прямых последних версий Microsoft
страны (ячейка B1),
версиях Excel. Следующий такой задачи может данных, в полеA1:A4
маленьких (3-5 значений) например Маша 54,
planetaexcel.ru
Динамический выпадающий список с диаграмами
на данные, т.е. . Слава костылямСпасибо, но это
выделяем ячейку G8 списка моделей придетсянужно будет ввести список моделей автомобилей=СМЕЩ(A2;0;0;СЧЁТЗ(A2:A100);1) ссылок в поле Excel начиная с чтобы получить индекс шаг – создать быть использована структура Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»);на листе Список). неизменных списков.
Маша 54, Маша на диапазон А2:В4! слишком сложный вариант,выбираем на вкладке создать именованный диапазон вот такую формулу: Toyota, Ford и=OFFSET(A2;0;0;COUNTA(A2:A100);1)Источник (Source) 2007 версии -
соответствующий базе данных именованные диапазоны для
Связанный список илиПри работе с перечнемДля этого:Преимущество 54.. а аСформировать формулами диапазоныС.М. так как в
Данные (Data) с функцией=ДВССЫЛ(F3) Nissan:Функция
, т.е. нельзя написать «Умные Таблицы». Суть с городами. Если
наших списков. На Вложенный связанный список. элементов, расположенным ввыделяем: быстрота создания списка. кроме Маши, Олег данных для источников: Вот-2: реальности таких списков
командуСМЕЩили =INDIRECT(F3)Выделим весь список моделейСЧЁТЗ (COUNTA) в поле Источник его в том, пользователь выберет вкладкеПРЕДСТАВЬТЕ СИТУАЦИЮ: другой книге, файлА1:А4
Элементы для выпадающего списка и Иван тоже
построения диаграммы задачаreafantu 38.Проверка данных (Data validation)(OFFSET)где F3 — адрес Тойоты (с ячейкиподсчитывает количество непустых выражение вида =Таблица1[Сотрудники]. что любой диапазонPortugalFormulas
Мы хотим создать Источник.xlsx должен быть, можно разместить в 54
большая.: Есть примерный диапазонВозник другой вопрос.или в меню
, который будет динамически ячейки с первым А2 и вниз
ячеек в столбце Поэтому мы идем можно выделить и, то мы должны(Формулы) есть команда в Excel небольшую открыт и находитьсянажимаем Формулы/ Определенные имена/ диапазоне на листеА Вы быreafantu данных.
Например, я создаюДанные — Проверка (Data ссылаться только на выпадающим списком (замените до конца списка)
с фамилиями, т.е. на тактическую хитрость отформатировать как Таблицу.
обратиться к базеName Manager табличку, где можно в той же Присвоить имя EXCEL, а затем
посмотрели ответы на: Да кстати, можноНеобходимо, чтобы на два разных списка — Validation) ячейки моделей определенной на свой). и дадим этому количество строк в — вводим ссылку Тогда он превращается,
с индексом(Диспетчер имён). Нажав выбрать страну и папке, иначе необходимов поле Имя вводим в поле Источник всех форумах, где и надвинуть.. Спасибо отдельном листе был по способу
из выпадающего списка выбираем марки. Для этого:Все. После нажатия на диапазону имя
диапазоне для выпадающего как текст (в упрощенно говоря, в
3 на нее, откроется соответствующий ей город. указывать полный путь Список_элементов, в поле инструмента Проверки данных запостили, глядишь иВот у меня динамический выпадающий список
=СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A$1:$A$24);1) вариант проверки
НажмитеОКToyota списка. Функция
кавычках) и используем «резиновый», то есть, в которой хранятся диалоговое окно При этом с к файлу. Вообще Область выбираем Книга; указать ссылку на решение бы нашлось только один вопрос (по месяцам), прии называю ихСписок (List)Ctrl+F3содержимое второго списка
. В Excel 2003СМЕЩ (OFFSET) функцию сам начинает отслеживать названия городов Португалии.
CyberForum.ru
Name Manager
Выпадающий список уникальных значений. Автоматическое обновление выпадающего списка
Введение
Выпадающий список — это супер полезный инструмент, который способствует более комфортной работе с информацией. Он позволяет вместить в ячейку сразу несколько значений, с которыми можно работать, как и с любыми другими. Чтобы выбрать нужное, достаточно щелкнуть на значок стрелки, после чего отобразится перечень значений. После выбора конкретного, ячейка автоматически заполняется им.
Рассмотрим особенности создания выпадающих списков на примере:
Исходные данные:
- Список адресов в разных городах
Задача:
- Создать автоматически обновляемый выпадающий список уникальных городов
- На основе выбранного города, создать зависимый выпадающий список адресов
Мы будем двигаться поэтапно, уделяя внимание всем возможностям данного инструмента.
Скачать файлы из этой статьи
Рабочие файлы
Обзорное видео о работе с выпадающими списками в Excel и Google таблицах смотрите ниже. Приятного просмотра!
Начнем с основ. Для того, чтобы создать выпадающий список потребуется список с данными и инструмент «Проверка данных».
Выбираем ячейку, в которой будем создавать выпадающий список. Далее переходим к инструменту «Проверка данных», тип данных – «Список». В поле «Источник» указываем диапазон списка.
Выпадающий список готов!
Такой способ позволяет представить обычный диапазон в виде выпадающего списка. Повторы данных остались в списке (в диапазоне A2:A16 названия городов повторяются и в выпадающем списке они также повторяются). Это, конечно, не удобно. О том, как сделать выпадающий список уникальных значений в Excel мы поговорим далее, пока остановимся на этом варианте.
Как создать зависимый выпадающий список в Excel?
Существует несколько вариантов. Один из них, это сочетание именованных диапазонов и функции ДВССЫЛ
.
Именованный диапазон в Excel – это ячейка (или диапазон ячеек), которой присвоено имя.
Функция ДВССЫЛ
в Excel преобразовывает текст в ссылку.
Способ 1: именованные диапазоны + функция ДВССЫЛ
Для начала создадим именованные диапазоны с адресами. Имя каждому присвоим в соответствии с городом.
Алгоритм создания именованного диапазона: выделяем диапазон, далее «Формулы» – «Задать имя».
У нас получится 5 именованных диапазона: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.
Обратите внимание, к именам диапазонов есть список требований. Например, в имени не могут содержаться пробелы, запятые, дефисы и прочие символы. Подробнее о создании именованных диапазонов и работе с ними мы говорим в нашем бесплатном курсе Основы Excel.
Поэтому, вместо дефисов в названии города Ростов-на-Дону мы укажем допустимый символ – нижнее подчеркивание.
Именованные диапазоны готовы.
Теперь выбираем ячейку для второго выпадающего списка, того, который будет зависимым. Переходим к инструменту «Проверка данных», тип данных – «Список». В поле «Источник» указываем функцию: =ДВССЫЛ(D2)
, где D2 – это адрес ячейки с первым выпадающим списком городов.
В ячейке D2, которая используется в качестве аргумента функции ДВССЫЛ
, находится текстовое выражение, которое совпадает с именем соответствующего именованного диапазона с названиями городов. В результате функция возвращает ссылку на соответствующий именованный диапазон.
Зависимый выпадающий список адресов готов.
Меняя значения в ячейке D2, меняются списки в ячейке E2. За исключением города Ростов-на-Дону. В выпадающем списке городов (ячейка D2), в названии используется дефис, а в именованном диапазоне – нижнее подчеркивание.
Чтобы устранить это несоответствие, перед тем как применять функцию ДВССЫЛ
, обработаем значения функцией ПОДСТАВИТЬ
.
Функция ПОДСТАВИТЬ
заменяет определенный текст в текстовой строке на новое значение. Вместо: =ДВССЫЛ(D2)
укажем: =ДВССЫЛ(ПОДСТАВИТЬ(D2;"-";"_"))
То есть, мы проводим предварительную обработку значений, чтобы они соответствовали правилам написания имён. Если в названии города имеются дефисы, они будут заменены на нижнее подчеркивание.
Теперь зависимый выпадающий список работает и для города, содержащего в названии дефисы – Ростов-на-Дону. Вернемся к выпадающему списку городов.
Как автоматически обновить выпадающий список в Excel, при добавлении новых данных?
Для начала создадим из диапазона данных «умную» таблицу Excel. Сделать это можно сочетанием клавиш Ctrl+T
.
Одним из полезных свойств умной таблицы является растягивающийся диапазон. То есть, если мы будем добавлять новые строки, они автоматически будут попадать в выпадающий список. Например, добавим новый город – Санкт-Петербург. И вот, он уже появился в нашем первом выпадающем списке.
Как сделать выпадающий список уникальных значений в Excel?
Надоело смотреть на повторяющиеся названия городов в выпадающем списке. Реализуем выпадающий список так, чтобы названия городов в нем не повторялись. Для этого, добавим слева вспомогательный столбец. Мы дали ему название – «Уникальные».
И включим новый столбец в диапазон «умной» таблицы. «Конструктор» – «Размер таблицы». Вместо =$B$1:$C$17
указываем: =$A$1:$C$17
Визуально видно, что диапазон «умной» таблицы 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 таблицах есть аналогичный инструмент для создания выпадающих списков – «Проверка данных».
Выделяем ячейку, в которой будем размещать выпадающий список.
«Данные» – «Настроить проверку данных» – «Значение из диапазона»
Важное отличие от проверки данных Excel в том, что инструмент «Проверка данных» в Google таблицах автоматически выдает уникальные значения, и значит, нам не придется создавать вспомогательный столбец с расчетами.
Зависимый выпадающий список в Google таблицах
Возвращаемся к двум основным способам, которые мы рассмотрели в Excel.
Способ 1: именованные диапазоны + ДВССЫЛ
Создадим именованные диапазоны с адресами. Имя каждому присвоим в соответствии с городом.
Выделяем ячейки – «Данные» – «Настроить именованные диапазоны»
Указываем имя и жмем готово. У нас получится 5 именованных диапазонов: Волгоград, Воронеж, Краснодар, Москва и Ростов_на_Дону.
Также, как и в Excel, в Google таблицах к именам диапазонов есть список требований.
Поэтому, вместо дефисов в названии города Ростов-на-Дону укажем допустимый символ – нижнее подчеркивание.
В Google таблицах мы не сможем подобно Excel задать функцию ДВССЫЛ в инструменте «Проверка данных». Поэтому, разместим результат функции ДВССЫЛ в пустых ячейках правее. Не забываем добавить обработку значений от дефисов функцией ПОДСТАВИТЬ. Подробнее о том, для чего это нужно, мы говорили ранее в примере Excel.
В ячейке F1 введем: =ДВССЫЛ(ПОДСТАВИТЬ(D2;"_";"-"))
Последний штрих в создании зависимого выпадающего списка, в разделе «Настроить проверку данных», в качестве диапазона указываем список из столбца F:F.
При дальнейшей работе вспомогательный столбец 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 таблицах хоть и схожа с Excel, но все же имеет свои отличительные особенности. Добавляем новые данные, сортируем список и пользуемся зависимыми, автоматически обновляемыми выпадающими списками.
Заключение
Теперь Вам известны несколько способов, как создать выпадающие списки в Excel и Google таблицах. Смотрите примеры и создавайте нужные Вам выпадающие списки.
Изучить работу в программе Excel Вы можете на наших курсах: бесплатные онлайн-курсы по Excel
Пройдите бесплатный тест на нашем сайте, чтобы объективно оценить свой уровень владения инструментами и функциями программы Excel: пройти бесплатный тест
У нас Вы можете заказать выполнение задач по MS Excel и Google таблицам
Создадим выпадающий список, содержимое которого зависит от значений другой ячейки.
Обычный
Выпадающий (раскрывающийся) список
отображает только один перечень элементов.
Связанный список
– это такой
выпадающий список
, который может отображать разные перечни элементов, в зависимости от значения другой ячейки. Потребность в создании
связанных списков
(другие названия:
связанные диапазоны
,
динамические списки
) появляется при моделировании иерархических структур данных. Например:
Отдел
–
Сотрудники отдела
. При выборе отдела из списка всех отделов компании, динамически формируется список, содержащий перечень фамилий всех сотрудников этого отдела (двухуровневая иерархия);
Город – Улица – Номер дома
. При заполнении адреса проживания можно из списка выбрать
город
, затем из списка всех улиц этого города –
улицу
, затем, из списка всех домов на этой улице –
номер дома
(трехуровневая иерархия).
В этой статье рассмотрен только двухуровневый
связанный список
. Многоуровневый связанный список рассмотрен в одноименной статье
Многоуровневый связанный список
. Создание иерархических структур данных позволяет избежать неудобств
выпадающих списков
связанных со слишком большим количеством элементов.
Связанный список
можно реализовать в EXCEL, с помощью инструмента
Проверка данных
(
) с условием проверки
Список
(пример создания приведен в данной статье) или с помощью
элемента управления формы
Список
(см. статью
Связанный список на основе элемента управления формы
).
Создание
Связанного списка
на основе
Проверки данных
рассмотрим на конкретном примере.
Задача
: Имеется перечень
Регионов
, состоящий из названий четырех регионов. Для каждого
Региона
имеется свой перечень
Стран
. Пользователь должен иметь возможность, выбрав определенный
Регион
, в соседней ячейке выбрать из
Выпадающего списка
нужную ему
Страну
из этого
Региона
.
Таблицу, в которую будут заноситься данные с помощью
Связанного списка
, разместим на листе
Таблица
. См.
файл примера
Связанный_список.xlsx
Список регионов и перечни стран разместим на листе
Списки
.
Обратите внимание, что названия регионов (диапазон
А2:А5
на листе
Списки
) в точности должны совпадать с заголовками столбцов, содержащих названия соответствующих стран (
В1:Е1
).
Присвоим
имена
диапазонам, содержащим
Регионы
и
Страны
(т.е. создадим
Именованные диапазоны
). Быстрее всего это сделать так:
-
выделитьячейки
А1:Е6
на листе
Списки
(т.е. диапазон, охватывающий все ячейки с названиями
Регионов
и
Стран
); -
нажать кнопку «Создать из выделенного фрагмента» (пункт меню
);
- Убедиться, что стоит только галочка «В строке выше»;
- Нажать ОК.
Проверить правильность имени можно через
Диспетчер Имен
(
). Должно быть создано 5 имен.
Можно подкорректировать диапазон у имени
Регионы
(вместо
=списки!$A$2:$A$6
установить
=списки!$A$2:$A$5
, чтобы не отображалась последняя пустая строка)
На листе
Таблица
, для ячеек
A
5:
A
22
сформируем
выпадающий список
для выбора
Региона
.
-
выделяем ячейки
A
5:
A
22
; -
вызываем инструмент
Проверка данных
;
-
устанавливаем тип данных –
Список
; -
в поле
Источник
вводим:
=Регионы
Теперь сформируем
выпадающий список
для столбца
Страна
(это как раз и будет желанный
Связанный список
).
-
выделяем ячейки
B
5:
B
22
; -
вызываем инструмент
Проверка данных;
-
устанавливаем тип данных –
Список
; -
в поле
Источник
вводим:
=ДВССЫЛ(A5)
Важно, чтобы при создании правила
Проверки данных
активной ячейкой была
B5
, т.к. мы используем
относительную адресацию
.
Тестируем. Выбираем с помощью
выпадающего списка
в ячейке
A
5
Регион
–
Америка
, вызываем
связанный список
в ячейке
B
5
и балдеем – появился список стран для
Региона
Америка
:
США, Мексика
…
Теперь заполняем следующую строку. Выбираем в ячейке
A
6
Регион
–
Азия
, вызываем
связанный список
в ячейке
B
6
и опять балдеем:
Китай, Индия
…
Необходимо помнить, что в именах нельзя использовать символ пробела. Поэтому, при создании имен, вышеуказанным способом, он будет автоматически заменен на нижнее подчеркивание «_». Например, если вместо
Америка
(ячейка
В1
) ввести «
Северная Америка
» (соответственно подкорректировав ячейку
А2
), то после нажатия кнопки
Создать из выделенного фрагмента
будет создано имя «Северная_Америка». В этом случае формула
=ДВССЫЛ(A5)
работать не будет, т.к. при выборе региона «
Северная Америка
» функция
ДВССЫЛ()
не найдет соответствующего имени. Поэтому формулу можно подкорректировать, чтобы она работала при наличии пробелов в названиях
Регионов
:
=ДВССЫЛ(ПОДСТАВИТЬ(A5;» «;»_»))
.
Теперь о
недостатках
. При создании имен с помощью кнопки меню
Создать из выделенного фрагмента,
все
именованные диапазоны
для перечней
Стран
были созданы одинаковой длины (равной максимальной длине списка для региона Европа (5 значений)). Это привело к тому, что
связанные списки
для других регионов содержали пустые строки.
Конечно, можно вручную откорректировать диапазоны или даже вместо
Именованных диапазонов
создать
Динамические диапазоны
. Но, при большом количестве имен делать это будет достаточно трудоемко. Кроме того, при добавлении новых
Регионов
придется вручную создавать
именованные диапазоны
для их
Стран
.
Чтобы не создавать десятки имен, нужно изменить сам подход при построении
Связанного списка
. Рассмотрим этот подход в другой статье:
Расширяемый Связанный список
.
Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.
Создание раскрывающегося списка
Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».
Ввести значения, из которых будет складываться выпадающий список, можно разными способами:
- Вручную через «точку-с-запятой» в поле «Источник».
- Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
- Назначить имя для диапазона значений и в поле источник вписать это имя.
Любой из вариантов даст такой результат.
Выпадающий список в Excel с подстановкой данных
Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.
- Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
- Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
- Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:
Протестируем. Вот наша таблица со списком на одном листе:
Добавим в таблицу новое значение «елка».
Теперь удалим значение «береза».
Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.
Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.
- Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
- Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
- Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
- Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
- Сохраняем, установив тип файла «с поддержкой макросов».
- Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
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
Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».
Нажмем «Да» и добавиться еще одна строка со значением «баобаб».
Выпадающий список в Excel с данными с другого листа/файла
Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.
- Делаем активной ячейку, куда хотим поместить раскрывающийся список.
- Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
Имя файла, из которого берется информация для списка, заключено в квадратные скобки. Этот файл должен быть открыт. Если книга с нужными значениями находится в другой папке, нужно указывать путь полностью.
Как сделать зависимые выпадающие списки
Возьмем три именованных диапазона:
Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.
- Создадим первый выпадающий список, куда войдут названия диапазонов.
- Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
- Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
- Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
- Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
- Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.
- На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
- Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
- Жмем «Свойства» – открывается перечень настроек.
- Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.
Выбор нескольких значений из выпадающего списка Excel
Бывает, когда из раскрывающегося списка необходимо выбрать сразу несколько элементов. Рассмотрим пути реализации задачи.
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
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
Скачать пример выпадающего списка
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.