Связанные (зависимые) выпадающие списки
Способ 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
- Выбор фото из выпадающего списка
- Выпадающий список с автоматическим удалением уже использованных элементов
- Динамическая выборка данных для выпадающего списка функциями ИНДЕКС и ПОИСКПОЗ
Зависимый выпадающий список позволяет сделать трюк, который очень часто хвалят пользователи шаблонов Excel. Трюк, который делает работу проще и быстрее. Трюк, благодаря которому ваши формы будут удобны и приятны.
Пример создания зависимого выпадающего списка в ячейке Excel
Пример использования зависимого выпадающего списка для создания удобной формы заполнения документов, с помощью которых продавцы заказывали товары. Из всего ассортимента они должны были выбрать те продукты, которые они собирались продать.
Каждый продавец сначала определял товарную группу, а затем конкретный товар из этой группы. Форма должна включать полное имя группы и определенный индекс товара. Поскольку набирать это вручную было бы слишком трудоемким (и раздражающим) занятием, я предложил очень быстрое и простое решение — 2 зависимых выпадающих списка.
Первым был список всех категорий продуктов, второй — список всех продуктов, находящихся в выбранной категории. Поэтому я создал выпадающий список, зависимый от выбора, сделанного в предыдущем списке (здесь вы найдете материал о том, как создать два зависимых раскрывающихся списка).
Тот же самый результат хочет получить пользователь шаблона домашнего бюджета где нужна категория и подкатегория расходов. Пример данных находится на рисунке ниже:
Так, например, если мы выберем категорию Развлечения, то в списке подкатегорий должно быть: Кинотеатр, Театр, Бассейн. Очень быстрое решение, если в своем домашнем бюджете вы хотите проанализировать более подробную информацию.
Список категорий и подкатегорий в зависимом выпадающем списке Excel
Признаюсь, что в предложенном мной варианте домашнего бюджета я ограничиваюсь только категорией, поскольку для меня такого разделения расходов вполне достаточно (название расходов / доходов рассматривается как подкатегория). Однако, если вам нужно разделить их на подкатегории, то метод, который я описываю ниже, будет идеальным. Смело используйте!
А конечный результат выглядит следующим образом:
Зависимый выпадающий список подкатегорий
Для того чтобы этого достичь, необходимо сделать немного другую таблицу данных, чем если бы мы создавали один раскрывающийся список. Таблица должна выглядеть так (диапазон G2:H15):
Рабочая исходная таблица Excel
В эту таблицу необходимо ввести категорию и рядом с ней ее подкатегории. Имя категории должно повторяться столько раз, сколько есть подкатегорий. Очень важно, чтобы данные были отсортированы по столбцу Категория. Это будет чрезвычайно важно, когда позже будем писать формулу.
Можно было бы также использовать таблицы с первого изображения. Разумеется, формулы были бы разными. Однажды даже я нашел в сети такое решение, но оно мне не понравилось, потому что там была фиксированная длина списка: а значит, иногда список содержал пустые поля, а иногда и не отображал все элементы. Конечно, я могу избежать этого ограничения, но признаюсь, что мне больше нравится мое решение, поэтому к тому решению я больше не возвращался.
Ну хорошо. Теперь, по очереди я опишу шаги создания зависимого выпадающего списка.
1. Имена диапазонов ячеек
Это необязательный шаг, без него мы сможем без проблем справиться с этим. Однако мне нравится использовать имена, потому что они значительно облегчают как написание, так и чтение формулы.
Присвоим имена двум диапазонам. Список всех категорий и рабочий список категорий. Это будут диапазоны A3:A5 (список категорий в зеленой таблице на первом изображении) и G3:G15 (список повторяющихся категорий в фиолетовой рабочей таблице).
Для того чтобы назвать список категорий:
- Выберите диапазон A3:A5.
- В поле имени (поле слева от строки формулы) введите название «Категория».
- Подтвердите с помощью клавиши Enter.
Такое же действие совершите для диапазона рабочего списка категорий G3:G15, который вы можете вызвать «Рабочий_Список». Этот диапазон мы будем использовать в формуле.
2. Создание раскрывающегося списка для категории
Это будет просто:
- Выберите ячейку, в которую вы хотите поместить список. В моем случае это A12.
- В меню «ДАННЫЕ» выберите инструмент «Проверка данных». Появится окно «Проверка вводимых значений».
- В качестве типа данных выберите «Список».
- В качестве источника введите: =Категория (рисунок ниже).
- Подтвердите с помощью OK.
Проверка вводимых значений – Категория.
Результат следующий:
Раскрывающийся список для категории.
3. Создание зависимого выпадающего списка для подкатегории
Сейчас будет весело. Создавать списки мы умеем — только что это сделали для категории. Только единственный вопрос: «Как сказать Excelю выбрать только те значения, которые предназначены для конкретной категории?» Как вы, наверное, догадываетесь, я буду использовать здесь рабочую таблицу и, конечно же, формулы.
Начнем с того, что мы уже умеем, то есть с создания раскрывающегося списка в ячейке B12. Поэтому выберите эту ячейку и нажмите «Данные» / «Проверка данных», а в качестве типа данных — «Список».
В источник списка введите следующую формулу:
Вид окна «Проверка вводимых значений»:
Проверка вводимых значений для подкатегории в зависимом выпадающем списке
Как видите, весь трюк зависимого списка состоит в использовании функции СМЕЩ. Ну хорошо, почти весь. Помогают ей функции ПОИСКПОЗ и СЧЕТЕСЛИ. Функция СМЕЩ позволяет динамически определять диапазоны. Вначале мы определяем ячейку, от которой должен начинаться сдвиг диапазона, а в последующих аргументах определяем его размеры.
В нашем примере диапазон будет перемещаться по столбцу Подкатегория в рабочей таблице (G2:H15). Перемещение начнем от ячейки H2, которая также является первым аргументом нашей функции. В формуле ячейку H2 записали как абсолютную ссылку, потому что предполагаю, что мы будем использовать раскрывающийся список во многих ячейках.
Поскольку рабочая таблица отсортирована по Категории, то диапазон, который должен быть источником для раскрывающегося списка, будет начинаться там, где впервые встречается выбранная категория. Например, для категории Питание мы хотим отобразить диапазон H6:H11, для Транспорта — диапазон H12: H15 и т. д. Обратите внимание, что все время мы перемещаемся по столбцу H, а единственное, что изменяется, это начало диапазона и его высота (то есть количество элементов в списке).
Начало диапазона будет перемещено относительно ячейки H2 на такое количество ячеек вниз (по числу), сколько составляет номер позиции первой встречающейся категории в столбце Категория. Проще будет понять на примере: диапазон для категории Питание перемещен на 4 ячейки вниз относительно ячейки H2 (начинается с 4 ячейки от H2). В 4-ой ячейке столбца Подкатегория (не включая заголовок, так как речь идет о диапазоне с именем Рабочий_Список), есть слово Питание (его первое появление). Мы используем этот факт собственно для определения начала диапазона. Послужит нам для этого функция ПОИСКПОЗ (введенная в качестве второго аргумента функции СМЕЩ):
Высоту диапазона определяет функция СЧЕТЕСЛИ. Она считает все встречающиеся повторения в категории, то есть слово Питание. Сколько раз встречается это слово, сколько и будет позиций в нашем диапазоне. Количество позиций в диапазоне — это его высота. Вот функция:
Конечно же, обе функции уже включены в функцию СМЕЩ, которая описана выше. Кроме того, обратите внимание, что как в функции ПОИСКПОЗ, так и в СЧЕТЕСЛИ, есть ссылка на диапазон названный Рабочий_Список. Как я уже упоминал ранее, не обязательно использовать имена диапазонов, можно просто ввести $H3: $H15. Однако использование имен диапазонов в формуле делает ее проще и легко читаемой.
Вот и все:
Скачать пример зависимого выпадающего списка в Excel
Одна формула, ну не такая уж и простая, но облегчающая работу и защищает от ошибок при вводе данных!
Читайте также: Связанные выпадающие списки и формула массива в Excel
Два варианта использования этого трюка я уже представил. Интересно, как вы его будете использовать?
Связанные выпадающие списки в Excel.
Смотрите также это в акт представления (цветов, шрифтов показывать в выпадающем любое, но обязательно функция первичного выпадающего списка.Toyota, создадим алфавит. Алфавит правилами Проверки данных, выпадающего списка (ячейки данных.=ЕСЛИ(Таблица!C$7=Списки!$F$5;СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0));Excel.
добавлении строк или всё. Можно подкорректироватьВыпадающие списки в ExcelKolyvanOFF
и т.д.) списке. По умолчанию без пробелов иПОИСКПОЗ (MATCH) Т.е. если в. В Excel 2003 сформируем с помощью то можно использоватьA1:A4Если в поле ИсточникСМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0));СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!A8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!A8)))Сначала выберем из столбцов в таблицу,
размер диапазона. Мыбывают разные. Есть: как вариантПри использовании этого способа, — 8, но начать с буквы!), которая, попросту говоря, нем есть текст
и старше - формулы
инструмент Выделение группы
на листе Список). указать через точкуСМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!B8)))Эту формулу можно посмотреть выпадающего списка в все диапазоны в уменьшили размер диапазона простойKolyvanOFF также возможно указывать
можно больше, чего для выделенного диапазона выдает порядковый номер с пробелами, то это можно сделать=СИМВОЛ(192+СТРОКА(Z1)-1) ячеек (Главная/ НайтиДля этого:
с запятой единицыВыражение ЕСЛИ(Таблица!С$7=Списки!$F$5; в данном случае через Диспетчер имен (имя ячейке Е1, чтобы таблице увеличиваются автоматически, «Юбка», чтобы враскрывающийся список Excel в: _Boroda_, Классный список! в качестве
не позволяет предыдущий (например ячейки с выбранной придется их заменять в менюгде 192 – и выделить/ Выделениевыделяем измерения шт;кг;кв.м;куб.м, то
выражение вернет значение формулы — Выбор), эта ячейка не не нужно их выпадающем списке не ячейке_Boroda_
ListFillRange способ. Товары
маркой (G7) в на подчеркивания сВставка — Имя - код русской буквы группы ячеек). ОпцияА1:А4 выбор будет ограничен ЛОЖЬ; но так как была пустой. настраивать. было пустой строки.. Есть:
не только одномерныеПосле нажатия на). Нажмите заданном диапазоне (столбце помощью функции Присвоить (Insert - А. Проверка данных этого, этими четырьмя значениями.Так как предыдущее выражение формула использует относительную
Затем, как вОстается просто вноситьТеперь устанавливаеммногоуровневые зависимые выпадающие списки
KolyvanOFF диапазоны. Можно, напримерОКОК А)ПОДСТАВИТЬ (SUBSTITUTE) Name — Define).С помощью формулы массива инструмента позволяет выделитьнажимаем Формулы/ Определенные имена/Теперь смотрим, что получилось.
=ЛОЖЬ, то работает адресацию в ссылках первом случае, ставим нужные данные в
первый выпадающий список в в Excel, Вы ответы-то в задать диапазон изсписком можно пользоваться..
сдвиг_вправо = 1, т.к.
, т.е. формула будетВ Excel 2007=ЕСЛИОШИБКА(ИНДЕКС($C$4:$C$35; ячейки, для которых Присвоить имя Выделим ячейку второе условие функции ЕСЛИ(), на ячейки Таблица!B$7 и Таблица!A8, в пустой ячейке таблицу и все. ячейки столбца А
. Это, когда, в теме читали? двух столбцов иЧтобы вместо порядкового номераВыделите ячейки (можно сразу мы хотим сослаться выглядеть как =ДВССЫЛ(ПОДСТАВИТЬ(F3;» и новее -НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(Фамилии;$C$4:$C$35&»*»)>0; проводится проверка допустимости
в поле Имя вводимB1 т.е. выражение СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!B8)) то для ее (не в таблице) Остальное сделает сама
. зависимости от выбранныхЭто как раз нескольких строк, указав элемента выводилось его несколько), в которых на модели в «;»_»)) на вкладкеСТРОКА($C$4:$C$35);»»);СТРОКА(Z1))-СТРОКА($C$3));»») данных (заданная с Список_элементов, в поле. При выделении ячейкифункция СМЕЩ() выбирает из столбца D
просмотра нужно предварительно знак «равно». Выделяем таблица — изменитУ нас, в данных в первом
и есть тот дополнительно, что выводить название можно дополнительно хотите получить выпадающий соседнем столбце (В)Надо руками создавать многоФормулы (Formulas)выведем в отдельный столбец
помощью команды Данные/ Область выбираем Книга; справа от ячейки (Потомки) все значения,
выделить ячейку данные столбца А диапазоны и внесет примере, мы выделяем столбце выпадающего списка, самый способ, на нужно два столбца
excel-office.ru
Как сделать связанные выпадающие списки в Excel легко.
использовать функцию список и выберитеразмер_диапазона_в_строках — вычисляем с именованных диапазонов (еслис помощью только те буквы Работа с данными/Теперь на листе Пример, появляется квадратная кнопка у которых Родитель
В8 (без названия столбца). новые данные в диапазон A2:A3. И, меняется выпадающий список который я ругаюсь. (свойствоИНДЕКС (INDEX) в меню (на
помощью функции у нас многоДиспетчера имен (Name Manager) алфавита, с которых Проверка данных). При выделим диапазон ячеек, со стрелкой для = Америка.
на листе Таблица. У нас - соответствующие выпадающие списки.
через «Проверки данных» в ячейках второго Что мне тамColumnCount, которая умеет выводить вкладке)СЧЕТЕСЛИ (COUNTIF) марок автомобилей).. Затем повторим то начинаются фамилии в выборе переключателя Всех которые будут содержать выбора элементов из
Для этого выражение ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0) возвращает номер О том как
это диапазон А2:А4.У нас есть на закладке «Данные», столбца, третьего, т.д. не нравится:=2). Тогда можно получить содержимое нужной поДанные — Проверка (Data, которая умеет подсчитатьЭтот способ требует наличия же самое со перечне.
будут выделены все Выпадающий список. выпадающего списка. позиции первой ячейки работает эта формулаКопируем формулу выделенного такие данные на устанавливаем выпадающие списки.Здесь разберём1. Куча имен. весьма привлекательные результаты, счету ячейки из — Validation)
количество встретившихся в отсортированного списка соответствий списками Форд иС помощью Проверки данных такие ячейки. Привызываем Проверку данных;Недостатки
в столбце Родитель, см. в разделе
диапазона. Выходим из листе. Тип данных –двухуровневый зависимый выпадающий список2. При изменении окупающие все потраченные диапазона:. Из выпадающего списка списке (столбце А) марка-модель вот такого
Ниссан, задав соответственно создадим в ячейке выборе опции Этихв поле Источник вводимэтого подхода: элементы содержащей значение Америка. статьи ниже. ячейки клавишей «Esc».Сделаем из этих данных выбираем «Список». А в Excel данных в шапке на дополнительные настройкиЭтот способ частично напоминаетТип данных (Allow) нужных нам значений вида: имена диапазонамС1
же выделяются только
ссылку на созданное
списка легко потерять Это позиция номерПРИМЕЧАНИЕ Выделяем ячейки, в форматированную таблицу Excel. в строке «Источник». все рушится. усилия: предыдущий. Основное отличиевыберите вариант — марок автоДля создания первичного выпадающего Ford
выпадающий список, содержащий те ячейки, для имя: =Список_элементов. (например, удалив строку 4. Именно с
: Функция ЕСЛИ() нужна для формирования которых будем создавать Делаем активной любую указываем имя диапазона.Например, в первом3. Имя должноСпособ 1. в том, чтоСписок (List)
(G7) списка можно мароки отобранные на предыдущем которых установлены теПримечание или столбец, содержащие этой позиции, но списка самого верхнего выпадающие списки второго ячейку этих данных. Например, «=Наименование_товара». столбце из выпадающего начинаться с буквыПримитивный
на лист добавляетсяи введите вразмер_диапазона_в_столбцах = 1, т.к. можно воспользоваться обычнымNissan шаге буквы алфавита: же правила проверкиЕсли предполагается, что ячейку из другого столбца, уровня иерархии -
уровня. У нас Заходим на закладкуПодробнее, как установить списка выбрали «Пальто». или подчеркивания, неСпособ 2. не элемент управления, строчку нам нужен один способом, описанным выше,.=СМЕЩ($D$4;;;СЧЁТЕСЛИ($D$4:$D$32;»*?»)) данных, что и перечень элементов будет
B1
будет формироваться наш выпадающий
у него нет – это диапазон «Главная», в разделе выпадающий список, смотрите Во втором столбце содержать пробел иСтандартный
а элемент ActiveXИсточник (Source) столбец с моделями т.е.При задании имен помните
Ячейке для активной ячейки. дополняться, то можно); не удобно вводить список; Родителя. F1:F4 (окрашен зеленым «Стили» нажимаем кнопку
excel-office.ru
Многоуровневый (3+) связанный список (типа предок-родитель) в MS EXCEL
в статье «Выпадающий появился выпадающий список прочие «недопустимые» знаки.Способ 3.»Поле со списком»знак равенства иВ итоге должно получитьсядать имя диапазону D1:D3
о том, чтоС1Примечание сразу выделить диапазон большое количество элементов.Теперь для выпадающего списка осталось указать
- Для ввода формулы выделите
- цветом). Через функцию «Форматировать как таблицу»
список в Excel». размеров этого пальто.shukerЭлемент управленияиз раскрывающегося набора имя диапазона (т.е. что-то вроде этого: (например
имена диапазонов вприсвоим имя Буква.: большего размера, например,
Решение
Подход годится для его длину. Для ячейку
«Проверка данных» устанавливаем
и выбираем первый
Устанавливаем
А, если в: Видимо я совсемСпособ 4. под кнопкой=ТоварыОсталось добавить выпадающий списокМарки Excel не должныДля создания выпадающего списка,Если выпадающий списокА1:А10 маленьких (3-5 значений) этого используем выражение СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!В8).B8 выпадающий список. В шаблон таблицы.
зависимые выпадающие списки в первом столбце этой не знаю какЭлемент ActiveXВставить (Insert)).
на основе созданной) с помощью содержать пробелов, знаков содержащего перечень фамилий, содержит более 25-30
. Однако, в этом
неизменных списков.Чтобы добавить новое значение,, вызовите Диспетчер имен, и строку «Источник» диалоговогоОбязательно ставим галочку у столбце В же ячейки из делать( Первый списокСложность
с вкладкиНажмите формулы к ячейкеДиспетчера имен (Name Manager) препинания и начинаться начинающихся на выбранную
значений, то работать случае Выпадающий списокПреимущество например, новую Страну
введите формулу: окна вставляем скопированную
строки «Таблица с. выпадающего списка выбрали
- получился, второй ненизкаяРазработчик (Developer)ОК G8. Для этого:с вкладки
- обязательно с буквы. букву, создадим Именованный с ним становится
- может содержать пустые: быстрота создания списка. с городами иНажмите ОК. формулу. заголовками».Это второй уровень «Брюки», то во пойму по какомусредняя:.выделяем ячейку G8Формулы (Formulas) Поэтому если бы диапазон Вложенный_диапазон со
Как работает эта формула?
неудобно. Выпадающий список строки.Элементы для выпадающего списка улицами, нужно добавитьОпять выделите ячейку
- Но формулу сноваНажимаем «ОК». Получилась такая выпадающих списков. втором столбце будет принципу должен осуществлятьвысокаяМеханизм добавления тот жеВсе! Наслаждайтесь!
- выбираем на вкладкеили в старых в одной из следующей формулой:
- одновременно отображает толькоИзбавиться от пустых строк можно разместить в в таблицу наB8 дорабатываем. Ставим две
таблица.Внимание! выпадающий список с поиск. Приложил исходныйВозможность настройки шрифта, цвета
— выбираем объектВажный нюанс. В качествеДанные (Data) версиях Excel -
марок автомобилей присутствовал
=СМЕЩ($A$1;ПОИСКПОЗ(Буква&»*»; Фамилии;0);;
8 элементов, а
- и учесть новые диапазоне на листе листе Списки нужное
- , сформируйте выпадающий список круглые скобки, четыреСама эта таблица ужеПеред тем, как
- размерами брюк. файл, который хочу и т.д. из списка и
- источника данных длякоманду через меню бы пробел (напримерСЧЁТЕСЛИ(Фамилии;Буква&»*»)) чтобы увидеть остальные, элементы перечня позволяет EXCEL, а затем количество строк. Чтобы на основе Проверки
- кавычки, два знака имеет имя. Смотрим устанавливать выпадающие списки
Итак, сделаем две сделать для облегчениянет рисуем его на списка может выступатьПроверка данных (Data validation)Вставка — Имя - Ssang Yong), тоФункция СЧЁТЕСЛИ() подсчитывает фамилии, нужно пользоваться полосой Динамический диапазон. Для
в поле Источник не исправлять формулу, данных. В поле «&» и, вместо в Диспетчере имен. в столбце В, таблицы. Саму таблицу работы. На листенет листе. А вот и динамический именованныйили в меню Присвоить (Insert - его пришлось бы начинающиеся с выбранной прокрутки, что не
этого при создании инструмента Проверки данных строки следует добавлять, Тип данных укажите слова «пальто» (этоНазвание этой таблицы можно выберите в первой сделаем на странице
excel2.ru
Выпадающий список в MS EXCEL на основе Проверки данных
1 пометил краснымда дальше начинаются серьезные диапазон, например прайс-лист.Данные — Проверка (Data Name — Define) заменить в ячейке буквы. Результат соответствует всегда удобно. Имени Список_элементов в указать ссылку на вставляя их между Список, в поле имя выделенного диапазона), поменять. Нажимаем на верхней ячейке столбца книги «Таблица». А
где хочется видетьКоличество отображаемых строк отличия от предыдущего
Тогда при дописывании — Validation)выбрать на вкладке и в имени высоте диапазона, возвращаемойВ EXCEL не предусмотрена
поле Диапазон необходимо этот диапазон. уже существующими строками. Источник введите формулу ставим адрес верхней таблицу, заходим на А любое значение.
списки сделаем на сп2. Если не
А. Простейший выпадающий список — ввод элементов списка непосредственно в поле Источник
всегда 8 способа. новых товаров киз выпадающего списка выбираемДанные (Data) диапазона на нижнее
функцией СМЕЩ(). Функция регулировка размера шрифта записать формулу =СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A))Предположим, что элементы спискаТеперь представим ситуацию, что =Выбор. ячейке столбца с закладку «Конструктор» и Главное, чтобы эта
странице «Размеры». У сложно прошу помочьлюбоеВо-первых, созданный выпадающий ActiveX прайсу, они будут вариант проверки
команду подчеркивание (т.е. Ssang_Yong). ПОИСКПОЗ(), принимающая в Выпадающего списка. ПриИспользование функции СЧЁТЗ() предполагает, шт;кг;кв.м;куб.м введены в после заполнения таблицыС помощью Маркера заполнения первым уровнем выпадающих
в разделе «Свойства» ячейка не была нас есть такая в этом.Быстрый поиск элемента по список может находится автоматически добавляться кСписок (List)Проверка данных (Data validation)Теперь создадим первый выпадающий качестве аргумента [искомое_значение] большом количестве элементов
что заполнение диапазона ячейки диапазона
Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)
с помощью выпадающих скопируйте ячейку вправо списков. пишем свое название пустой. У нас таблица.KolyvanOFF первым буквам
в двух принципиально выпадающему списку. Ещеи вводим ввыбрать из выпадающего списка список для выбора подстановочные знаки, возвращает
имеет смысл сортировать ячеек (A1:A4 списков, было изменено и вниз (илиКстати, если вы
таблицы. Мы написали – это ячейкаИ мы сделали такие: _Boroda_, согласен. Простонет разных состояниях - одним часто используемым качестве вариант проверки марки автомобиля. Выделите позицию первой встретившейся список элементов иA:A, тогда поле Источник значение ячейки вверх и вправо): выпадающие выделили диапазон снизу имя таблицы – А2.
списки. такой список какнет режиме отладки, когда трюком для такихИсточника (Source)Список (List) пустую ячейку и фамилии, начинающуюся с использовать дополнительную классификацию), который содержит элементы,
будет содержать =лист1!$A$1:$A$4С10 списки всех уровней будут вверх, то ставите «Товар».
B. Ввод элементов списка в диапазон (на любом листе)
Выделяем диапазон вВнимание! у тебя вижуда можно настраивать его списков является создание
знак равно ии указать в откройте меню выбранной буквы. Результат
элементов (т.е. один ведется без пропусковПреимущество. Например, вместо США сформированы автоматически.
адрес ячейки нижней.В этой таблице уже столбце В (уВ списках названия впервые. Теперь будуНеобходимость использования дополнительной функции параметры и свойства, связанных выпадающих списков
имя нашего диапазона,
качествеДанные — Проверка (Data соответствует смещению левой выпадающий список разбить строк (см. файл
: наглядность перечня элементов
- выберем Мексика. Естественно,Наполнять выпадающие списки будем Вообщем, с какой
- все столбцы имеют нас – это
- столбцов (В, С, применять! Спасибо!ИНДЕКС
двигать его по (когда содержимое одного т.е.Источника (Source)
- — Validation)
- верхней ячейки диапазона на 2 и примера, лист Динамический
и простота его
значение в ячейке из таблицы на ячейки выделили диапазон, динамические диапазоны. Это В2:В3). Снова через D) должны полностью_Boroda_нет листу и менять списка меняется в
=Модели=Маркиили нажмите кнопку относительно ячейки более). диапазон). модификации. Подход годитсяD10
листе Списки (см. ту ячейку и значит, если мы функцию «Проверка данных» совпадать с названием: Смотритеда размеры и - зависимости от выбора
Вуаля!
или просто выделитьПроверка данных (Data Validation)A1Например, чтобы эффективно работатьИспользуем функцию ДВССЫЛ() для редко изменяющихсяне изменится (в файл примера): указываете (первую выделенную добавим в столбце выбираем «Тип данных»
в первом столбцеshukerнет режиме ввода, когда в другом).4 способа создать выпадающий ячейки D1:D3 (если
на вкладке. со списком сотрудников
Альтернативным способом ссылки на списков. ней останется одинДля наглядности различные уровни в диапазоне). Мы ячейку, то диапазон
- – список. А (у нас –
- ,Возможность создания связанных выпадающих единственное, что можноЭтот способ представляет собой
- список в ячейках они на томДанные (Data)
- В Диспетчере имен должны насчитывающем более 300 перечень элементов, расположенныхНедостатки
из городов США). выделены Условным форматированием. выделили диапазон сверху увеличится, и это в строке «Источник» это наименование товараshuker списков — выбирать из вставку на лист листа же листе, гдеесли у вас отображать 3 имени:
сотрудников, то его на другом листе,: если добавляются новые Чтобы подсказать пользователюЗаполнение таблицы на листе Списки
вниз, п.э. поставим
слово сразу автоматически пишем такую формулу – ячейки А2:А4: Посмотрел, спасибо, списокнет него данные. Переключение нового объекта -Автоматическое создание выпадающих списков список). Excel 2007 илиНаконец, с помощью Проверки следует сначала отсортировать является использование функции элементы, то приходится об ошибке, используем нужно производить следующим в формуле адрес попадет в выпадающий =ДВССЫЛ(А2) должны совпадать с появился, но неда между этими режимами элемента управления «поле при помощи инструментовА вот для зависимого
новее. Затем из данных создадим в
в алфавитном порядке. ДВССЫЛ(). На листе вручную изменять ссылку Условное форматирование. образом: ячейки Е1. Формула список. То жеЭтой формулой мы говорим ячейками В1:D1). в том месте,нет
происходит с помощью со списком» с надстройки PLEX списка моделей придется выпадающего списка ячейке Затем создать выпадающий Пример, выделяем диапазон на диапазон. Правда,Формула в правиле УсловногоСтолбец Номер уровня содержит
получилась такая. самое и со Excel, что списокЕсли наименований много, моя вина, чтshuker кнопки последующей привязкой егоВыбор фото из выпадающего создать именованный диапазонТип данных (Allow)D1 список, содержащий буквы ячеек, которые будут в качестве источника форматирования ищет в числовые коды уровней.=ДВССЫЛ(«Товар[«&$E1&»]»)
excel2.ru
Вложенный связанный список в MS EXCEL
столбцом. Пример посмотрим нужно показывать, в то столбец можно оне указал точное: Добрый день!Режим Конструктора (Design Mode) к диапазонам на
списка с функциейвыберите вариантсвязанный список, содержащий алфавита. Второй выпадающий содержать выпадающий список, можно определить сразу таблице на листе Самый верхний уровеньНажимаем «ОК». Получилось так. ниже. зависимости от значения транспонировать в строку. месторасположение. сейчас выделил
Помогите разобраться, создална вкладке листе. Для этого:Выпадающий список с автоматическимСМЕЩСписок (List) фамилии, начинающиеся с список должен содержать вызываем Проверку данных,
более широкий диапазон, Списки пару Родитель-Потомок. (0) содержит названиеМожно выпадающие списки сделатьИтак, форматированную таблицу
в ячейке столбца Как это сделать, красным цветом где связаные выпадающий список,
Разработчик (Developer)В Excel 2007/2010 откройте удалением уже использованных(OFFSET)и в поле буквы из ячейки только те фамилии, в Источнике указываем например,
Если такая пара
Регионов. Можно создать на другом листе, сделали. Всё. Осталось
А.
смотрите в статье
должен быть список
но оказалась проблема,
: вкладку элементов, который будет динамическиИсточник (Source)
С1 которые начинаются с =ДВССЫЛ(«список!A1:A4»).A1:A100 не найдена, то любое количество уровней;
тогда в формулу
сделать выпадающие списки.Здесь все просто. «Как поменять местами
1. Помогите еще что нельзя вЕсли эта кнопка нажата,Разработчик (Developer)Динамическая выборка данных для ссылаться только на
выделите ячейки с
. Формула проста: =Вложенный_диапазон.
буквы, выбранной первымНедостаток. Но, тогда выпадающий ячейка выделяется краснойСтолбец Родитель содержит названия перед адресом ячейки Сначала скопируем адрес Но бывает название столбцы и строки раз) первом списке главном то мы можем. В более ранних выпадающего списка функциями ячейки моделей определенной названиями марок (желтые
В итоге, мы должны списком. Для решения
: при переименовании листа список может содержать заливкой. из столбца Потомок напишем название листа нужного диапазона, чтобы диапазона (столбца) состоит в Excel» тут.shuker
вставлять пробелы или настраивать параметры выпадающего версиях — панель ИНДЕКС и ПОИСКПОЗ марки. Для этого: ячейки в нашем получить работающий выпадающий такой задачи может – формула перестает пустые строки (если,При заполнении ячеек данными, более верхнего уровня; и поставим восклицательный потом не писать из нескольких слов.Как настроить Excel,
excel2.ru
Связанные (зависимые) выпадающие списки
Способ 1. Функция ДВССЫЛ (INDIRECT)
: Получилось!!!! Спасибо!!! тире. Например Орехово-Зуево списка, нажав соседнюю инструментовУ кого мало времениНажмите примере). После нажатия список в ячейке быть использована структура работать. Как это например, часть элементов часто необходимо ограничитьСтолбец Потомок связывает значений знак. его вручную. Например, «Зимние пальто». чтобы при добавленииAnton_98rus выбираем из главного кнопкуФормы (Forms) и нужно быстроCtrl+F3 на
D1 Связанный список или можно частично обойти была удалена или
возможность ввода определенным из 2-х соседнихКак еще можноПервый уровень связанных выпадающих А в имени ячеек в список: Ребят добрый день. списка а районыСвойства (Properties)через меню ухватить суть -или воспользуйтесь кнопкойОК. Выбрав в ячейке Вложенный связанный список. см. в статье список только что списком значений. Например, уровней. Нужно иметь применить готовые шаблоны списков в Excel. диапазона нельзя ставить столбца A, автоматически Прошу у Вас его уже не, которая откроет окноВид — Панели инструментов смотрим обучающее видео:Диспетчер имен (Name manager)
первый выпадающий списокС1Если Ваш Выпадающий список Определяем имя листа. был создан). Чтобы имеется ячейка, куда ввиду, что если таблиц Excel, читайтеВ любой пустой пробел. Имя диапазона писалось название нового помощи. отображаются. со списком всех — Формы (ViewКому интересны подробности ина вкладке
готов:, например, букву «В», стал очень длиннымВвод элементов списка в пустые строки исчезли пользователь должен внести мы начали заполнять, в статье «Готовые ячейке пишем «=» напишем так «Зимние_пальто». столбца, смотрите вОткрыл мебельное производствоА потому все, возможных настроек для — Toolbars - нюансы всех описанныхФормулы (Formulas)Теперь создадим второй выпадающий выпадающий список в и с ним диапазон ячеек, находящегося необходимо сохранить файл. название департамента, указав например, все страны таблицы Excel». (знак «равно»), выделяем Но формула ДВССЫЛ статье «Как добавить
и делаю таблицу что Вы Правила выделенного объекта: Forms) способов — дальше. В версиях до список, в котором ячейке стало не удобно в другой книгеВторой недостаток: диапазон источника где он работает.
Америки, то нужно
Как сделать связанный
ячейки шапки таблицы не найдет этот столбец в Excel расчета стоимости мебели,
форума не читаетеСамые нужные и полезные. Если этой вкладки по тексту. 2003 это была будут отображаться модели
D1 работать, то создание
- Если необходимо перенести диапазон должен располагаться на Логично, предварительно создать полностью закончить этот выпадающий список, фамилии – это будет диапазон. Тогда формулу автоматически». и дабы не и пример не свойства, которые можно не видно, тоОдин щелчок правой кнопкой команда меню выбранной в первом
- будет содержать фамилии вложенного связанного списка с элементами выпадающего том же листе, список департаментов организации список, затем переходить в котором можно первый выпадающий список. нужно написать так.Как сделать в Excel округлять стоимость ЛДСП кладете. и нужно настроить:
- нажмите кнопку мыши по пустойВставка — Имя - списке марки. Также
Способ 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH)
из столбца может оказаться решением. списка в другую что и выпадающий
и позволить пользователю к следующему региону. выбирать по алфавиту,Копируем это адрес. Нажимаем =ДВССЫЛ(ПОДСТАВИТЬ(A2;» «;»_»))
- динамический диапазон для всех и_Boroda_ListFillRangeОфис — Параметры Excel ячейке под столбцом Присвоить (Insert - как в предыдущемАЧасто при вводе данных книгу (например, в список, т.к. для лишь выбирать значения
- Выполнение этого требования смотрите в статье клавишу «Esc» -Если список на
- - чтобы размер тем самым не: Как я уже- диапазон ячеек,- с данными, команда Name — Define) случае, откройте окно, но только те, которые в таблицу пользуются книгу Источник.xlsx), то правил Проверки данных нельзя
из этого списка. необходимо для правильной «Связанный выпадающий список так выходим из другом листе, то диапазонов списков при брать лишние деньги выше написал, пример откуда берутся данныефлажок
- контекстного менюСоздайте новый именованный диапазонПроверки данных начинаются с буквы Выпадающим (раскрывающимся) списком. нужно сделать следующее: использовать ссылки на Этот подход поможет работы вышеуказанной формулы. в Excel по ячейки. в формуле указываем
- добавлении или убавлении с заказчиков хочу нужен. для списка. ВыделитьОтображать вкладку Разработчик наВыбрать из раскрывающегося списка с любым именем, но в поле «В».
Предположим, что в
в книге Источник.xlsx создайте
другие листы или ускорить процесс ввода Выпадающие списки формируются алфавиту».Теперь выделяем ячейки, название этого листа. ячеек менялся автоматически,
сделать табличку сА без прмера мышью диапазон он ленте (Office Button(Choose from drop-down list) (напримерИсточникЭтот фокус основан на таблицу необходимо вводить необходимый перечень элементов; книги (это справедливо
и уменьшить количество именно из этого
Для сложных иерархических структур
- в которые будем Напишем так. =ДВССЫЛ(»Размеры!А2:А4») смотрите в статье
- выпадающими взаимосвязаными списками. могу сказать только не даст, надо — Excel Optionsили нажать сочетаниеМоделинужно будет ввести применении функции фамилии, выбирая их
- в книге Источник.xlsx диапазону для EXCEL 2007 опечаток. столбца.
- с тремя и устанавливать выпадающий список.Нажимаем «ОК». Теперь «Чтобы размер таблицыСама суть вопроса: одно — Вы просто вписать его — Show Developer клавиш
- ) и в поле вот такую формулу:ДВССЫЛ (INDIRECT)
из длинного списка. ячеек содержащему перечень
и более ранних).Выпадающий список можно создатьРассмотрим как формируется выпадающий более уровнями создадим
- Мы выделили диапазон
- во втором столбце Excel менялся автоматически».Мы имеем несколько создаете кучу именованных руками с клавиатуры Tab in theALT+стрелка вниз
- Ссылка (Reference)=ДВССЫЛ(F3), которая умеет делать Если длина списка элементов присвойте Имя,Избавимся сначала от второго с помощью Проверки список в ячейке Многоуровневый связанный список Е1:Е4 (окрашен в
установлены выпадающие списки,
Ссылки по теме
- Теперь нужно присвоить производителе(Еггер, Кроношпан,Невский ламинат) диапазонов (есть такой,
- (например, Лист2!A1:A5) Ribbon). Способ не работает,
- в нижней частиили =INDIRECT(F3)
- одну простую вещь более 30 элементов, например СписокВнеш;
- недостатка – разместим данных B8
planetaexcel.ru
Выпадающий список в ячейке листа
Видео
типа Предок-Родитель. Теперь желтый цвет). Вставляем которые меняются, в имена всем этим
у каждого производителя на мой взглядLinkedCellНайдите значок выпадающего списка
Способ 1. Примитивный
если ячейку и окна введите рукамигде F3 — адрес — преобразовывать содержимое то процесс поискаоткройте книгу, в которой перечень элементов выпадающегоили с помощью элементана листе Таблица (заполняем структуры типа: Регион-Страна-Город-Улица выпадающий список как зависимости от того, спискам. У нас своя цветовая гамма, — крайне дурной,- связанная ячейка, среди элементов управления столбец с данными следующую формулу:
Способ 2. Стандартный
- ячейки с первым любой указанной ячейки может быть достаточно предполагается разместить ячейки
- списка на другом управления формы Поле Регионы). можно создавать в обычно. Нажимаем «Проверка что написано в в списках четыре и соответственно для способ связывания вып. куда будет выводиться форм (не ActiveX!). отделяет хотя бы=СМЕЩ($A$1;ПОИСКПОЗ($G$7;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$G$7);1) выпадающим списком (замените в адрес диапазона, утомительным (несколько облегчает с выпадающим списком; листе. со списком (см.Выражение ЕСЛИ(Таблица!B$7=Списки!$F$5; проверяет заполняем MS EXCEL. данных», выбираем «Список». ячейках первого столбца. диапазона (четыре столбца). каждой группы цветов списков). А в
- выбранный из списка Ориентируйтесь по всплывающим одна пустая строка=OFFSET($A$1;MATCH($G$7;$A:$A;0)-1;1;COUNTIF($A:$A;$G$7);1) на свой). который понимает Excel. ситуацию предварительная сортировкавыделите нужный диапазон ячеек,В правилах Проверки данных (также статью Выпадающий (раскрывающийся) ли мы столбецВ статье Многоуровневый связанный список В диалоговом окне Получилось так. Легко и быстро своя цена, перебрал названиях именованных диапазонов элемент подсказкам -
или вам нуженСсылки должны быть абсолютнымиВсе. После нажатия на
То есть, если
этого списка). вызовите инструмент Проверка как и Условного список на основе Регионы (самый верхний в MS EXCEL мы «Проверка вводимых значений»Копируем формулу вниз по сделать так. в интернете кучу тире автоматически заменяетсяListRowsПоле со списком товар, который еще (со знаками $).ОК в ячейке лежитВ этом случае имеет
Способ 3. Элемент управления
данных, в поле форматирования) нельзя впрямую элемента управления формы). уровень с номером уже создавали многоуровневый в строку «Источник» столбцу. Мы создалиКак присвоить имя диапазону
- формул и все на нижнее подчеркивание- количество отображаемых: ни разу не После нажатия Enterсодержимое второго списка текст «А1», то смысл создать два Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»); указать ссылку наВ этой статье создадим 0) или нет. список. Но, у вставляем скопированную формулу двухуровневый выпадающий список в троможу(сделать не могу) (при автоматической создаче строкЩелкните по значку вводился выше: к формуле будут будет выбираться по
- функция выдаст в выпадающих списка, одинПри работе с перечнем диапазоны другого листа Выпадающий список с В данном случае того списка было
шапки таблицы. Но в Excel.Excel.Нужно: - из выделенного, например).Font и нарисуйте небольшойВыделите ячейки с данными, автоматически добавлены имена имени диапазона, выбранного
- результате ссылку на для букв алфавита, элементов, расположенным в (см. Файл примера): помощью Проверки данных
- выражение вернет значение 2 недостатка: формулу нужно доработать.Другой способ сделатьВыделяем диапазон ячеек
- 1. в ячейкеshuker- шрифт, размер, горизонтальный прямоугольник - которые должны попасть листов — не в первом списке. ячейку А1. Если
с которых начинаются другой книге, файлПусть ячейки, которые должны
(Данные/ Работа с ИСТИНА;слишком сложные формулы; Допишем впереди – связанный выпадающий список всех списков сразу А1 создать вып.: Прикрепляю пример. начертание (курсив, подчеркивание
Способ 4. Элемент ActiveX
будущий список. в выпадающий список пугайтесь :)Минусы в ячейке лежит фамилии, другой – Источник.xlsx должен быть содержать Выпадающий список, данными/ Проверка данных)Так как предыдущее выражениемаксимальное количество уровней - ДВССЫЛ, поставим кавычки в Excel, смотрите
вместе с шапкой список(Еггер,Кроношпан,Невский ламинат)Дело в том, и т.д. кромеЩелкните по нарисованному списку (например, наименованиями товаров).Функциятакого способа:
слово «Маша», то Связанный список, для открыт и находиться размещены на листе с типом данных =ИСТИНА, то работает 3. и круглые скобки. в статье «Как таблицы списков –это могем а что нижнее подчеркивание цвета) правой кнопкой мышиЕсли у вас ExcelСМЕЩ (OFFSET)В качестве вторичных (зависимых) функция выдаст ссылку перечня фамилий, начинающихся в той же Пример,
Список. первое условие функцииПредлагаемое ниже решение лишено Получилась такая формула. сделать связанные выпадающие у нас это вот: не подходит, такForeColor и выберите команду
2003 или старшеумеет выдавать ссылку диапазонов не могут
- на именованный диапазон на выбранную букву. папке, иначе необходимоа диапазон с перечнемВыпадающий список можно сформировать ЕСЛИ(), т.е. выражение СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0)) этих недостатков, но=ДВССЫЛ(«Товар[#Заголовки]») списки в Excel
- диапазон А1:D4. На2.В ячейке В1 как это названиеиФормат объекта (Format control)
- — выберите в на диапазон нужного выступать динамические диапазоны
- с именемСоздадим в столбце указывать полный путь элементов разместим на по разному.
- функция СМЕЩ() выбирает из исходный список, содержащийНажимаем «ОК». легко». закладке «Формулы» в
создать вып. список оно выделено жирнымBackColor. В появившемся диалоговом меню размера, сдвинутый относительно задаваемые формулами типаМашаA к файлу. Вообще другом листе (наСамым простым способом создания столбца D (Потомки)
названия стран, городовТак как в самойЗдесь мы рассмотрим разделе «Определенные имена» выбора цвета шрифтом.- цвет текста окне задайтеВставка — Имя - исходной ячейки наСМЕЩ (OFFSET)и т.д. Такой,отсортированный по алфавиту ссылок на другие листе Список в Выпадающего списка является все значения, у и улиц получается
Итоговая сравнительная таблица всех способов
таблице с данными другой вариант, | нажимаем функцию «Создать3. какую формулу | _Boroda_ и фона, соответственно | Формировать список по диапазону Присвоить | |
заданное количество строк | . Для первичного (независимого) | своего рода, «перевод | перечень фамилий, см. | |
листы лучше избегать файле примера). | ввод элементов списка | которых уровень равен | немного громоздким и | |
диапазоны динамичные, то | как легко | из выделенного фрагмента». | ||
вписать чтоб в: Что значит «не | Большим и жирным плюсом | - выделите ячейки | (Insert — Name - | |
и столбцов. В списка их использовать | стрелок» ;) | файл примера. | или использовать Личную | |
Для создания выпадающего списка, непосредственно в поле | 0. Из этих | его нужно наполнять | если мы добавим |
planetaexcel.ru
Связанные (зависимые) выпадающие списки (Формулы/Formulas)
сделать связанные выпадающие списки В появившемся диалоговом
ячейке С1 появлялась подходит»? Я ж этого способа является с наименованиями товаров, Define), более понятном варианте можно, а вотВозьмем, например, вот такойЧерез меню Формулы/ Определенные книгу макросов Personal.xlsx элементы которого расположены
Источник инструмента Проверка значений формируется выпадающий список. придерживаясь определенных правил. столбец, это слово в Excel
окне оставляем галочку ценна согласно стоимости написал — «автоматически возможность быстрого перехода
которые должны попастьесли Excel 2007 синтаксис этой функции вторичный список должен список моделей автомобилей имена/ Присвоить имя или Надстройки. на другом листе, данных.Рассмотрим как формируется выпадающий список вВ результате мы должны автоматически увеличится диапазон. Ещё один способ только у строки
цвета заменяется». И еще
к нужному элементу в список или новее - таков: быть определен жестко, Toyota, Ford и
создадим Именованный диапазонЕсли нет желания присваивать можно использовать дваПредположим, в ячейке ячейке получить вот такой таблицы и слово
сделать раскрывающиеся списки, «В строке выше».
Файл прикрепил я написал, что в списке приСвязь с ячейкой
откройте вкладку=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; размер_диапазона_в_строках;
без формул. Однако, Nissan:
Фамилии =Лист1!$A$2:$A$153. имя диапазону в подхода. Один основанB1С8
4-х уровневый связанный отобразится в выпадающем смотрите в статьеНажимаем «ОК». Всё, именаНа форуме запрещено это дурной способ.
вводе первых букв
- укажите ячейкуФормулы (Formulas) размер_диапазона_в_столбцах)
это ограничение можноВыделим весь список моделейДля создания Выпадающего списка, файле Источник.xlsx, то на использовании Именованного
необходимо создать выпадающийна листе Таблица (заполняем список: списке. Например, добавим «Связанные выпадающие списки присвоены. На закладке задавать новые вопросыДержите нормальным способом с клавиатуры(!), чего куда нужно выводитьи воспользуйтесь кнопкойТаким образом: обойти, создав отсортированный Тойоты (с ячейки содержащего все буквы формулу нужно изменить
диапазона, другой – список для ввода Страны). Выпадающие списки будем формировать слово «плащ». Получилось в Excel».
«Формулы» нажимаем функцию в чужих темах. сделанное нет у всех
порядковый номер выбранногоДиспетчер имен (Name Manager)начальная ячейка — берем список соответствий марка-модель А2 и вниз алфавита, с которых на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4») функции ДВССЫЛ(). единиц измерений. ВыделимВ этом случае формула с помощью одной
так.Способ, который мы
«Диспетчер имен». Читаем Правила, создаёмshuker остальных способов. Приятным
пользователем элемента., затем первую ячейку нашего (см. Способ 2). до конца списка) начинаются фамилии вСОВЕТ:Используем именованный диапазон ячейку будет несколько другая, большой Именованной формулы:
Второй уровень связанных выпадающих
сейчас рассмотрим удобенЗдесь перечислены все наши свою тему. Эта: Спасибо огромное! Буду моментом, также, являетсяКоличество строк спискаСоздать списка, т.е. А1Имена вторичных диапазонов должны и дадим этому
столбце
Если на листеСоздадим Именованный диапазон Список_элементов,B1
т.к. в ней=ЕСЛИ(Таблица!B$7=Списки!$F$5;
списков в тем, что при диапазоны списков. Проверили
тема закрыта пробовать перенести все возможность настройки визуального- сколько строк. Введите имя (можно
сдвиг_вниз — нам считает
совпадать с элементами диапазону имяА много ячеек с содержащий перечень элементови вызовем Проверку
excelworld.ru
сработают относительные ссылки:
Выпадающий список уникальных значений. Автоматическое обновление выпадающего списка
Введение
Выпадающий список — это супер полезный инструмент, который способствует более комфортной работе с информацией. Он позволяет вместить в ячейку сразу несколько значений, с которыми можно работать, как и с любыми другими. Чтобы выбрать нужное, достаточно щелкнуть на значок стрелки, после чего отобразится перечень значений. После выбора конкретного, ячейка автоматически заполняется им.
Рассмотрим особенности создания выпадающих списков на примере:
Исходные данные:
- Список адресов в разных городах
Задача:
- Создать автоматически обновляемый выпадающий список уникальных городов
- На основе выбранного города, создать зависимый выпадающий список адресов
Мы будем двигаться поэтапно, уделяя внимание всем возможностям данного инструмента.
Скачать файлы из этой статьи
Рабочие файлы
Обзорное видео о работе с выпадающими списками в 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 (или раскрывающийся список) — это список в ячейке Excel, из которого можно выбрать одно из нескольких заранее заданных значений. Это удобно для быстрого и правильного заполнения данных: не вбивать руками, а просто выбрать. Тут же можно настроить контроль, чтобы пользователи не могли вносить значения, не предусмотренные в списке.
Выпадающий список работает так: выбираете ячейку и справа от нее появляется кнопка со стрелкой вниз (правда, стрелка больше похожа на треугольник).
После нажатия на кнопку списка появится перечень доступных значений, одно из которых можно выбрать.
Значений в списке может быть много, но в обзор помещается до 8 строк. Если значений в списке больше восьми, справа от них появится полоса прокрутки.
Создание выпадающего списка
Чтобы создать выпадающий список, выделите ячейку, где он должен появиться (или группу ячеек) и перейдите на вкладку Данные -> Проверка данных.
В появившемся окне укажите тип данных – Список, поставьте галочку рядом со строкой «Список допустимых значений».
Источником данных может быть:
- Текст – пишется через точку с запятой «;» и без знака равно «=», например
Материалы;Заработная плата;Амортизация
- Ссылки на ячейки:
=$A$1:$A$7
- Именованный диапазон:
=ИмяДиапазона
и т.д.
Связанные выпадающие списки
Связанные выпадающие списки – это списки, в которых выпадающие значения появляются не «просто так», а в зависимости от уже заполненных данных. Так, для выбранной группы появится только список входящих в неё наименований.
Создадим выпадающие списки несколькими способами – для разных таблиц с исходными данными.
Способ 1. Названия групп в заголовках столбцов, в строках – элементы групп.
Способ 2. Названия групп – в первом столбце, элементы групп – во втором столбце.
Способ 1. Связанные выпадающие списки из таблицы с группами в заголовках столбцов
Исходные данные: таблица с названиями групп в заголовках столбцов.
В этом способе используется всего одна простая формула — ДВССЫЛ (правда, непривычная обычным пользователям) и форматированная smart-таблица Excel (иногда их еще называют «умные» таблицы). Зато вы получите взаимозависимые списки и будете пользоваться ими по принципу «сделал и забыл». Не нужно будет переживать о том, что «слетит» диапазон и переделывать всю архитектуру данных. Просто один раз сделаете и будете пользоваться.
Справка:
Форматированная таблица – это таблица, у которой есть свое имя, свойства и структура. Такая таблица представляет из себя именованный «саморасширяющийся» диапазон. При добавлении в нее новых данных границы таблицы автоматически «захватят» новое значение.
У форматированной таблицы множество преимуществ по сравнению с обычной. Поэтому на курсах и семинарах я советую использовать такие таблицы везде, где есть такая возможность.
Создать форматированную таблицу просто: выделите диапазон ячеек и перейдите в меню Главная -> Форматировать как таблицу -> выберите понравившийся вид таблицы. Готово – форматированная таблица создана.
Формула ДВССЫЛ передает значения из ячейки, адрес которой записан в самой формуле в виде текстовой строки.
Например, записываем в ячейке B1 адрес ячейки А1. Формула ДВССЫЛ(B1) «увидит», какой адрес записан в ячейке B1, а результатом вычисления формулы будет текст, записанный в ячейке А1. Эту же формулу можно записать, указав адрес ячейки в кавычках – ДВССЫЛ(«А1»).
С помощью ДВССЫЛ можно обратиться к ячейке по адресу с помощью других формул, например СЦЕПИТЬ, & или ЕСЛИ и т.д. Так, формула на рисунке ДВССЫЛ(B1&C1) обращается к тексту в ячейке А1. После нажатия Enter в ячейке, где вводилась формула ДВССЫЛ(B1&C1) появится значение из ячейки A1, в нашем случае это «текст».
Пошаговая инструкция по созданию связанных выпадающих списков
Шаг 1. Создайте справочник исходных данных в виде форматированной smart-таблицы.
- Выделите таблицу со статьями и преобразуйте ее в smart-таблицу: выберите в меню Главная -> Форматировать как таблицу.
- В появившемся окне обязательно проверьте галочку рядом с надписью «Таблица с заголовками». Если ее нет – поставьте.
- Присвойте созданной таблице имя: выделите любую ячейку таблицы, перейдите на вкладку Конструктор, введите имя — «Источник».
Таблица «Источник» создана. Теперь можно обращаться к таблице и её элементам по имени. Например, название заголовка таблицы будет выглядеть так: =Источник[#Заголовки]
Столбец таблицы: =Источник[Материалы]
Чтобы появилась такая формула, нажмите равно = и выделите столбец, его имя появится в строке формул.
Шаг 2. Создайте выпадающий список с группами.
- Выделите ячейки в столбце «группа».
- Перейдите в меню Данные -> Проверка данных.
- В появившемся окне выберите тип данных — Список, а в строке Источник введите формулу =ДВССЫЛ(«Источник[#Заголовки]»)
Готово! В столбце «группа» появился выпадающий список.
Шаг 3. Создайте выпадающий список со статьями.
- Выделите столбец «статья» в таблице.
- Перейдите в меню Данные -> Проверка данных.
- В появившемся окне выберите тип данных — Список, а в строке Источник введите формулу: =ДВССЫЛ(«Источник[«&$G3&»]»)
В формуле $G3 – это первая ячейка из столбца «группа». Ссылка на столбец «зафиксирована» с помощью знака доллара $, а строка может изменяться.
Готово! В столбце «статья» появляется только список статей, входящих в группу.
Теперь в форматированную smart-таблицу можно добавлять новые группы и статьи. Добавим, например, новый столбец «Прочее», и такая группа сразу же появится в выпадающем списке.
Способ 2. Связанные выпадающие списки из таблицы с группами в первом столбце и элементами — во втором
Исходные данные: таблица с названиями групп в первом столбце, элементами групп – во втором столбце.
На самом деле в сети можно найти несколько вариантов реализации этого способа. Но у них у всех есть один недостаток: такой список нужно «администрировать». Потому что таблица должна быть всегда отсортирована по названиям групп – нельзя, чтобы группы располагались произвольно. Если группы будут идти «как попало», то формула, с помощью которой это всё сделано (СМЕЩ) не сработает, и список будет создаваться с ошибкой. Т.е. пользователю нужно все время сортировать первый столбец или добавлять туда данные в алфавитном порядке. А еще потребуется записывать где-то отдельно сами названия групп и это тоже нужно будет делать «вручную».
Мы придумали, как обойти эту проблему: с помощью сводных таблиц, которые будут за нас упорядочивать данные. Благодаря этому постоянное «администрирование» будет заменено на простую процедуру «обновить».
Для создания списков используем форматированные (умные) таблицы, сводные таблицы, формулы СМЕЩ + ПОИСКПОЗ + СЧЁТЗ, СЧЁТЕСЛИ и диспетчер имен.
Справка:
СМЕЩ выдает ссылку на диапазон ячеек, находящийся в указанном количестве ячеек от исходной. Ссылка определяется с учетом заданного в формуле размера диапазона – числа строк и столбцов. Другими словами, этой формулой вы можете «сказать» Excel-ю на сколько ячеек он должен отступить и какой диапазон «захватить».
Синтаксис формулы СМЕЩ такой:
СМЕЩ(ссылка ; смещ_по_строкам ; смещ_по_столбцам ; [высота] ; [ширина] ), где
- ссылка – ссылка, от которой вычисляется смещение, может быть адресом ячейки или группы ячеек;
- смещ_по_строкам – количество строк, которые требуется отсчитать вверх или вниз от начальной ссылки;
- смещ_по_столбцам – количество столбцов, которые требуется отсчитать влево или вправо от начальной ссылки;
- [высота] – число строк возвращаемой ссылки (необязательный);
- [ширина] – число столбцов возвращаемой ссылки (необязательный).
Ищет нужный нам элемент в диапазоне ячеек и выдает его порядковый номер в диапазоне.
Синтаксис ПОИСКПОЗ такой:
ПОИСКПОЗ( искомое_значение ; просматриваемый_массив ; [тип_сопоставления] )
- искомое_значение – значение, которое ищем. Может быть числом, текстом, логическим значением или ссылкой на ячейку;
- просматриваемый_массив – диапазон ячеек, где будем искать нужное значение;
- [тип_сопоставления] — число -1, 0 или 1, которое показывает, как сравнивать искомое значение с ячейками просматриваемого массива. Не переживайте, если не поняли, когда и что ставить, потому что 90% случаев нужно выбирать ноль.
Подробнее про эту формулу можно посмотреть в видеоинструкции: Какая формула лучше ВПР и работает с несколькими критериями
СЧЁТЗ просто считает количество непустых ячеек в диапазоне.
Почти тот же СУММЕСЛИ, только проще – подсчитывает количество значений, соответствующих определенному условию.
Пошаговая инструкция по созданию списков
Шаг 1. Преобразуйте исходные данные в форматированную smart-таблицу.
- Выделите таблицу со статьями и преобразуйте ее в smart-таблицу: перейдите в меню Главная -> Форматировать как таблицу.
- В появившемся окне обязательно проверьте галочку рядом с надписью «Таблица с заголовками». Если ее нет – поставьте.
- Присвойте таблице имя: на вкладке Конструктор введите имя таблицы — «статьи».
Форматированная таблица «статьи» создана.
Шаг 2. Создайте две сводные таблицы – одну с названиями групп, вторую — со статьями.
Для чего используем сводные таблицы? Во-первых, чтобы вручную не создавать перечень групп, а во-вторых, как уже упоминали выше, чтобы вручную не сортировать справочники статей (что иногда забывают сделать пользователи, а это важно, иначе формула СМЕЩ «срабатывает» с ошибкой). «Ручную» работу сделает вместо нас кнопка «Обновить» в меню Данные — нажимаем ее каждый раз после появления новых статей.
- Создайте первую сводную таблицу с группами статей.
Выделите любую ячейку таблицы с исходными данными, перейдите в меню Вставка -> Сводная таблица. Добавьте сводную таблицу на существующий лист и поместите группы в область строк.
- Создайте вторую сводную таблицу со статьями: меню Вставка -> Сводная таблица. В область строк поместите группы и статьи.
- Форматируем сводную таблицу со статьями и придаем ей вид справочника.
Выделите любую ячейку таблицы, перейдите на вкладку Конструктор -> Макет отчета -> Показать в табличной форме. У нас получится почти та таблица, которая нам нужна, но в ней автоматом появятся промежуточные суммы. Чтобы их отключить, идем: Промежуточные итоги -> Не показывать промежуточные суммы.
- Скройте строку «Общий итог» в обеих таблицах справочников. Перейдите на вкладку Конструктор -> Общие итоги -> Отключить для строк и столбцов.
В итоге получатся два справочника, как на рисунке ниже. Для удобства разместите таблицы рядом на одном листе – с первой строки и в столбцах A, C и D, как на рисунке (это поможет разобраться с формулой СМЕЩ).
Шаг 3. Создайте именованные диапазоны с помощью диспетчера имен.
- Откройте диспетчер имен: в меню Формулы -> Диспетчер имен.
- В появившемся окне нажмите кнопку «Создать».
-
- Введите имя «ГруппыСписок» и формулу, которая будет определять диапазон:
=СМЕЩ($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 в формуле – это количество столбцов.
Нажмите ОК. Названия листов в формуле появятся сами.
- Точно так же создайте в диспетчере имен список статей.
Введите имя ГруппыСтатей, а для диапазона – формулу:
=СМЕЩ($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 в формуле – это количество столбцов.
Шаг 4. Создайте выпадающие списки.
Выделите ячейки в столбце «группы», перейдите в меню Данные -> Проверка данных. Задайте тип данных Список, источник =ГруппыСписок.
То же самое – для статей. Тип данных – список, источник =ГруппыСтатьи
Выпадающие списки готовы. Форматированные smart-таблицы позволят «захватить» все данные, а сводные таблицы – избежать ошибок, отсортировать справочник и создать список групп.
Drop-down lists in Excel are powerful tools. They let you provide users with a drop-down arrow that, when selected, provides them with a list of choices.
This can reduce data-entry errors because it avoids users from having to type answers directly. Excel even lets you pull the items for those drop-down lists from a range of cells.
However, it doesn’t stop there. Using some creative ways to configure data validation for drop-down cells, you can even create multiple, linked drop-down lists, where the items that are available in a second list depend on the section the user made in the first list.
What Are Multiple Linked Drop-Down Lists Good For?
Consider that most forms online fill out secondary drop-down lists based on what you answer in the drop-down list before it. This means you can make your Excel data-entry sheets just as advanced as online forms. It will modify itself based on the user’s answers.
For example, let’s say you’re using an Excel spreadsheet to collect computer information from your users who need computer repairs.
The entry options might look like this:
- Computer Part: Monitor, Mouse, Keyboard, Base System
- Part Type:
- Monitor: Glass, Housing, Power Cord, Internal Electronics
- Mouse: Wheel, LED Light, Cord, Buttons, Casing
- Keyboard: Keys, Housing, Membrane, Cord, Internal Electronics
- Base System: Casing, Buttons, Ports, Power, Internal Electronics, Operating System
As you can see from this tree, the information that should be available to select for “Part Type” depends on which Computer Part the user selects in the first dropdown list.
In this example, your spreadsheet may start out looking something like this:
If you create multiple, linked drop-down lists, you can use the item selected from the drop-down list in B1 to drive the contents of the drop-down list in B2.
Let’s take a look at how you can set this up. Also, feel free to download our example Excel sheet with the example below.
Create Your Drop-Down List Source Sheet
The cleanest way to set something like this up is to create a new tab in Excel where you can configure all of your drop-down list items.
To set up these linked drop-down lists, create a table where the header at the top are all of the computer parts you want to include in the first dropdown list. Then list all of the items (part types) that should go under that header.
Next, you’ll want to select and name each range so that when you’re setting up Data Validation later, you’ll be able to select the correct one.
To do this, select all of the items under each column and name that selected range the same as the header. To name a table, you simply type the name in the field over the “A” column.
For example, select cells A2 through A5, and name that range “Monitor”.
Repeat this process until you have all of the ranges named appropriately.
An alternative way to do this is using Excel’s Create from Selection feature. This lets you name all of the ranges like the manual process above, but with a single click.
To do this, just select all of the ranges in the second sheet that you created. Then select Formulas from the menu, and select Create from Selection in the ribbon.
A pop-up window will appear. Make sure only Top row is selected and then select OK.
This will use the header values in the top row to name each of the ranges underneath it.
Set Up Your First Drop Down List
Now it’s time to set up your multiple, linked drop-down lists. To do this:
1. Back on the first sheet, select the blank cell to the right of the first label. Then select Data from the menu, and select Data Validation in the ribbon.
2. In the Data Validation window that opens, select List under Allow, and under Source, select the up arrow icon. This will let you select the range of cells you want to use as the source for this drop-down list.
3. Select the second sheet where you set up the drop-down list source data, and then select only the header fields. These will be used to fill out the initial drop-down list in the cell you’ve selected.
4. Select the down arrow in the selection window to expand the Data Validation window. You’ll see the range you’ve selected now displayed in the Source field. Select OK to finish.
5. Now, back on the main sheet, you’ll notice that the first drop-down list contains each of the header fields from the second sheet.
Now that your first drop-down list is finished, it’s time to create your next, linked drop-down list.
Set Up Your First Drop Down List
Select the second cell that you want to load list items for depending on what’s selected in the first cell.
Repeat the process above to open the Data Validation window. Select List in the Allow drop-down. The Source field is what will pull in list items depending on what’s selected in the first drop-down list.
To do this, enter the following formula:
=INDIRECT($B$1)
How does the INDIRECT function work?
This function returns a valid Excel reference (in this case to a range), from a text string. In this case, the text string is the name of the range passed by the first cell ($B$1). So INDIRECT takes the name of the range and then provides the drop-down data validation with the correct range associated with that name.
Note: If you configure the data validation for this second drop-down without selecting a value from the first drop-down, you’ll see an error message. You can select Yes to ignore the error and continue.
Now, test your new multiple, linked drop-down lists. Use the first drop-down to select one of the computer parts. When you select the second drop-down, you should see the appropriate list items for that computer part. These were the part types in the column on the second sheet that you filled in for that part.
As you can see, this is a very cool way to make your spreadsheets much more dynamic. By filling in subsequent drop-down lists in response to what users select in other cells, you can make your spreadsheets far more responsive to users, and the data far more useful.
Play around with the tips above and see what kind of interesting linked drop-down lists you can create in your spreadsheets. Share some of your own interesting tips in the comments section below.
Skip to content
Одной из наиболее полезных функций проверки данных является возможность создания выпадающего списка, который позволяет выбирать значение из предварительно определенного перечня. Но как только вы начнете применять это в своих таблицах, то неизбежно столкнетесь с проблемой: нужно сделать один выпадающий список в Excel в зависимости от значения в другом. Другими словами, как сделать динамический многоуровневый связанный список?
Вот примеры таких задач:
- перечень городов, зависящих от выбранной страны.
- товары, которые изготавливает определенный производитель.
- наименования продуктов, которые входят в товарную группу.
- выбрать модель автомобиля в зависимости от его марки.
Выглядеть это может примерно так:
Такие списки называются зависимыми, или связанными, поскольку их содержание зависит друг от друга. Такие сложные конструкции можно создавать несколькими способами.
- 1. Именованные диапазоны + функция ДВССЫЛ.
- А как быть с пробелами?
- 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.
Для начала поясним, что же такое связанные выпадающие списки.
Это 2 выпадающих списка, при этом список значений одного из выпадающих списков зависит от выбора значения в другом выпадающем списке. Создать по отдельности выпадающие списки не представляет сложностей, но и связать выпадающие списки можно достаточно просто.
Для наглядности рассмотрим следующую ситуацию: у нас есть несколько категорий блюд, например, пицца, суши и паста, а также виды блюд в каждой категории (пицца Пепперони, суши Филадельфия, паста Феттучини и т.д.):
В результате мы хотим получить своеобразный двухуровневый зависимый выпадающий список: на первом уровне (списке) — категории блюд, на втором — блюда из выбранной категории.
Как сделать зависимые выпадающие списки?
В основе создания связанных выпадающих списков лежит применение функции ДВССЫЛ, которая позволяет преобразовывать текст из ячейки в ссылку.
Другими словами, если в ячейку введено текстовое значение «А1», то функция ДВССЫЛ вернет ссылку на ячейку А1.
Теперь зададим имена диапазонам состоящим из всех видов блюд каждой конкретной категории.
Для этого в панели вкладок выбираем Формулы -> Определенные имена -> Присвоить имя:
Выделяем диапазон ячеек A2:A6 и создаем диапазон с именем Пицца, аналогичные действия повторяем и для списков с суши (имя диапазона — Суши) и пастой (имя диапазона — Паста):
Обратите внимание, что при создании имен диапазонов имя не должно включать в себя пробелы.
В том случае если в названии категории все же содержится пробел (например, Японская кухня), то одним из вариантов решения является использование нижнего подчеркивания вместо пробела в имени диапазона (Японская_кухня).
Создадим первый выпадающий список в ячейке A10, состоящий из категорий блюд (Пицца, Суши и Паста). В панели вкладок выбираем Данные -> Работа с данными -> Проверка данных, указываем тип данных Список и в качестве источника выделяем диапазон A1:C1:
Теперь создаем второй выпадающий список, полностью повторяем действия с созданием первого списка, только в поле Источник записываем формулу =ДВССЫЛ(A10):
Имена созданных диапазонов обязательно должны совпадать с элементами первого списка, поэтому если в первом списке есть категории содержащие пробелы, то при обращении к имени диапазона необходимо заменить пробелы на нижние подчеркивания.
Это можно осуществить с помощью функции ПОДСТАВИТЬ, которая позволяет заменить старый текст (пробел) на новый текст (нижнее подчеркивание) в текстовой строке, т.е. в нашем случае формула примет вид =ДВССЫЛ(ПОДСТАВИТЬ(A10;» «;»_»)).
Также минусом данного способа создания списков является невозможность использования динамических именованных диапазонов.
Подробно ознакомиться с примером зависимых выпадающих списков — скачать пример.
Связанные выпадающие списки и формула массива в Excel
Итак, как сделать два связанных списка в Excel: категория, подкатегория и категория более нижнего уровня. Своими словами в данном случае нижний уровень — это «подподкатегория» если она вообще существует. Но для лучшего понимания данного обучающего материала, предположим, что существует.
Два связанных выпадающих списка с формулой массива
В любом случае, с самого начала напишем, что этот учебный материал является продолжением материала: Как сделать зависимые выпадающие списки в ячейках Excel, в котором подробно описали логику и способ создания одного из таких списков. Рекомендуем вам ознакомиться с ним, потому что здесь подробно описывается только то, как сделать тот другой связанный выпадающий список 🙂 А это то, что мы хотим получить:
- тип автомобиля: Легковой, Фургон и Внедорожник (Категория)
- производитель: Fiat, Volkswagen i Suzuki (Подкатегория) и
- модель: . немножечко их есть 🙂 (Подподкатегория)
В то же время мы имеем следующие данные:
Этот список должен быть отсортирован в следующей очередности:
Он может быть любой длины. Что еще важно: стоит добавить к нему еще два меньших списка, необходимых для Типа и Производителя, то есть к категории (первый список) и подкатегории (второй список). Эти дополнительные списки списки выглядят следующим образом:
Дело в том, что эти списки не должны иметь дубликатов записей по Типу и Производителю, находящихся в списке Моделей. Вы можете создать их с помощью инструмента «Удалить дубликаты» (например, это показано в этом видео продолжительностью около 2 минут). Когда мы это сделали, тогда .
Первый и второй связанный выпадающий список: Тип и Производитель
Для ячеек, которые должны стать раскрывающимися списками в меню «Данные» выбираем «Проверка данных» и как тип данных выбираем «Список».
Для Типа как источник данных мы просто указываем диапазон B7:B9.
Для Производителя мы уже используем формулу, которая подробно описана здесь. Она выглядит так:
Модель — описание для этой записи сделаем таким же самым образом.
Третий связывающий выпадающий список: Модель
Теперь рассмотрим, как связать выпадающий список в Excel. Поскольку Модель зависит как от Типа, так и от Производителя — значит мы будем использовать сложную формулу. После поместим ее не в проверку данных, а в именной диапазон. Соответственно проверка данных будет содержать ссылку на это имя. Предположим, мы хотим отобразить в нем легковые модели Fiat. В первом списке мы выбрали Легковой, во втором — Fiat.
Мы будем перемещать ячейку H4 на столько строк, пока не найдем позицию первого легкового Fiatа. Поэтому в колонке Тип мы должны иметь значение Легковой, а в колонке Производитель должен быть Fiat. Если бы мы использовали промежуточный столбец (это было бы отличным решением, но хотели бы показать вам что-то более крутое ;-), то мы бы искали комбинацию этих данных: Легковой Fiat. Однако у нас нет такого столбца, но мы можем создать его «на лету», другими словами, используя формулу. Набирая эту формулу, вы можете себе представить, что такой промежуточный столбец существует, и вы увидите, что будет проще 😉
Для определения положения Легковой Fiat, мы, конечно, будем использовать функцию ПОИСКПОЗ. Смотрите:
Вышеописанное означает, что мы хотим знать позицию Легкового Fiatа (отсюда и связь B4&C4). Где? В нашем воображаемом вспомогательном столбце, то есть: F5:F39&G5:G39. И здесь самая большая сложность всей формулы.
Остальное уже проще, а наибольшего внимания требует функция СЧЁТЕСЛИМН, которая проверяет, сколько есть Легковых Fiatов. В частности, она проверяет, сколько раз в списке встречаются такие записи, которые в столбце F5:F39 имеют значение Легковой, а в столбце G5:G39 — Fiat. Функция выглядит так:
А вся формула для именного диапазона раскрывающегося списка это:
Если вы планируете использовать эту формулу в нескольких ячейках — не забудьте обозначить ячейки как абсолютные ссылки!
Теперь чтобы правильно использовать данную формулу по назначению в третьем выпадающем списке нам необходимо выполнить рад последовательных действий:
- Создаем новое имя. Для этого выберите инструмент: «ФОРМУЛЫ»-«Определенные имена»-«Диспетчер имен»-«Создать».
- При создании имени в поле «Имя:» вводим слово – модель, а в поле «Диапазон:» вводим выше указанную формулу и нажимаем на всех открытых диалоговых окнах ОК:
- Перейдите на ячейку D4 чтобы там создать выпадающий список, в котором на этот раз в поле ввода «Источник:» следует указать ссылку на выше созданное имя с формулой =модель.
Когда вы перейдете в меню «Данные», «Проверка данных» и выберите как Тип данных «список», а в поле «Источник» вставьте не саму формулу, а ссылку на имя «=модель» именного диапазона с этой формулой. Такой подход обеспечит стабильность работы третьего выпадающего списка.
Двухуровневый выпадающий список в Excel
Имеется несколько способов создания выпадающего списка. Выбор одного из них зависит от структуры имеющихся у вас данных.
Первый способ создания двухуровнего списка
Первый способ основывается на создание «умной» таблицы, заголовок которой содержит значения первого выпадающего списка (группы), а строки таблицы соответствуют значениям второго выпадающего списка (подгруппы). Значения элементов подгруппы должны располагаться в соответствующем столбце группы, как на рисунке ниже.
Теперь приступим к созданию первого выпадающего списка группы (в моем случае — список стран):
- Выберите ячейку, в которую будете вставлять выпадающий список;
- Переходим на вкладку ленты Данные;
- Выбираем команду Проверка данных;
- В выпадающем списке выбираем значение Список;
- В поле Источник указываем следующую формулу =ДВССЫЛ(«Таблица1[#Заголовки]»).
Осталось создать второй зависимый выпадающий список – список подгрупп.
Смело повторяем 4 первых пункта описанных выше. Источником в окне Проверка данных для второго выпадающего списка будет служить формула =ДВССЫЛ(«Таблица1[«&F2&»]»). Ячейка F2 в данном случае — значение первого выпадающего списка.
Второй способ создания двухуровнего списка
Второй способ удобно применять, когда данные выпадающего списка записаны в два столбца. В первом идет наименование группы, а во втором – подгруппы.
ВАЖНО! Перед созданием зависимого списка по подгруппам необходимо отсортировать исходную таблицу по первому столбцу (столбец с группой) далее будет понятно зачем это делается.
Для создания выпадающего групп нам понадобится дополнительный столбец, содержащий уникальные значения групп из исходной таблицы. Для создания этого списка используйте функцию удаления дубликатов или воспользуйтесь командой Уникальные из надстройки VBA-Excel.
Теперь создадим выпадающий список групп. Для этого выполните 4 первых пункта из первого способа создания двухуровнего списка. В качестве Источника укажите диапазон уникальных значений групп. Тут все стандартно.
Теперь самая сложная часть — указать в Источнике динамическую ссылку на диапазон со значениями второго выпадающего списка (списка подгрупп). Решать ее будем с помощью функции СМЕЩ(ссылка, смещ_по_строкам, смещ_по_столбцам, [высота], [ширина]), которая возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов.
- Ссылка в нашем случае — $A$1 — верхний левый угол исходной таблицы;
- Смещ_по_строкам — ПОИСКПОЗ(F3;$A$1:$A$67;0)-1 — номер строки со значением искомой группы (в моем случае страны ячейка F3) минус единица;
- Cмещ_по_столбцам — 1 — так как нам необходим столбец с подгруппами (городами);
- [Высота] — СЧЁТЕСЛИ($A$1:$A$67;F3) — количество подгрупп в искомой группе (количество городов в стране F3);
- [Ширина] — 1 — так как это ширина нашего столбца с подгруппами.
Сводные таблицы Excel
Под связанными списками понимаются несколько (минимум – два) выпадающих списков, когда содержимое последующих зависит от выбора пользователя в предыдущих. Например, в первом списке можно выбрать категорию товара, а во втором – увидеть товары из выбранной категории. Давайте рассмотрим несколько способов создать такие списки.
Способ 1. Функция ДВССЫЛ (INDIRECT)
Этот фокус основан на применении функции ДВССЫЛ (INDIRECT), которая умеет делать одну простую вещь – преобразовывать содержимое любой указанной ячейки в адрес диапазона, который понимает Excel. Т.е. если в ячейке лежит текст «А1», то функция выдаст в результате ссылку на ячейку А1. Если в ячейке лежит слово «Маша», то функция выдаст ссылку на именованный диапазон с именем Маша и т.д.
Возьмем, к примеру, вот такой список моделей автомобилей Toyota, Ford и Nissan:
Список моделей автомобилей
Выделим весь список моделей Toyota (с ячейки А2 и вниз до конца списка) и дадим этому диапазону имя Toyota на вкладке Формулы (Formulas) с помощью Диспетчера имен (Name Manager), кнопка Создать (Create). Затем повторим то же самое со списками моделей Ford и Nissan, задав имена диапазонам Ford и Nissan соответственно.
При задании имен помните о том, что они не должны содержать пробелов, знаков препинания и начинаться обязательно с буквы. Поэтому если бы в одной из марок автомобилей присутствовал бы пробел (например, Land Rover), то его пришлось бы заменить в ячейке и в имени диапазона на нижнее подчеркивание (т.е. Land_Rover).
Теперь создадим первый выпадающий список для выбора марки автомобиля. Выделите пустую ячейку и нажмите кнопку Проверка данных (Data Validation) на вкладке Данные (Data). Затем из выпадающего списка Тип данных (Allow) выберите вариант Список (List) и в поле Источник (Source) выделите ячейки с названиями марок (ячейки A1:C1 в нашем примере). После нажатия на ОК первый выпадающий список готов:
Теперь создадим первый выпадающий список для выбора марки автомобиля
Теперь создадим второй (зависимый) выпадающий список, в котором будут отображаться только модели выбранной в первом списке марки. Так же как в предыдущем случае, откройте окно Проверки данных, но в поле Источник нужно будет ввести вот такую формулу: =ДВССЫЛ(F3) или =INDIRECT(F3) , где F3 – адрес ячейки с первым выпадающим списком (замените на свой).
Все. После нажатия на ОК содержимое второго списка будет выбираться по имени диапазона, выбранного в первом списке.
Минусы такого способа:
- В качестве вторичных (зависимых) диапазонов не могут выступать динамические диапазоны, задаваемые формулами типа СМЕЩ (OFFSET). Для первичного (независимого) списка их использовать можно, а вот вторичный список должен быть определен жестко, без формул. Однако, это ограничение можно обойти, создав отсортированный список соответствий марка-модель (см. Способ 2).
- Имена вторичных диапазонов должны совпадать с элементами первичного выпадающего списка. Т.е. если в нем есть текст с пробелами, то придется их заменять на подчеркивания с помощью функции ПОДСТАВИТЬ (SUBSTITUTE), т.е. формула будет выглядеть как =ДВССЫЛ(ПОДСТАВИТЬ(F3;» «;»_»)) .
- Надо руками создавать много именованных диапазонов (если у нас много марок автомобилей).
Способ 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH)
Этот способ требует наличия отсортированного списка соответствий марка-модель вот такого вида:
Список соответствий и функции СМЕЩ и ПОИСКПОЗ
Для создания первичного выпадающего списка марок можно воспользоваться обычным способом, описанным выше, т.е.
- дать имя диапазону D1:D3 (например, Марки) с помощью Диспетчера имен (Name Manager) с вкладки Формулы (Formulas).
- выбрать на вкладке Данные (Data) команду Проверка данных (Data Validation).
- выбрать из выпадающего списка вариант проверки Список (List) и указать в качестве Источника (Source) =Марки или просто выделить ячейки D1:D3 (если они на том же листе, где список).
А вот для зависимого списка моделей придется создать именованный диапазон с функцией СМЕЩ (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) знак «равно» и имя нашего диапазона, т.е. =Модели .
Связанный список в MS EXCEL
Создадим выпадающий список, содержимое которого зависит от значений другой ячейки.
Обычный Выпадающий (раскрывающийся) список отображает только один перечень элементов. Связанный список – это такой выпадающий список, который может отображать разные перечни элементов, в зависимости от значения другой ячейки.
Потребность в создании связанных списков (другие названия: связанные диапазоны, динамические списки) появляется при моделировании иерархических структур данных. Например:
- Отдел – Сотрудники отдела. При выборе отдела из списка всех отделов компании, динамически формируется список, содержащий перечень фамилий всех сотрудников этого отдела (двухуровневая иерархия);
- Город – Улица – Номер дома. При заполнении адреса проживания можно из списка выбрать город, затем из списка всех улиц этого города – улицу, затем, из списка всех домов на этой улице – номер дома (трехуровневая иерархия).
В этой статье рассмотрен только двухуровневый связанный список. Многоуровневый связанный список рассмотрен в одноименной статье Многоуровневый связанный список.
Создание иерархических структур данных позволяет избежать неудобств выпадающих списков связанных со слишком большим количеством элементов.
Связанный список можно реализовать в EXCEL, с помощью инструмента Проверка данных ( Данные/ Работа с данными/ Проверка данных ) с условием проверки Список (пример создания приведен в данной статье) или с помощью элемента управления формы Список (см. статью Связанный список на основе элемента управления формы).
Создание Связанного списка на основе Проверки данных рассмотрим на конкретном примере.
Задача: Имеется перечень Регионов, состоящий из названий четырех регионов. Для каждого Региона имеется свой перечень Стран. Пользователь должен иметь возможность, выбрав определенный Регион, в соседней ячейке выбрать из Выпадающего списка нужную ему Страну из этого Региона.
Таблицу, в которую будут заноситься данные с помощью Связанного списка, разместим на листе Таблица. См. файл примера Связанный_список.xlsx
Список регионов и перечни стран разместим на листе Списки.
Обратите внимание, что названия регионов (диапазон А2:А5 на листе Списки) в точности должны совпадать с заголовками столбцов, содержащих названия соответствующих стран (В1:Е1).
Присвоим имена диапазонам, содержащим Регионы и Страны (т.е. создадим Именованные диапазоны). Быстрее всего это сделать так:
- выделитьячейки А1:Е6 на листе Списки(т.е. диапазон, охватывающий все ячейки с названиями Регионов и Стран);
- нажать кнопку «Создать из выделенного фрагмента» (пункт меню Формулы/ Определенные имена/ Создать из выделенного фрагмента );
- Убедиться, что стоит только галочка «В строке выше»;
- Нажать ОК.
Проверить правильность имени можно через Диспетчер Имен ( Формулы/ Определенные имена/ Диспетчер имен ). Должно быть создано 5 имен.
Можно подкорректировать диапазон у имени Регионы (вместо =списки!$A$2:$A$6 установить =списки!$A$2:$A$5 , чтобы не отображалась последняя пустая строка)
На листе Таблица, для ячеек A5:A22 сформируем выпадающий список для выбора Региона.
- выделяем ячейки A5:A22;
- вызываем инструмент Проверка данных;
- устанавливаем тип данных – Список;
- в поле Источник вводим: =Регионы
Теперь сформируем выпадающий список для столбца Страна (это как раз и будет желанный Связанный список).
- выделяем ячейки B5:B22;
- вызываем инструмент Проверка данных;
- устанавливаем тип данных – Список;
- в поле Источник вводим: =ДВССЫЛ(A5)
Важно, чтобы при создании правила Проверки данных активной ячейкой была B5, т.к. мы используем относительную адресацию.
Тестируем. Выбираем с помощью выпадающего списка в ячейке A5 Регион – Америка, вызываем связанный список в ячейке B5 и балдеем – появился список стран для Региона Америка: США, Мексика…
Теперь заполняем следующую строку. Выбираем в ячейке A6 Регион – Азия, вызываем связанный список в ячейке B6 и опять балдеем: Китай, Индия…
Необходимо помнить, что в именах нельзя использовать символ пробела. Поэтому, при создании имен, вышеуказанным способом, он будет автоматически заменен на нижнее подчеркивание «_». Например, если вместо Америка (ячейка В1) ввести «Северная Америка» (соответственно подкорректировав ячейку А2), то после нажатия кнопки Создать из выделенного фрагмента будет создано имя «Северная_Америка». В этом случае формула =ДВССЫЛ(A5) работать не будет, т.к. при выборе региона «Северная Америка» функция ДВССЫЛ() не найдет соответствующего имени. Поэтому формулу можно подкорректировать, чтобы она работала при наличии пробелов в названиях Регионов: =ДВССЫЛ(ПОДСТАВИТЬ(A5;» «;»_»)) .
Теперь о недостатках.
При создании имен с помощью кнопки меню Создать из выделенного фрагмента, все именованные диапазоны для перечней Стран были созданы одинаковой длины (равной максимальной длине списка для региона Европа (5 значений)). Это привело к тому, что связанные списки для других регионов содержали пустые строки.
Конечно, можно вручную откорректировать диапазоны или даже вместо Именованных диапазонов создать Динамические диапазоны. Но, при большом количестве имен делать это будет достаточно трудоемко.
Кроме того, при добавлении новых Регионов придется вручную создавать именованные диапазоны для их Стран.
Чтобы не создавать десятки имен, нужно изменить сам подход при построении Связанного списка. Рассмотрим этот подход в другой статье: Расширяемый Связанный список.