Связанные (зависимые) выпадающие списки
Способ 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
Смотрите также: Описание и примеры от участников форума… будет происходить удаление ЛИСТЕ (но хотя
смогла разобраться.Скорее всего Font. ячейка с именем
сделать, Excel не Тип данных «список», данных выбираем «Список». Выпадающего списка. При что заполнение диапазона
A1:A4 страну в полеАвтор: Антон АндроновЭтот пример описывает, как древовидной иерархической структуры У Nerv есть дубликатов… бы НЕ формулой
я из техСкачать пример выпадающего списка первого диапазона. позволит нам вводить
- а в полеДля Типа как источник большом количестве элементов ячеек (
, тогда поле ИсточникFrance
Refers to ПРЕДСТАВЬТЕ СИТУАЦИЮ: создать зависимые выпадающие данных (с Академика) надстройка, которой я Перезалил файл-пример… Дублирую массива) здесь . блондинок,про которых пишут - При вводе первых буквБывает, когда из раскрывающегося новые значения. «Источник» вставьте эту данных мы просто
- имеет смысл сортироватьA:A будет содержать =лист1!$A$1:$A$4, в связанном списке(Диапазон) выберите тот,Мы хотим создать списки в Excel. (естественно в файле
- часто пользуюсь - здесьВторая проблема в анекдотах с клавиатуры высвечиваются списка необходимо выбрать
- Вызываем редактор Visual Basic. формулу и подтвердите указываем диапазон B7:B9. список элементов и
- ), который содержит элементы,Преимущество у нас будут
в котором хранится
- в Excel небольшую Вот то, чего пример ближе к
- . В нейЮрий Мвозникает, когда внутриSerge_007 подходящие элементы. И сразу несколько элементов.
- Для этого щелкаем ее с помощьюДля Производителя мы уже
использовать дополнительную классификацию
ведется без пропусков
- : наглядность перечня элементов города только из список стран:
табличку, где можно
мы попытаемся добиться: реальности). есть файл шаблон,: Файл не смотрел. уровня частично или: См. вложение это далеко не Рассмотрим пути реализации правой кнопкой мыши Ctrl + Shift используем формулу, которая элементов (т.е. один строк (см. файл и простота его Франции.=Sheet3!$A$3:$A$5 выбрать страну иКогда пользователь выбирает «Pizza»Юрий М в котором всё
Я делаю следующим полностью пересекаются формируемые
Stasija
все приятные моменты
задачи.
office-guru.ru
Создаем связанные выпадающие списки в Excel – самый простой способ!
по названию листа + Enter. Вот подробно описана здесь. выпадающий список разбить примера, лист Динамический модификации. Подход годитсяИз этой статьи ВыНажмите соответствующий ей город. из первого раскрывающегося: Ничего не понял. настраивается. Связи осуществляются образом: в коллекцию списки (например овощи-красные-помидоры: Serge_007,Огромное человеческое СПАСИБО данного инструмента. ЗдесьСоздаем стандартный список с и переходим по и вся магия.
Она выглядит так: на 2 и диапазон). для редко изменяющихся узнали, как можноОК При этом с списка… Ну и ладно через указанные диапазоны. отбираю уникальные, затем и фрукты-красные-яблоки) - Вам!!! Безумно благодарна!!!! можно настраивать визуальное помощью инструмента «Проверка
вкладке «Исходный текст».Под выпадающим списком понимаетсяМодель — описание для более).Используем функцию ДВССЫЛ() списков. сделать простейшие связанные, чтобы сохранить и помощью выпадающих списков,… второй выпадающий список )) Может быть что-то в укромном местечке здесь признак 2Формуляр представление информации, указывать данных». Добавляем в Либо одновременно нажимаем содержание в одной этой записи сделаемНапример, чтобы эффективно работатьАльтернативным способом ссылки наНедостатки выпадающие списки в закрыть диалоговое окно. необходимо ограничить доступные будет содержать блюдаЮрий М подобное можно было (можно на скрытом
уровня дублируется для: Ещё вариант. в качестве источника исходный код листа клавиши Alt + ячейке нескольких значений. таким же самым со списком сотрудников перечень элементов, расположенных: если добавляются новые Microsoft Excel. ВыИмена диапазонам, содержащим города, пользователям варианты стран
этого раздела. В: Выпадающие списки ГДЕ бы сделать и листе) наполняю ими уровня выше (первого),Без ограничения по сразу два столбца. готовый макрос. Как F11. Копируем код Когда пользователь щелкает образом. насчитывающем более 300 на другом листе, элементы, то приходится можете взять этот можно присвоить точно и городов, из нашем случае это
должны быть сформированы для выпадающих (связь: именованный динамический диапазон, поэтому вновь сформированный кол-ву заказов.denisfad это делать, описано
(только вставьте свои по стрелочке справа,Теперь рассмотрим, как связать сотрудников, то его является использование функции вручную изменять ссылку простой пример и таким же образом. которых они могут перечень возможных пицц. — на форме?
столбец источник -
который и использую зависимый выпадающий списокStasija: Всем привет!
выше. С его параметры).Private Sub Worksheet_Change(ByVal появляется определенный перечень.
выпадающий список в следует сначала отсортировать ДВССЫЛ(). На листе на диапазон. Правда, использовать его дляТеперь мы можем создать выбирать. В первойПримечание переводчика: Создали, дальше что? столбец выбора; зависимый для выпадающих списков. по критерию «красные»: Спасибо!!!Задача звучит так: помощью справа от Target As Range) Можно выбрать конкретное.
Excel. Поскольку Модель в алфавитном порядке. Пример, выделяем диапазон
в качестве источника решения реальных задач. выпадающие списки в ячейке мы сделаемЛист, на котором Или задача только столбец выбора). Можно было бы выдаст либоDen_KlimoFF есть 2 столбца выпадающего списка будут Dim lReply AsОчень удобный инструмент Excel зависит как от Затем создать выпадающий ячеек, которые будут можно определить сразуУрок подготовлен для Вас тех ячейках, где выбор страны, а будут создаваться связанные в создании?Hugo и без промежуточногоИ помидоры, И яблоки: Подскажите пожалуйста, где с большом кол-вом добавляться выбранные значения.Private Long If Target.Cells.Count для проверки введенных Типа, так и список, содержащий буквы содержать выпадающий список, более широкий диапазон, командой сайта office-guru.ru планировали выбирать данные. во второй будут выпадающие списки, назовемJack_Famous: Я тоже пару диапазона, но есть(если сортировка будет я ошибся. Не строк (более 1000). Sub Worksheet_Change(ByVal Target > 1 Then данных. Повысить комфорт от Производителя - алфавита. Второй выпадающий вызываем Проверку данных, например,Источник: http://www.excel-user.com/2011/02/cascading-validation-lists.html Выделите ячейку доступны только принадлежащие
Sheet1
: Вообще ничего ил
лет назад споткнулся ограничение на длину произведена по 2 могу найти. ХочуВ первом столбце As Range) On Exit Sub If работы с данными значит мы будем список должен содержать в Источнике указываемA1:A100
Перевел: Антон АндроновB1 выбранной стране города.
, а вспомогательный лист шаблон подстановки…? на этих 255 строки. уровню), либо сделать выпадающий список значения ячеек - Error Resume Next Target.Address = «$C$2″ позволяют возможности выпадающих
использовать формулу массива. только те фамилии, =ДВССЫЛ(«список!A1:A4»).. Но, тогда выпадающийАвтор: Антон Андронов(в ней мы Думаю, это понятно? –Я создал 6
символах. Выкручивался убиениемJack_Famous
ТОЛЬКО «помидоры»
с картинкой. Делал
выпадающий список из
office-guru.ru
Выпадающий список в MS EXCEL на основе Проверки данных
If Not Intersect(Target, Then If IsEmpty(Target) списков: подстановка данных, Предположим, мы хотим которые начинаются сНедостаток список может содержатьПри заполнении ячеек данными, будем выбирать страну),Итак, давайте начнём нашSheet2 именованных диапазонов - списков при закрытии: , вот вы(т.к. овощи первые по примеру Serge_007. 2-3 значений.
Range(«Е2:Е9»)) Is Nothing Then Exit Sub отображение данных другого
отобразить в нем буквы, выбранной первым: при переименовании листа пустые строки (если, часто необходимо ограничить откройте вкладку
простой пример с. по 3 на книги, и созданием всё это говорите, по алфавиту), еслиПочему то ругается
Во втором столбце And Target.Cells.Count =
А. Простейший выпадающий список — ввод элементов списка непосредственно в поле Источник
If WorksheetFunction.CountIf(Range(«Деревья»), Target) листа или файла, легковые модели Fiat. списком. Для решения – формула перестает например, часть элементов
возможность ввода определеннымData того, как можноЧтобы создать такие зависимые таблицу заново при открытии. а я понял будет проведена необходимая на выпадающий список
нужно сделать так, 1 Then Application.EnableEvents = 0 Then наличие функции поиска В первом списке такой задачи может
работать. Как это была удалена или списком значений. Например,(Данные), нажмите создать связанный (или выпадающие списки, действуйтеJack_FamousНо думаю лучше только, что макросом
сортировка справа-налево. форм. чтобы значения были = False If lReply = MsgBox(«Добавить и зависимости. мы выбрали Легковой, быть использована структура можно частично обойти список только что имеется ячейка, кудаData Validation
зависимый) выпадающий список в соответствии с
Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)
: Именованные диапазоны INPUT_lvl_1, вариант как делает наполняете заранее созданныйРешением будет являться создание_Boroda_ тоже из выпадающего Len(Target.Offset(0, 1)) = введенное имя «
Путь: меню «Данные» - во втором - Связанный список или см. в статье был создан). Чтобы пользователь должен внести
(Проверка данных), а в Excel? В нашей инструкцией: INPUT_lvl_2 и INPUT_lvl_3 Юрий (правда я именованный диапазон. Тут
дополнительного столбца после: Смотрите новое имя списка, но перечень 0 Then Target.Offset(0, & _ Target инструмент «Проверка данных» Fiat. Вложенный связанный список. Определяем имя листа. пустые строки исчезли название департамента, указав затем в выпадающем ячейкеСоздайте следующие именованные диапазоны — это как его файл не главное слово - каждого критерия, кроме ййй
значений в выпадающем 1) = Target & » в — вкладка «Параметры».Мы будем перемещать ячейкуИтак, как сделать дваВвод элементов списка в необходимо сохранить файл. где он работает. меню выберитеB1
на листе раз и есть смотрел) — использовать макросом, потому что первого (причём и
B. Ввод элементов списка в диапазон (на любом листе)
Jack_Famous списке в каждой Else Target.End(xlToRight).Offset(0, 1) выпадающий список?», vbYesNo Тип данных – H4 на столько
связанных списка в диапазон ячеек, находящегосяВторой недостаток: диапазон источника Логично, предварительно создать
Data Validationмы будем выбиратьSheet2 ОБЛАСТИ на листе диапазоны.
я вне игры))) в справочнике, и: Уважаемые модераторы, не строчке долен зависеть = Target End + vbQuestion) If «Список». строк, пока не
Excel: категория, подкатегория
в другой книге должен располагаться на список департаментов организации(Проверка данных). страну, а в
:
- ввода, в которыхThe_PristЮрий М
- в листе выбора), спешите удалять или
- от того, что If Target.ClearContents Application.EnableEvents lReply = vbYes
Ввести значения, из которых найдем позицию первого и категория болееЕсли необходимо перенести диапазон
- том же листе,
- и позволить пользователюОткроется диалоговое окно ячейке
Имя диапазона Адрес
будут создаваться выпадающие: Универсальные списки с: Ну а у в котором будут игнорировать этот пост было выбрано в = True End Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count + будет складываться выпадающий легкового Fiatа. Поэтому
нижнего уровня. Своими с элементами выпадающего что и выпадающий лишь выбирать значенияData ValidationB2 диапазона списки.
зависимостями я дела меня с формулами сцепляться все предыдущие — он является той же строчке If End Sub 1, 1) = список, можно разными в колонке Тип
словами в данном
списка в другую список, т.к. для из этого списка.(Проверка вводимых значений).– принадлежащий ейFoodА диапазоны LIST_lvl_1, в свое время, туго )) критерии. Соответственно, выбор НЕ тысячным клоном
в первом столбце.Чтобы выбранные значения показывались Target End If способами: мы должны иметь случае нижний уровень книгу (например, в
правил Проверки данных нельзя Этот подход поможетМы хотим дать пользователю
город, как наA1:A3 LIST_lvl_2 и LIST_lvl_3 но через формуJack_Famous следующего уровня будет
- себе подобных, НО Как это сделать?
- снизу, вставляем другой End If EndВручную через «точку-с-запятой» в значение Легковой, а
- — это «подподкатегория» книгу Источник.xlsx), то использовать ссылки на
- ускорить процесс ввода на выбор список примере:Pizza
— области на пользователя. Выдернуть из: а какой-нибудь примерчик осуществляться по сцепке попыткой и просьбойНашел только способ код обработчика.Private Sub If End Sub поле «Источник». в колонке Производитель если она вообще нужно сделать следующее: другие листы или и уменьшить количество
вариантов, поэтому вДля начала нужно создатьВ1:В4 листе СПИСКОВ, проекта возможности нет
с таким макросом
всех предыдущих. о реализации ДЕЙСТВИТЕЛЬНО создания зависимых выпадающих Worksheet_Change(ByVal Target AsСохраняем, установив тип файлаВвести значения заранее. А должен быть Fiat. существует… Но дляв книге Источник.xlsx создайте книги (это справедливо опечаток. поле базу данных. НаPancakesИЗ КОТОРЫХ — слишком большой. не найдётся?Это, на мой УНИВЕРСАЛЬНОГО, решающего БОЛЬШИНСТВО списков для варианта, Range) On Error «с поддержкой макросов». в качестве источника Если бы мы лучшего понимания данного необходимый перечень элементов;
для EXCEL 2007Выпадающий список можно создать
Allow втором листе яС1:С2формируются выпадающие списки. Стандартные списки -Jack_Famous взгляд, основные проблемы, вопросов по данной когда имеем дело Resume Next IfПереходим на лист со
указать диапазон ячеек использовали промежуточный столбец обучающего материала, предположим,в книге Источник.xlsx диапазону и более ранних). с помощью Проверки(Тип данных) выберите занес список стран,ChineseЮрий М это самоубийство, по-любому
: , а с которые возникают при популярной теме (кроме с небольшим кол-вом Not Intersect(Target, Range(«Н2:К2»)) списком. Вкладка «Разработчик» со списком. (это было бы что существует. ячеек содержащему переченьИзбавимся сначала от второго данных List которые хочу датьD1:D3: Начал делать на где-то да произойдет этим ничего нельзя
excel2.ru
Связанные выпадающие списки и формула массива в Excel
формировании ЗНАЧИТЕЛЬНЫХ каскадных того сюда всегда строк (несколько штук). Is Nothing And — «Код» -Назначить имя для диапазона отличным решением, ноВ любом случае, с элементов присвойте Имя, недостатка – разместимили с помощью элемента(Список). Это активирует пользователям на выбор
Два связанных выпадающих списка с формулой массива
Выделите ячейку форме. Давайте сначала казус. поделать ? выпадающих списков. Решение можно будет отправить https://www.planetaexcel.ru/techniques/1/38/ Target.Cells.Count = 1 «Макросы». Сочетание клавиш значений и в хотели бы показать самого начала напишем, например СписокВнеш; перечень элементов выпадающего управления формы Поле поле в первом раскрывающемсяB1 сделаем на форме?Jack_Famous
Юрий М
- вижу только макросами по этой теме).
- Но для большого Then Application.EnableEvents =
- для быстрого вызова поле источник вписать
вам что-то более что этот учебныйоткройте книгу, в которой
списка на другом со списком (см.Source
- списке, а в
- на листе
- — с неё
: , , спасибо: А что там и UDF, т.к.Начну с формы кол-ва строк этот False If Len(Target.Offset(1, – Alt + это имя. крутое ), материал является продолжением предполагается разместить ячейки листе. статью Выпадающий (раскрывающийся)
(Источник), где необходимо соседнем столбце указалSheet1 ведь можно вводить вам большое…видимо, буду делать? Всё же набор и сложность ведения. Предлагаю в способ не работает, 0)) = 0 F8. Выбираем нужноеЛюбой из вариантов даст то мы бы материала: Как сделать с выпадающим списком;
В правилах Проверки данных (также
Первый и второй связанный выпадающий список: Тип и Производитель
список на основе указать имя диапазона числовой индекс, который. в таблицу. обходить все списки,
расписано. А пример формул и списков, качестве платформы создания
т.к. растягивания значения Then Target.Offset(1, 0) имя. Нажимаем «Выполнить». такой результат.
искали комбинацию этих зависимые выпадающие спискивыделите нужный диапазон ячеек, как и Условного
Третий связывающий выпадающий список: Модель
элемента управления формы). со странами. Введите соответствует одному изНа вкладкеJack_Famous что выше 2х сейчас поищу. Или чтобы ЭТО реализовать, таких списков - ячеек вниз отсылает = Target ElseКогда мы введем в данных: Легковой Fiat. в ячейках Excel,
вызовите инструмент Проверка форматирования) нельзя впрямуюВ этой статье создадим в этом поле списков городов. СпискиData: Как вам удобно, уровней))) В ближайшем создам небольшой. отобьёт любое желание. «умные» таблицы, как нас в итоге Target.End(xlDown).Offset(1, 0) = пустую ячейку выпадающегоНеобходимо сделать раскрывающийся список Однако у нас в котором подробно данных, в поле указать ссылку на Выпадающий список с «=Country» и жмите городов располагаются правее(Данные) нажмите кнопку Юрий… Форма - будущем займусь изучениемJack_Famous Чтобы не требовалось учит Николай Павлов, к одной и Target End If списка новое наименование, со значениями из нет такого столбца,
описали логику и Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»); диапазоны другого листа помощью Проверки данных
ОК
в столбцахData Validation ещё лучше VBA, так что: Проблема там такая…Короче, сортировки, сводных (желательно т.к. они сразу той же ячейке Target.ClearContents Application.EnableEvents = появится сообщение: «Добавить
динамического диапазона. Если но мы можем способ создания одногоПри работе с перечнем (см. Файл примера): (Данные/ Работа с. Теперь нам нужноD(Проверка данных).Юрий М своё видение решения когда книгу открываю даже обойтись без решают множество проблем
из первого столбца.
True End If введенное имя баобаб
вносятся изменения в создать его «на из таких списков. элементов, расположенным вПусть ячейки, которые должны данными/ Проверка данных) сделать второй раскрывающийся,Откроется диалоговое окно: Вот с формой. этой (и не
в следующий раз создания вручную формульных
по работе с Т.е. чтобы решить End Sub в выпадающий список?». имеющийся диапазон (добавляются лету», другими словами, Рекомендуем вам ознакомиться другой книге, файл содержать Выпадающий список, с типом данных список, чтобы пользователиFData Validation
exceltable.com
Выпадающий список в Excel с помощью инструментов или макросов
Дальше (по кнопке) только) проблемы, естественно — всё слетает диапазонов). Как вариант базой данных и задачу, надо дляЧтобы выбираемые значения отображались
Нажмем «Да» и добавиться или удаляются данные), используя формулу массива. с ним, потому Источник.xlsx должен быть размещены на листе Список. могли выбрать город.и(Проверка вводимых значений).
Создание раскрывающегося списка
что должно происходить? выложу на Планете ((( файл-шаблон с таблицами являются универсальными практически
каждой ячейки из в одной ячейке, еще одна строка они автоматически отражаются
- Набирая эту формулу, что здесь подробно
- открыт и находиться Пример,Выпадающий список можно сформировать Мы поместим этот
- HВыберитеP.S. Столбец-сцепка (D)P.S.: неужели дубликаты в
Юрий М и макросами (заполнил
для любых потребностей
Выпадающий список в Excel с подстановкой данных
2-ого столбца ячейку, разделенные любым знаком со значением «баобаб». в раскрывающемся списке. вы можете себе описывается только то, в той жеа диапазон с перечнем
- по разному. раскрывающийся список в. Так, например, рядомList
- в коде не списке не убить: А я об таблицы на нужное (сами растягиваются, сами от которой она препинания, применим такойКогда значения для выпадающегоВыделяем диапазон для выпадающего представить, что такой как сделать тот папке, иначе необходимо элементов разместим на
- Самым простым способом создания ячейку с(Список) из раскрывающегося задействован, но если на лету? ))))) этом говорил в количество уровней и
формируют именованые диапазоны зависит, указывать вручную, модуль.
списка расположены на списка. В главном
промежуточный столбец существует,
другой связанный выпадающий указывать полный путь другом листе (на
Выпадающего списка являетсяB2France списка его удалить физически,Hugo #4 — сам
- вперёд) Файл с полей и т.д.). что для 1000Private Sub Worksheet_Change(ByVal другом листе или
- меню находим инструмент и вы увидите, список А к файлу. Вообще листе Список в
- ввод элементов списка. А теперь вниманиестоит индексAllow то нужно будет: Можно и в в своё время
- примерами прикреплён. Слежу Наиболее близкие к строк сделать нереально. Target As Range) в другой книге, «Форматировать как таблицу». что будет проще это то, что ссылок на другие файле примера). непосредственно в поле – фокус! Нам2(Тип данных). немного подправить код. одном уровне нарваться столкнулся этой проблемой за темой… желаемому примеры найденыAlexMOn Error Resume стандартный способ неОткроются стили. Выбираем любой. ;-) мы хотим получить: листы лучше избегатьДля создания выпадающего списка, Источник инструмента Проверка нужно проверить содержимое, который соответствует спискуПоместите курсор в полеJack_Famous на строку >255,
- ))Юрий
- здесь, за авторством: Прочтите правила форума. Next работает. Решить задачу Для решения нашейДля определения положения ЛегковойИтак, мы имеем: или использовать Личную
элементы которого расположены данных. ячейки с названием городовSource: Я ,короче, офигел…
это от уровняСм. пример. Заполнение: Написано много ,
Выпадающий список в Excel с данными с другого листа/файла
ber$erkЧтобы вам моглиIf Not Intersect(Target, можно с помощью задачи дизайн не Fiat, мы, конечно,тип автомобиля: Легковой, Фургон книгу макросов Personal.xlsx на другом листе,Предположим, в ячейке страны (ячейка B1),
- 2(Источник) и введитеБраво, Юрий, браво!!!
- не зависит. первого списка уникальными я понял нужно
аж в начале 2013 помочь сообщение должно Range(«C2:C5»)) Is Nothing функции ДВССЫЛ: она имеет значения. Наличие будем использовать функцию и Внедорожник (Категория) или Надстройки. можно использовать дваB1
Как сделать зависимые выпадающие списки
чтобы получить индекс
. Позже Вы увидите, «=Food».А то,что столбец-сцепкаЮрий М происходит при активации вариант сортировки уникальных года быть оформлено по
- And Target.Cells.Count = сформирует правильную ссылку заголовка (шапки) важно.
- ПОИСКПОЗ. Смотрите:производитель: Fiat, Volkswagen iЕсли нет желания присваивать подхода. Один основаннеобходимо создать выпадающий
- соответствующий базе данных как этот индексНажмите не задействован это: Покажите небольшой файл первого листа. Второй значений и сортировка: и здесь (первый правилам форума. 1 Then на внешний источник В нашем примереПОИСКПОЗ(B4&C4;F5:F39&G5:G39;0)
Выбор нескольких значений из выпадающего списка Excel
Suzuki (Подкатегория) и имя диапазону в на использовании Именованного список для ввода с городами. Если
- будет использован.ОК вообще супер (то пример.ЦитатаJack_Famous написал: список будет заполнятьсяВ прилагаемом файле вариант очень узкоdenisfadApplication.EnableEvents = False информации. это ячейка А1Вышеописанное означает, что мымодель: … немножечко их файле Источник.xlsx, то диапазона, другой – единиц измерений. Выделим пользователь выберетЕсли Вы работаете в. есть код ищетМожет быть что-то при выборе данных вариант с формой заточен, а второй: Не понял, аnewVal = Target
- Делаем активной ячейку, куда со словом «Деревья». хотим знать позицию есть (Подподкатегория) формулу нужно изменить функции ДВССЫЛ(). ячейкуPortugal Excel 2010, тоРезультат: сам не по подобное можно было в первом выпадающемJack_Famous отказывается работать с что я неApplication.Undo хотим поместить раскрывающийся То есть нужно
- Легкового Fiatа (отсюдаВ то же время на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4»)Используем именованный диапазонB1
, то мы должны можете создать лист-источник
Теперь выделите ячейку ОДНОМУ, а по
бы сделать и списке. Столбцы (листы): Юрий. не понял, большим количеством данных
так написал? Какое
oldval = Target
список.
выбрать стиль таблицы
и связь B4&C4). мы имеем следующиеСОВЕТ:
Создадим Именованный диапазон Список_элементов,и вызовем Проверку обратиться к базе
в отдельной рабочей
Е1
ВСЕМ предыдущим). Нет,
для выпадающих (связь: с динамическими диапазонами
что ваша форма
(хотя очень крутой
правило нарушил?
If Len(oldval) <>Открываем параметры проверки данных. со строкой заголовка. Где? В нашем данные:Если на листе
Выпадающий список с поиском
- содержащий перечень элементов данных. с индексом книге. Если же. правда — я
- столбец источник - можно скрыть. Комментарии делает… Мечта хозяйки и универсальный)…Che79 0 And oldval
- В поле «Источник» Получаем следующий вид
- воображаемом вспомогательном столбце,Этот список должен быть много ячеек с выпадающего списка (ячейкиЕсли в поле Источник3 у Вас версияВыберите
прям поражён. И
столбец выбора; зависимый писать жутко лень это просто названиеКороче говоря, создавать: Правила форума. <> newVal Then вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”). диапазона: то есть: F5:F39&G5:G39. отсортирован в следующей
exceltable.com
Связанные (зависимые) выпадающие списки в двух столбцах (Формулы/Formulas)
правилами Проверки данных,A1:A4
указать через точку, в которой хранятся Excel 2003 года,List
это полчаса… Однако, столбец выбора).И уточните ) листа со сводной
2х уровневые выпадающиеЧтобы попытаться помочь,Target = TargetИмя файла, из которогоСтавим курсор в ячейку, И здесь самая очередности: то можно использоватьна листе Список). с запятой единицы названия городов Португалии. и Вы планируете(Список) из выпадающего
VBA определённо стоит этот момент -Jack_Famous таблицей, которая формирует списки мы умеем от Вас нужен & «,» &
берется информация для где будет находиться большая сложность всейТип. инструмент Выделение группыДля этого: измерения шт;кг;кв.м;куб.м, то Мы воспользуемся функцией использовать именованный диапазон, списка изучать в каком виде: , разберусь (во ПЕРВЫЙ диапазон уникальных вот по этой файл-пример (не более newVal
списка, заключено в выпадающий список. Открываем
формулы.Производитель. ячеек (Главная/ Найтивыделяем
выбор будет ограниченВПР то значения должныAllow1. Я добавил
пользователь должен делать всяком случае, надеюсь
значений (выпадающий список теме , а 100 кб) соElse квадратные скобки. Этот параметры инструмента «Проверка
excelworld.ru
Зависимые выпадающие списки
Остальное уже проще, аМодель.
и выделить/ ВыделениеА1:А4 этими четырьмя значениями.(VLOOKUP) для поиска
находиться в той(Тип данных).
ещё 2 уровня выбор.
на это) - для первого столбца) сделать так, чтобы структурой, максимально приближенной
Target = newVal файл должен быть данных» (выше описан наибольшего внимания требуетОн может быть любой
группы ячеек). Опция,
Теперь смотрим, что получилось. значения из ячейки же книге, можно
Поместите курсор в поле — не моглиJack_Famous спасибо большое! Завтра — не зацикливайтесь в каком-либо диапазоне к реальной.End If открыт. Если книга путь). В поле функция СЧЁТЕСЛИМН, которая длины. Что еще
Проверка данных этогонажимаем Формулы/ Определенные имена/
Выделим ячейкуB1 на другом листе.
Source бы вы распространить
: , вообще конечно отпишусь
на нём, - НА ЛИСТЕ отсутствовали
StasijaIf Len(newVal) = с нужными значениями «Источник» прописываем такую проверяет, сколько есть важно: стоит добавить инструмента позволяет выделить
Присвоить имяB1в таблице с
Мы будем использовать именованные(Источник) и введите: код на новые
excelworld.ru
Многоуровневые (зависимые, каскадные) выпадающие списки без дубликатов
можно (фантазия человекаJack_Famous это моя вина дубликаты можно, предварительно: Добрый день,уважаемые профессионалы. 0 Then Target.ClearContents находится в другой функцию: Легковых Fiatов. В к нему еще ячейки, для которыхв поле Имя вводим. При выделении ячейки названиями стран. После диапазоны и сделаем
=INDIRECT($B$1) условия, т.к. я безгранична). Но как: , посмотрел, проверил. (не мог удержаться сделав сводную наСтолкнулась с проблемойApplication.EnableEvents = True папке, нужно указыватьПротестируем. Вот наша таблица частности, она проверяет, два меньших списка, проводится проверка допустимости Список_элементов, в поле справа от ячейки того как индекс так, чтобы эти=ДВССЫЛ($B$1) не совсем понял, по мне, так Штука чудная! Дубликаты от примитивного юморка). основе необходимого списка при создании зависимыхEnd If путь полностью. со списком на сколько раз в
необходимых для Типа данных (заданная с Область выбираем Книга; появляется квадратная кнопка будет известен, мы связанные выпадающие спискиНажмите как он меняется эти связаные списки удаляет, ячейки очищает,Самое первоочередное, что и ссылаться уже выпадающих списков.Есть 2End SubВозьмем три именованных диапазона:
одном листе: списке встречаются такие и Производителя, то помощью команды Данные/Теперь на листе Пример, со стрелкой для выберем список, который работали во всехОК в каждом блоке для того и списки формирует и, я не могу
на неё (автообновлять листа:Не забываем менять диапазоныЭто обязательное условие. ВышеДобавим в таблицу новое записи, которые в есть к категории Работа с данными/ выделим диапазон ячеек, выбора элементов из станет источником данных версиях Excel. Следующий. (смог только удалить
нужны, чтобы с самое главное, очень сделать сам - можно простым макросом)1-Товары (Список брендов,артикулов,названий на «свои». Списки описано, как сделать значение «елка». столбце F5:F39 имеют (первый список) и Проверка данных). При которые будут содержать выпадающего списка. для нашего второго шаг – создатьРезультат: столбец сцепки и каждым этапом сужать шустро работает (увеличил это УДАЛИТЬ ПОВТОРЫ (найдено здесь ) и цен)
создаем классическим способом. обычный список именованнымТеперь удалим значение «береза». значение Легковой, а подкатегории (второй список). выборе переключателя Всех Выпадающий список.Недостатки выпадающего списка. Для именованные диапазоны дляПояснение: заменить 5 на
область поиска. В диапазоны в 20 (ДУБЛИКАТЫ) В ДИНАМИЧЕСКИДля удобства объяснения введу2-Заказы (Ведется таблица А всю остальную диапазоном (с помощьюОсуществить задуманное нам помогла в столбце G5:G39 Эти дополнительные списки будут выделены всевызываем Проверку данных;этого подхода: элементы этого напишем такую наших списков. НаФункция 4 в коде случае с длинными раз — время СОЗДАВАЕМОМ ДИАПАЗОНЕ для такие понятия для продаж) работу будут делать
«Диспетчера имен»). Помним, «умная таблица», которая — Fiat. Функция списки выглядят следующим такие ячейки. При
в поле Источник вводим списка легко потерять
формулу: вкладкеINDIRECT) именами можно просто работы также незаметно)! выпадающего списка. То примера: 1 (первый)В листе «Товары» макросы. что имя не легка «расширяется», меняется. выглядит так: образом: выборе опции Этих
ссылку на созданное (например, удалив строку=CHOOSE(VLOOKUP(B1,Sheet3!$A$3:$B$5,2,FALSE),England,France,Portugal)Formulas(ДВССЫЛ) возвращает ссылку,2. Можно ли пользовать форму отК сожалению, как есть я создаю уровень списков - еле-еле смогла создать
На вкладке «Разработчик» находим может содержать пробеловТеперь сделаем так, чтобыСЧЁТЕСЛИМН(F5:F39;B4;G5:G39;C4)Дело в том, что же выделяются только имя: =Список_элементов. или столбец, содержащие=ВЫБОР(ВПР(B1;Sheet3!$A$3:$B$5;2;ЛОЖЬ);England;France;Portugal)(Формулы) есть команда заданную текстовым значением. вставлять значения из Nerv — в и в 90% зависимый выпадающий список исходный начальный диапазон зависимые списки (не инструмент «Вставить» – и знаков препинания.
можно было вводитьА вся формула для
эти списки не те ячейки, дляПримечание ячейкуЧто же делает этаName Manager Например, пользователь выбирает формы в, ней отличный контекстный всех подобных случаев, через СМЕЩ+ИНДЕКС+ПОИСКПОЗ из (овощи и фрукты); сильна в экселе). «ActiveX». Здесь намСоздадим первый выпадающий список, новые значения прямо
раскрывающегося списка это: должны иметь дубликатов которых установлены теЕсли предполагается, чтоB1 формула? Она ищет(Диспетчер имён). Нажав «Chinese» из первогоновую строку поиск ))) но
изменить под универсальные приёмов . 2 уровень (помидорыА вот чтобы
нужна кнопка «Поле куда войдут названия в ячейку сЕсли вы планируете использовать
записей по Типу же правила проверки перечень элементов будет); не удобно вводить
значение из ячейки на нее, откроется выпадающего списка, ав конце таблицы я не вижу нужды самостоятельно не
Но если во и огрурцы - эти списки выводились со списком» (ориентируемся диапазонов. этим списком. И
эту формулу в и Производителю, находящихся данных, что и дополняться, то можно большое количество элементов.B1 диалоговое окно
функция в соответствующие поля? смысла такие делать. смогу втором (условно) столбце овощи, а апельсины в листе «Заказы»…Увы….Несколько на всплывающие подсказки).Когда поставили курсор в данные автоматически добавлялись нескольких ячейках - в списке Моделей.
для активной ячейки. сразу выделить диапазон Подход годится дляв списке странName ManagerINDIRECT
Если сможете, оставьте Сейчас изучаю нормализацию. Дело в том, значения повторяются несколько и мандарины -фрукты; дней пыталась вывести,читаяЩелкаем по значку – поле «Источник», переходим в диапазон. не забудьте обозначить Вы можете создатьПримечание большего размера, например, маленьких (3-5 значений) и возвращает соответствующий(Диспетчер имён).(ДВССЫЛ) возвращает ссылку в коде комментарии… данных, реляционные базы что источник для раз (потому что 3 уровень - советы с форума. становится активным «Режим на лист иСформируем именованный диапазон. Путь: ячейки как абсолютные их с помощью:А1:А10 неизменных списков. индекс, который затемНажмите кнопку на именованный диапазон И буду я данных и т.д. всех выпадающих должен служат источником для соответственно дальше поБуду очень благодарна,если конструктора». Рисуем курсором выделяем попеременно нужные «Формулы» — «Диспетчер ссылки! И еще инструмента «Удалить дубликаты»Если выпадающий список. Однако, в этом
Преимущество использует функцияNewChinese на выходных потихоньку так вот там, быть один, в выпадающего списка следующего
уточнениям и т.д.) кто-то сможет помочь. (он становится «крестиком») ячейки. имен» — «Создать». СУПЕРВАЖНО, чтобы вся
(например, это показано содержит более 25-30 случае Выпадающий список: быстрота создания списка.CHOOSE(Создать), чтобы добавить, который находится на вникать и тестить)))) (как и Николай одной «умной» таблице, уровня), то иС
Serge_007 небольшой прямоугольник –Теперь создадим второй раскрывающийся Вводим уникальное название запись была подтверждена в этом видео значений, то работать может содержать пустыеЭлементы для выпадающего списка(ВЫБОР), чтобы выбрать новый именованный диапазон. листе
Юрий М Павлов) рекомендуется дробить на одном листе
выпадающем списке ихпервой и ОСНОВНОЙ проблемой: Поиском не пробовали место будущего списка. список. В нем диапазона – ОК.
комбинацией клавиш Ctrl продолжительностью около 2 с ним становится
строки. можно разместить в 1-й, 2-й или Откроется диалоговое окноSheet2: Давайте продолжим уже таблицу по смысловым и иметь классическую будет несколько. Вотя столкнулся, когда пользоваться?
Жмем «Свойства» – открывается должны отражаться теСоздаем раскрывающийся список в + Shift + минут). Когда мы неудобно. Выпадающий списокИзбавиться от пустых строк диапазоне на листе 3-й именованный диапазон.New Name. В результате второй вечером — сейчас группам, чтобы впоследствии древовидную структуру - не знаю, как искал способ удалятьStasija перечень настроек. слова, которые соответствуют любой ячейке. Как Enter !!! это сделали, тогда одновременно отображает только и учесть новые EXCEL, а затемВот так будет выглядеть(Создание имени). раскрывающийся список состоит нужно отлучиться. с каждой такой это делается для
это убрать… Лучше,
дубликаты ИЗ ФОРМИРУЕМОГО: Serge_007, извините. ПростоВписываем диапазон в строку выбранному в первом это сделать, ужеСкачать зависимые выпадающие списки …
8 элементов, а элементы перечня позволяет в поле Источник наш второй раскрывающийся
В поле из блюд китайскойJack_Famous группой (поле, столбец) удобства редактирования и конечно, что-то дописать (СМЕЩ+ИНДЕКС+ПОИСКПОЗ) выпадающего списка,
на Вашем форуме ListFillRange (руками). Ячейку, списке названию. Если известно. Источник – в Excel чтобы увидеть остальные,
Динамический диапазон. Для инструмента Проверки данных список:Name кухни.: Да как скажете, можно было работать анализа всех имеющихся в формулу, по
то есть НА я прочитала все куда будет выводиться «Деревья», то «граб», имя диапазона: =деревья.Не нажмите OK случайно.
Для ячеек, которые должны нужно пользоваться полосой этого при создании указать ссылку наВ результате мы получим(Имя) введите имяУрок подготовлен для Вас
Юрий! Мне тут (фильтровать, сортировать и данных для выпадающих которой он формируется,
ЛЕТУ (в то темы, связанные с выбранное значение – «дуб» и т.д.
Снимаем галочки на вкладках Поэтому, когда вы стать раскрывающимися списками прокрутки, что не Имени Список_элементов в этот диапазон.
два связанных (илиCountry командой сайта office-guru.ru кода разбирать до т.д.) списков. Есть идея, но сойдёт и же время есть данной тематикой, но, в строку LinkedCell. Вводим в поле «Сообщение для ввода», перейдете в меню в меню «Данные» всегда удобно.
поле Диапазон необходимоПредположим, что элементы списка зависимых) выпадающих списка.для нашего первогоИсточник: http://www.excel-easy.com/examples/dependent-drop-down-lists.html Рождества)))) Спасибо ОГРОМНОЕ, сейчас сделаю… но, опять же, вариант с созданием способ удаления дубликатов к моему большому Для изменения шрифта «Источник» функцию вида «Сообщение об ошибке».
«Данные», «Проверка данных» выбираем «Проверка данных»В EXCEL не предусмотрена записать формулу =СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A)) шт;кг;кв.м;куб.м введены в Если мы выбираем
именованного диапазона, аПеревел: Антон Андронов за помощь!Jack_Famous реализация зависит только
временного столбца, где из списка НА сожалению,так и не и размера –
=ДВССЫЛ(E3). E3 – Если этого не и выберите как и как тип регулировка размера шрифтаИспользование функции СЧЁТЗ() предполагает,
planetaexcel.ru
ячейки диапазона
Итак, как сделать два связанных списка в Excel: категория, подкатегория и категория более нижнего уровня. Своими словами в данном случае нижний уровень — это «подподкатегория» если она вообще существует… Но для лучшего понимания данного обучающего материала, предположим, что существует.
Два связанных выпадающих списка с формулой массива
В любом случае, с самого начала напишем, что этот учебный материал является продолжением материала: Как сделать зависимые выпадающие списки в ячейках Excel, в котором подробно описали логику и способ создания одного из таких списков. Рекомендуем вам ознакомиться с ним, потому что здесь подробно описывается только то, как сделать тот другой связанный выпадающий список А это то, что мы хотим получить:
Итак, мы имеем:
- тип автомобиля: Легковой, Фургон и Внедорожник (Категория)
- производитель: Fiat, Volkswagen i Suzuki (Подкатегория) и
- модель: … немножечко их есть (Подподкатегория)
В то же время мы имеем следующие данные:
Этот список должен быть отсортирован в следующей очередности:
- Тип.
- Производитель.
- Модель.
Он может быть любой длины. Что еще важно: стоит добавить к нему еще два меньших списка, необходимых для Типа и Производителя, то есть к категории (первый список) и подкатегории (второй список). Эти дополнительные списки списки выглядят следующим образом:
Дело в том, что эти списки не должны иметь дубликатов записей по Типу и Производителю, находящихся в списке Моделей. Вы можете создать их с помощью инструмента «Удалить дубликаты» (например, это показано в этом видео продолжительностью около 2 минут). Когда мы это сделали, тогда …
Первый и второй связанный выпадающий список: Тип и Производитель
Для ячеек, которые должны стать раскрывающимися списками в меню «Данные» выбираем «Проверка данных» и как тип данных выбираем «Список».
Для Типа как источник данных мы просто указываем диапазон B7:B9.
Для Производителя мы уже используем формулу, которая подробно описана здесь. Она выглядит так:
Модель — описание для этой записи сделаем таким же самым образом.
Третий связывающий выпадающий список: Модель
Теперь рассмотрим, как связать выпадающий список в Excel. Поскольку Модель зависит как от Типа, так и от Производителя — значит мы будем использовать сложную формулу. После поместим ее не в проверку данных, а в именной диапазон. Соответственно проверка данных будет содержать ссылку на это имя. Предположим, мы хотим отобразить в нем легковые модели Fiat. В первом списке мы выбрали Легковой, во втором — Fiat.
Мы будем перемещать ячейку H4 на столько строк, пока не найдем позицию первого легкового Fiatа. Поэтому в колонке Тип мы должны иметь значение Легковой, а в колонке Производитель должен быть Fiat. Если бы мы использовали промежуточный столбец (это было бы отличным решением, но хотели бы показать вам что-то более крутое ;-), то мы бы искали комбинацию этих данных: Легковой Fiat. Однако у нас нет такого столбца, но мы можем создать его «на лету», другими словами, используя формулу. Набирая эту формулу, вы можете себе представить, что такой промежуточный столбец существует, и вы увидите, что будет проще
Для определения положения Легковой Fiat, мы, конечно, будем использовать функцию ПОИСКПОЗ. Смотрите:
ПОИСКПОЗ(B4&C4;F5:F39&G5:G39;0)
Вышеописанное означает, что мы хотим знать позицию Легкового Fiatа (отсюда и связь B4&C4). Где? В нашем воображаемом вспомогательном столбце, то есть: F5:F39&G5:G39. И здесь самая большая сложность всей формулы.
Остальное уже проще, а наибольшего внимания требует функция СЧЁТЕСЛИМН, которая проверяет, сколько есть Легковых Fiatов. В частности, она проверяет, сколько раз в списке встречаются такие записи, которые в столбце F5:F39 имеют значение Легковой, а в столбце G5:G39 — Fiat. Функция выглядит так:
СЧЁТЕСЛИМН(F5:F39;B4;G5:G39;C4)
А вся формула для именного диапазона раскрывающегося списка это:
Если вы планируете использовать эту формулу в нескольких ячейках — не забудьте обозначить ячейки как абсолютные ссылки!
Теперь чтобы правильно использовать данную формулу по назначению в третьем выпадающем списке нам необходимо выполнить рад последовательных действий:
- Создаем новое имя. Для этого выберите инструмент: «ФОРМУЛЫ»-«Определенные имена»-«Диспетчер имен»-«Создать».
- При создании имени в поле «Имя:» вводим слово – модель, а в поле «Диапазон:» вводим выше указанную формулу и нажимаем на всех открытых диалоговых окнах ОК:
- Перейдите на ячейку D4 чтобы там создать выпадающий список, в котором на этот раз в поле ввода «Источник:» следует указать ссылку на выше созданное имя с формулой =модель.
Скачать зависимые выпадающие списки в Excel
Когда вы перейдете в меню «Данные», «Проверка данных» и выберите как Тип данных «список», а в поле «Источник» вставьте не саму формулу, а ссылку на имя «=модель» именного диапазона с этой формулой. Такой подход обеспечит стабильность работы третьего выпадающего списка.
Вы применяли функцию ВПР, чтобы переместить данные столбца из одной таблицы в другой? Так как в Excel теперь есть встроенная модель данных, функция ВПР устарела. Вы можете создать связь между двумя таблицами на основе совпадающих данных в них. Затем можно создать листы Power View или сводные таблицы и другие отчеты с полями из каждой таблицы, даже если они получены из различных источников. Например, если у вас есть данные о продажах клиентам, вам может потребоваться импортировать и связать данные логики операций со временем, чтобы проанализировать тенденции продаж по годам и месяцам.
Все таблицы в книге указываются в списках полей сводной таблицы и Power View.
При импорте связанных таблиц из реляционной базы данных Excel часто может создавать эти связи в модели данных, формируемой в фоновом режиме. В других случаях необходимо создавать связи вручную.
-
Убедитесь, что книга содержит хотя бы две таблицы и в каждой из них есть столбец, который можно сопоставить со столбцом из другой таблицы.
-
Вы можете отформатировать данные как таблицу или импортировать внешние данные в виде таблицы на новом.
-
Присвойте каждой из таблиц понятное имя: На вкладке Работа с таблицами щелкните Конструктор > Имя таблицы и введите имя.
-
Убедитесь, что столбец в одной из таблиц имеет уникальные значения без дубликатов. Excel может создавать связи только в том случае, если один столбец содержит уникальные значения.
Например, чтобы связать продажи клиента с логикой операций со временем, обе таблицы должны включать дату в одинаковом формате (например, 01.01.2012) и по крайней мере в одной таблице (логика операций со временем) должны быть перечислены все даты только один раз в столбце.
-
Щелкните Данные> Отношения.
Если команда Отношения недоступна, значит книга содержит только одну таблицу.
-
В окне Управление связями нажмите кнопку Создать.
-
В окне Создание связи щелкните стрелку рядом с полем Таблица и выберите таблицу из раскрывающегося списка. В связи «один ко многим» эта таблица должна быть частью с несколькими элементами. В примере с клиентами и логикой операций со временем необходимо сначала выбрать таблицу продаж клиентов, потому что каждый день, скорее всего, происходит множество продаж.
-
Для элемента Столбец (чужой) выберите столбец, который содержит данные, относящиеся к элементу Связанный столбец (первичный ключ). Например, при наличии столбца даты в обеих таблицах необходимо выбрать этот столбец именно сейчас.
-
В поле Связанная таблица выберите таблицу, содержащую хотя бы один столбец данных, которые связаны с таблицей, выбранной в поле Таблица.
-
В поле Связанный столбец (первичный ключ) выберите столбец, содержащий уникальные значения, которые соответствуют значениям в столбце, выбранном в поле Столбец.
-
Нажмите кнопку ОК.
Дополнительные сведения о связях между таблицами в Excel
-
Примечания о связях
-
Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании
-
«Могут потребоваться связи между таблицами»
-
Шаг 1. Определите, какие таблицы указать в связи
-
Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблицы к другой
-
Примечания о связях
-
Вы узнаете, существуют ли связи, при перетаскивании полей из разных таблиц в список полей сводной таблицы. Если вам не будет предложено создать связь, то в Excel уже есть сведения, необходимые для связи данных.
-
Создание связей аналогично использованию VLOOKUP: вам нужны столбцы, содержащие совпадающие данные, чтобы Excel могли ссылаться на строки в одной таблице с строками из другой таблицы. В примере со временем в таблице Customer должны быть значения дат, которые также существуют в таблице аналитики времени.
-
В модели данных связи таблиц могут быть типа «один к одному» (у каждого пассажира есть один посадочный талон) или «один ко многим» (в каждом рейсе много пассажиров), но не «многие ко многим». Связи «многие ко многим» приводят к ошибкам циклической зависимости, таким как «Обнаружена циклическая зависимость». Эта ошибка может произойти, если вы создаете прямое подключение между двумя таблицами со связью «многие ко многим» или непрямые подключения (цепочку связей таблиц, в которой каждая таблица связана со следующей отношением «один ко многим», но между первой и последней образуется отношение «многие ко многим»). Дополнительные сведения см. в статье Связи между таблицами в модели данных.
-
Типы данных в двух столбцах должны быть совместимы. Подробные сведения см. в статье Типы данных в моделях данных.
-
Другие способы создания связей могут оказаться более понятными, особенно если неизвестно, какие столбцы использовать. Дополнительные сведения см. в статье Создание связи в представлении диаграммы в Power Pivot.
Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании
Вы можете узнать о связях обеих таблиц и логики операций со временем с помощью свободных данных на Microsoft Azure Marketplace. Некоторые из этих наборов данных очень велики, и для их загрузки за разумное время необходимо быстрое подключение к Интернету.
-
Запустите надстройку Power Pivot в Microsoft Excel и откройте окно Power Pivot.
-
Нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace. В мастере импорта таблиц откроется домашняя страница Microsoft Azure Marketplace.
-
В разделе Price (Цена) нажмите Free (Бесплатно).
-
В разделе Category (Категория) нажмите Science & Statistics (Наука и статистика).
-
Найдите DateStream и нажмите кнопку Subscribe (Подписаться).
-
Введите свои учетные данные Майкрософт и нажмите Sign in (Вход). Откроется окно предварительного просмотра данных.
-
Прокрутите вниз и нажмите Select Query (Запрос на выборку).
-
Нажмите кнопку Далее.
-
Чтобы импортировать данные, выберите BasicCalendarUS и нажмите Готово. При быстром подключении к Интернету импорт займет около минуты. После выполнения вы увидите отчет о состоянии перемещения 73 414 строк. Нажмите Закрыть.
-
Чтобы импортировать второй набор данных, нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace.
-
В разделе Type (Тип) нажмите Data Данные).
-
В разделе Price (Цена) нажмите Free (Бесплатно).
-
Найдите US Air Carrier Flight Delays и нажмите Select (Выбрать).
-
Прокрутите вниз и нажмите Select Query (Запрос на выборку).
-
Нажмите кнопку Далее.
-
Нажмите Готово для импорта данных. При быстром подключении к Интернету импорт займет около 15 минут. После выполнения вы увидите отчет о состоянии перемещения 2 427 284 строк. Нажмите Закрыть. Теперь у вас есть две таблицы в модели данных. Чтобы связать их, нужны совместимые столбцы в каждой таблице.
-
Убедитесь, что значения в столбце DateKey в таблице BasicCalendarUS указаны в формате 01.01.2012 00:00:00. В таблице On_Time_Performance также есть столбец даты и времени FlightDate, значения которого указаны в том же формате: 01.01.2012 00:00:00. Два столбца содержат совпадающие данные одинакового типа и по крайней мере один из столбцов (DateKey) содержит только уникальные значения. В следующих действиях вы будете использовать эти столбцы, чтобы связать таблицы.
-
В окне Power Pivot нажмите Сводная таблица, чтобы создать сводную таблицу на новом или существующем листе.
-
В списке полей разверните таблицу On_Time_Performance и нажмите ArrDelayMinutes, чтобы добавить их в область значений. В сводной таблице вы увидите общее время задержанных рейсов в минутах.
-
Разверните таблицу BasicCalendarUS и нажмите MonthInCalendar, чтобы добавить его в область строк.
-
Обратите внимание, что теперь в сводной таблице перечислены месяцы, но количество минут одинаковое для каждого месяца. Нужны одинаковые значения, указывающие на связь.
-
В списке полей, в разделе «Могут потребоваться связи между таблицами» нажмите Создать.
-
В поле «Связанная таблица» выберите On_Time_Performance, а в поле «Связанный столбец (первичный ключ)» — FlightDate.
-
В поле «Таблица» выберитеBasicCalendarUS, а в поле «Столбец (чужой)» — DateKey. Нажмите ОК для создания связи.
-
Обратите внимание, что время задержки в настоящее время отличается для каждого месяца.
-
В таблице BasicCalendarUS перетащите YearKey в область строк над пунктом MonthInCalendar.
Теперь вы можете разделить задержки прибытия по годам и месяцам, а также другим значениям в календаре.
Советы: По умолчанию месяцы перечислены в алфавитном порядке. С помощью надстройки Power Pivot вы можете изменить порядок сортировки так, чтобы они отображались в хронологическом порядке.
-
Таблица BasicCalendarUS должна быть открыта в окне Power Pivot.
-
В главной таблице нажмите Сортировка по столбцу.
-
В поле «Сортировать» выберите MonthInCalendar.
-
В поле «По» выберите MonthOfYear.
Сводная таблица теперь сортирует каждую комбинацию «месяц и год» (октябрь 2011, ноябрь 2011) по номеру месяца в году (10, 11). Изменить порядок сортировки несложно, потому что канал DateStream предоставляет все необходимые столбцы для работы этого сценария. Если вы используете другую таблицу логики операций со временем, ваши действия будут другими.
«Могут потребоваться связи между таблицами»
По мере добавления полей в сводную таблицу вы получите уведомление о необходимости связи между таблицами, чтобы разобраться с полями, выбранными в сводной таблице.
Хотя Excel может подсказать вам, когда необходима связь, он не может подсказать, какие таблицы и столбцы использовать, а также возможна ли связь между таблицами. Чтобы получить ответы на свои вопросы, попробуйте сделать следующее.
Шаг 1. Определите, какие таблицы указать в связи
Если ваша модель содержит всего лишь несколько таблиц, понятно, какие из них нужно использовать. Но для больших моделей вам может понадобиться помощь. Один из способов заключается в том, чтобы использовать представление диаграммы в надстройке Power Pivot. Представление диаграммы обеспечивает визуализацию всех таблиц в модели данных. С помощью него вы можете быстро определить, какие таблицы отделены от остальной части модели.
Примечание: Можно создавать неоднозначные связи, которые являются недопустимыми при использовании в сводной таблице или отчете Power View. Пусть все ваши таблицы связаны каким-то образом с другими таблицами в модели, но при попытке объединения полей из разных таблиц вы получите сообщение «Могут потребоваться связи между таблицами». Наиболее вероятной причиной является то, что вы столкнулись со связью «многие ко многим». Если вы будете следовать цепочке связей между таблицами, которые подключаются к необходимым для вас таблицам, то вы, вероятно, обнаружите наличие двух или более связей «один ко многим» между таблицами. Не существует простого обходного пути, который бы работал в любой ситуации, но вы можете попробоватьсоздать вычисляемые столбцы, чтобы консолидировать столбцы, которые вы хотите использовать в одной таблице.
Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблице к другой
После того как вы определили, какая таблица не связана с остальной частью модели, пересмотрите столбцы в ней, чтобы определить содержит ли другой столбец в другом месте модели соответствующие значения.
Предположим, у вас есть модель, которая содержит продажи продукции по территории, и вы впоследствии импортируете демографические данные, чтобы узнать, есть ли корреляция между продажами и демографическими тенденциями на каждой территории. Так как демографические данные поступают из различных источников, то их таблицы первоначально изолированы от остальной части модели. Для интеграции демографических данных с остальной частью своей модели вам нужно будет найти столбец в одной из демографических таблиц, соответствующий тому, который вы уже используете. Например, если демографические данные организованы по регионам и ваши данные о продажах определяют область продажи, то вы могли бы связать два набора данных, найдя общие столбцы, такие как государство, почтовый индекс или регион, чтобы обеспечить подстановку.
Кроме совпадающих значений есть несколько дополнительных требований для создания связей.
-
Значения данных в столбце подстановки должны быть уникальными. Другими словами, столбец не может содержать дубликаты. В модели данных нули и пустые строки эквивалентны пустому полю, которое является самостоятельным значением данных. Это означает, что не может быть несколько нулей в столбце подстановок.
-
Типы данных столбца подстановок и исходного столбца должны быть совместимы. Подробнее о типах данных см. в статье Типы данных в моделях данных.
Подробнее о связях таблиц см. в статье Связи между таблицами в модели данных.
К началу страницы
Содержание
- Связанный список в EXCEL
- Выпадающий список в Excel с помощью инструментов или макросов
- Создание раскрывающегося списка
- Выпадающий список в Excel с подстановкой данных
- Выпадающий список в Excel с данными с другого листа/файла
- Как сделать зависимые выпадающие списки
- Выбор нескольких значений из выпадающего списка Excel
- Выпадающий список с поиском
Связанный список в EXCEL
history 21 января 2013 г.
Создадим выпадающий список, содержимое которого зависит от значений другой ячейки.
Обычный Выпадающий (раскрывающийся) список отображает только один перечень элементов. Связанный список – это такой выпадающий список , который может отображать разные перечни элементов, в зависимости от значения другой ячейки. Потребность в создании связанных списков (другие названия: связанные диапазоны , динамические списки ) появляется при моделировании иерархических структур данных. Например:
- Отдел – Сотрудники отдела . При выборе отдела из списка всех отделов компании, динамически формируется список, содержащий перечень фамилий всех сотрудников этого отдела (двухуровневая иерархия);
- Город – Улица – Номер дома . При заполнении адреса проживания можно из списка выбрать город , затем из списка всех улиц этого города – улицу , затем, из списка всех домов на этой улице – номер дома (трехуровневая иерархия).
В этой статье рассмотрен только двухуровневый связанный список . Многоуровневый связанный список рассмотрен в одноименной статье Многоуровневый связанный список . Создание иерархических структур данных позволяет избежать неудобств выпадающих списков связанных со слишком большим количеством элементов. Связанный список можно реализовать в EXCEL, с помощью инструмента Проверка данных ( Данные/ Работа с данными/ Проверка данных ) с условием проверки Список (пример создания приведен в данной статье) или с помощью элемента управления формы Список (см. статью Связанный список на основе элемента управления формы ).
Создание Связанного списка на основе Проверки данных рассмотрим на конкретном примере.
Задача : Имеется перечень Регионов , состоящий из названий четырех регионов. Для каждого Региона имеется свой перечень Стран . Пользователь должен иметь возможность, выбрав определенный Регион , в соседней ячейке выбрать из Выпадающего списка нужную ему Страну из этого Региона .
Таблицу, в которую будут заноситься данные с помощью Связанного списка , разместим на листе Таблица . См. файл примера Связанный_список.xlsx
Список регионов и перечни стран разместим на листе Списки .
Обратите внимание, что названия регионов (диапазон А2:А5 на листе Списки ) в точности должны совпадать с заголовками столбцов, содержащих названия соответствующих стран ( В1:Е1 ).
Присвоим имена диапазонам, содержащим Регионы и Страны (т.е. создадим Именованные диапазоны ). Быстрее всего это сделать так:
- выделитьячейки А1:Е6 на листе Списки (т.е. диапазон, охватывающий все ячейки с названиями Регионов и Стран );
- нажать кнопку «Создать из выделенного фрагмента» (пункт меню Формулы/ Определенные имена/ Создать из выделенного фрагмента );
- Убедиться, что стоит только галочка «В строке выше»;
- Нажать ОК.
Проверить правильность имени можно через Диспетчер Имен ( Формулы/ Определенные имена/ Диспетчер имен ). Должно быть создано 5 имен.
Можно подкорректировать диапазон у имени Регионы (вместо =списки!$A$2:$A$6 установить =списки!$A$2:$A$5 , чтобы не отображалась последняя пустая строка)
На листе Таблица , для ячеек A 5: A 22 сформируем выпадающий список для выбора Региона .
- выделяем ячейки A5:A22 ;
- вызываем инструмент Проверка данных;
- устанавливаем тип данных – Список ;
- в поле Источник вводим: =Регионы
Теперь сформируем выпадающий список для столбца Страна (это как раз и будет желанный Связанный список ).
- выделяем ячейки B5:B22 ;
- вызываем инструмент Проверка данных;
- устанавливаем тип данных – Список ;
- в поле Источник вводим: =ДВССЫЛ(A5)
Важно, чтобы при создании правила Проверки данных активной ячейкой была B5 , т.к. мы используем относительную адресацию .
Тестируем. Выбираем с помощью выпадающего списка в ячейке A 5 Регион – Америка , вызываем связанный список в ячейке B 5 и балдеем – появился список стран для Региона Америка : США, Мексика …
Теперь заполняем следующую строку. Выбираем в ячейке A 6 Регион – Азия , вызываем связанный список в ячейке B 6 и опять балдеем: Китай, Индия …
Необходимо помнить, что в именах нельзя использовать символ пробела. Поэтому, при создании имен, вышеуказанным способом, он будет автоматически заменен на нижнее подчеркивание «_». Например, если вместо Америка (ячейка В1 ) ввести « Северная Америка » (соответственно подкорректировав ячейку А2 ), то после нажатия кнопки Создать из выделенного фрагмента будет создано имя «Северная_Америка». В этом случае формула =ДВССЫЛ(A5) работать не будет, т.к. при выборе региона « Северная Америка » функция ДВССЫЛ() не найдет соответствующего имени. Поэтому формулу можно подкорректировать, чтобы она работала при наличии пробелов в названиях Регионов : =ДВССЫЛ(ПОДСТАВИТЬ(A5;» «;»_»)) .
Теперь о недостатках . При создании имен с помощью кнопки меню Создать из выделенного фрагмента, все именованные диапазоны для перечней Стран были созданы одинаковой длины (равной максимальной длине списка для региона Европа (5 значений)). Это привело к тому, что связанные списки для других регионов содержали пустые строки.
Конечно, можно вручную откорректировать диапазоны или даже вместо Именованных диапазонов создать Динамические диапазоны . Но, при большом количестве имен делать это будет достаточно трудоемко. Кроме того, при добавлении новых Регионов придется вручную создавать именованные диапазоны для их Стран .
Чтобы не создавать десятки имен, нужно изменить сам подход при построении Связанного списка . Рассмотрим этот подход в другой статье: Расширяемый Связанный список .
Источник
Выпадающий список в Excel с помощью инструментов или макросов
Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.
Создание раскрывающегося списка
Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».
Ввести значения, из которых будет складываться выпадающий список, можно разными способами:
- Вручную через «точку-с-запятой» в поле «Источник».
- Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
- Назначить имя для диапазона значений и в поле источник вписать это имя.
Любой из вариантов даст такой результат.
Выпадающий список в Excel с подстановкой данных
Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.
- Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
- Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
- Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:
Протестируем. Вот наша таблица со списком на одном листе:
Добавим в таблицу новое значение «елка».
Теперь удалим значение «береза».
Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.
Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.
- Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
- Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
- Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
- Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
- Сохраняем, установив тип файла «с поддержкой макросов».
- Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».
Нажмем «Да» и добавиться еще одна строка со значением «баобаб».
Выпадающий список в Excel с данными с другого листа/файла
Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.
- Делаем активной ячейку, куда хотим поместить раскрывающийся список.
- Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
Имя файла, из которого берется информация для списка, заключено в квадратные скобки. Этот файл должен быть открыт. Если книга с нужными значениями находится в другой папке, нужно указывать путь полностью.
Как сделать зависимые выпадающие списки
Возьмем три именованных диапазона:
Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.
- Создадим первый выпадающий список, куда войдут названия диапазонов.
- Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
- Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
Выбор нескольких значений из выпадающего списка Excel
Бывает, когда из раскрывающегося списка необходимо выбрать сразу несколько элементов. Рассмотрим пути реализации задачи.
- Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
- Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
- Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.
Private Sub Worksheet_Change( ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range( «C2:C5» )) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & «,» & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
- На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
- Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
- Жмем «Свойства» – открывается перечень настроек.
- Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.
Источник