Связанные (зависимые) выпадающие списки
Способ 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
ячейки диапазона
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 и 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
Пример использования зависимого выпадающего списка для создания удобной формы заполнения документов, с помощью которых продавцы заказывали товары. Из всего ассортимента они должны были выбрать те продукты, которые они собирались продать.
Каждый продавец сначала определял товарную группу, а затем конкретный товар из этой группы. Форма должна включать полное имя группы и определенный индекс товара. Поскольку набирать это вручную было бы слишком трудоемким (и раздражающим) занятием, я предложил очень быстрое и простое решение — 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
Два варианта использования этого трюка я уже представил. Интересно, как вы его будете использовать?
5ти уровневый зависимый выпадающий список |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
В Excel вы можете быстро и легко создать зависимый раскрывающийся список, но пробовали ли вы когда-нибудь создать многоуровневый зависимый раскрывающийся список, как показано на следующем снимке экрана? В этой статье я расскажу о том, как создать многоуровневый зависимый выпадающий список в Excel.
Создать многоуровневый зависимый выпадающий список в Excel
Чтобы создать многоуровневый зависимый раскрывающийся список, выполните следующие действия:
Во-первых, создайте данные для многоуровневого зависимого выпадающего списка.
1. Сначала создайте данные первого, второго и третьего раскрывающегося списка, как показано ниже:
Во-вторых, создайте имена диапазонов для каждого значения раскрывающегося списка.
2. Затем выберите значения первого раскрывающегося списка (исключая ячейку заголовка), а затем дайте им имя диапазона в поле Поле имени которые помимо строки формул, см. снимок экрана:
3. Затем выберите данные второго раскрывающегося списка и нажмите Формулы > Создать из выбранного, см. снимок экрана:
4. В выскочившем Создать имена из выбора диалоговое окно, отметьте только Верхний ряд вариант, см. снимок экрана:
5. Нажмите OK, И имена диапазонов были созданы для каждого второго раскрывающегося списка сразу, затем вы должны создать имена диапазонов для значений третьего раскрывающегося списка, продолжайте нажимать Формулы > Создать из выбранного, В Создать имена из выделенного диалоговое окно, отметьте только Верхний ряд вариант, см. снимок экрана:
6, Затем нажмите OK кнопки, значения раскрывающегося списка третьего уровня были определены имена диапазонов.
- Tips: Вы можете пойти Менеджер имен диалоговое окно, чтобы увидеть все созданные имена диапазонов, которые были расположены в Менеджер имен диалоговое окно, как показано на скриншоте ниже:
В-третьих, создайте выпадающий список Data Validation.
7. Затем щелкните ячейку, в которую вы хотите поместить первый зависимый раскрывающийся список, например, я выберу ячейку I2, затем щелкните Данные > проверка достоверности данных > проверка достоверности данных, см. снимок экрана:
8. В проверка достоверности данных диалоговое окно под Настройки , выберите Список из Разрешить раскрывающийся список, а затем введите эту формулу: = Континенты в Источник текстовое поле, см. снимок экрана:
Внимание: В этой формуле Континенты — имя диапазона первых раскрывающихся значений, созданных на шаге 2, измените его по своему усмотрению.
9, Затем нажмите OK Кнопка, первый раскрывающийся список был создан, как показано ниже:
10. Затем вы должны создать второй зависимый раскрывающийся список, выберите ячейку, в которую вы хотите поместить второй раскрывающийся список, здесь я нажимаю J2, а затем продолжаю щелкать Данные > проверка достоверности данных > проверка достоверности данных, В проверка достоверности данных диалоговом окне выполните следующие операции:
- (1.) Выберите Список из Разрешить раскрывающийся список;
- (2.) Затем введите эту формулу: = КОСВЕННО (ПОДСТАВИТЬ (I2; «»; «_»)) в Источник текстовое окно.
Внимание: В приведенной выше формуле I2 — это ячейка, содержащая первое значение раскрывающегося списка, пожалуйста, измените его на свое.
11. Нажмите OK, и сразу был создан второй зависимый раскрывающийся список, см. снимок экрана:
12. На этом шаге вы должны создать третий зависимый раскрывающийся список, щелкнуть ячейку, чтобы вывести значение третьего раскрывающегося списка, здесь я выберу ячейку K2, а затем щелкните Данные > проверка достоверности данных > проверка достоверности данных, В проверка достоверности данных диалоговом окне выполните следующие операции:
- (1.) Выберите Список из Разрешить раскрывающийся список;
- (2.) Затем введите эту формулу: = КОСВЕННО (ПОДСТАВИТЬ (J2; «»; «_»)) в текстовое поле Источник.
Внимание: В приведенной выше формуле J2 — это ячейка, содержащая второе значение раскрывающегося списка, пожалуйста, измените его на свое.
13, Затем нажмите OK, и три зависимых раскрывающихся списка были успешно созданы, см. демонстрацию ниже:
Создавайте многоуровневый зависимый выпадающий список в Excel с удивительной функцией
Возможно, описанный выше метод является проблемным для большинства пользователей, здесь я представлю простую функцию —Динамический раскрывающийся список of Kutools for Excel, с помощью этой утилиты вы можете быстро создать зависимый выпадающий список с 2-5 уровнями всего за несколько кликов. Нажмите, чтобы скачать Kutools for Excel!
Советы:Чтобы применить это Динамический раскрывающийся список функция, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.
После установки Kutools for Excel, пожалуйста, сделайте так:
1. Во-первых, вы должны создать формат данных, как показано на скриншоте ниже:
2, Затем нажмите Кутулс > Раскрывающийся список > Динамический раскрывающийся список, см. снимок экрана:
3. В Зависимый раскрывающийся список диалоговом окне выполните следующие действия:
- Проверить Раскрывающийся список, зависящий от 3-5 уровней вариант в Тип раздел;
- Укажите необходимый диапазон данных и выходной диапазон.
4, Затем нажмите Ok Кнопка, теперь трехуровневый раскрывающийся список был создан в виде следующей демонстрации:
Нажмите, чтобы скачать Kutools for Excel и бесплатная пробная версия прямо сейчас!
Более относительные статьи с выпадающим списком:
- Автоматическое заполнение других ячеек при выборе значений в раскрывающемся списке Excel
- Допустим, вы создали раскрывающийся список на основе значений в диапазоне ячеек B8: B14. Когда вы выбираете любое значение в раскрывающемся списке, вы хотите, чтобы соответствующие значения в диапазоне ячеек C8: C14 автоматически заполнялись в выбранной ячейке. Например, когда вы выбираете Люси в раскрывающемся списке, она автоматически заполняет счет 88 в ячейке D16.
- Создать зависимый раскрывающийся список в листе Google
- Вставка обычного раскрывающегося списка в лист Google может быть легкой задачей для вас, но иногда вам может потребоваться вставить зависимый раскрывающийся список, что означает второй раскрывающийся список в зависимости от выбора первого раскрывающегося списка. Как бы вы справились с этой задачей в листе Google?
- Создать раскрывающийся список с изображениями в Excel
- В Excel мы можем быстро и легко создать раскрывающийся список со значениями ячеек, но, пробовали ли вы когда-нибудь создать раскрывающийся список с изображениями, то есть, когда вы щелкаете одно значение из раскрывающегося списка, его относительное изображение будет отображаться одновременно. В этой статье я расскажу о том, как вставить выпадающий список с изображениями в Excel.
- Выбрать несколько элементов из раскрывающегося списка в ячейку в Excel
- Выпадающий список часто используется в повседневной работе Excel. По умолчанию в раскрывающемся списке можно выбрать только один элемент. Но в некоторых случаях вам может потребоваться выбрать несколько элементов из раскрывающегося списка в одну ячейку, как показано ниже. Как с этим справиться в Excel?
- Создать раскрывающийся список с гиперссылками в Excel
- В Excel добавление раскрывающегося списка может помочь нам решить нашу работу эффективно и легко, но, если вы когда-нибудь пытались создать раскрывающийся список с гиперссылками, когда вы выбираете URL-адрес из раскрывающегося списка, будет открываться гиперссылка автоматически? В этой статье я расскажу о том, как создать выпадающий список с активированными гиперссылками в Excel.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы и хранение данных; Разделить содержимое ячеек; Объедините повторяющиеся строки и сумму / среднее значение… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Избранные и быстро вставляйте формулы, Диапазоны, диаграммы и изображения; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Группировка сводной таблицы по номер недели, день недели и другое … Показать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки, у которых есть формула / имя…
Вкладка Office — предоставляет интерфейс с вкладками в Office и значительно упрощает вашу работу
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Что такое выпадающий список
Выпадающий список в 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-таблицы позволят «захватить» все данные, а сводные таблицы – избежать ошибок, отсортировать справочник и создать список групп.
Зависимые выпадающие списки в Excel
Изучим простой способ создания зависимых (также называют связанных) выпадающих списков в Excel.
Для начала поясним, что же такое связанные выпадающие списки.
Это 2 выпадающих списка, при этом список значений одного из выпадающих списков зависит от выбора значения в другом выпадающем списке. Создать по отдельности выпадающие списки не представляет сложностей, но и связать выпадающие списки можно достаточно просто.
Для наглядности рассмотрим следующую ситуацию: у нас есть несколько категорий блюд, например, пицца, суши и паста, а также виды блюд в каждой категории (пицца Пепперони, суши Филадельфия, паста Феттучини и т.д.):
В результате мы хотим получить своеобразный двухуровневый зависимый выпадающий список: на первом уровне (списке) — категории блюд, на втором — блюда из выбранной категории.
Как сделать зависимые выпадающие списки?
В основе создания связанных выпадающих списков лежит применение функции ДВССЫЛ, которая позволяет преобразовывать текст из ячейки в ссылку.
Другими словами, если в ячейку введено текстовое значение «А1», то функция ДВССЫЛ вернет ссылку на ячейку А1.
Теперь зададим имена диапазонам состоящим из всех видов блюд каждой конкретной категории.
Для этого в панели вкладок выбираем Формулы -> Определенные имена -> Присвоить имя:
Выделяем диапазон ячеек A2:A6 и создаем диапазон с именем Пицца, аналогичные действия повторяем и для списков с суши (имя диапазона — Суши) и пастой (имя диапазона — Паста):
Обратите внимание, что при создании имен диапазонов имя не должно включать в себя пробелы.
В том случае если в названии категории все же содержится пробел (например, Японская кухня), то одним из вариантов решения является использование нижнего подчеркивания вместо пробела в имени диапазона (Японская_кухня).
Создадим первый выпадающий список в ячейке A10, состоящий из категорий блюд (Пицца, Суши и Паста). В панели вкладок выбираем Данные -> Работа с данными -> Проверка данных, указываем тип данных Список и в качестве источника выделяем диапазон A1:C1:
Теперь создаем второй выпадающий список, полностью повторяем действия с созданием первого списка, только в поле Источник записываем формулу =ДВССЫЛ(A10):
Имена созданных диапазонов обязательно должны совпадать с элементами первого списка, поэтому если в первом списке есть категории содержащие пробелы, то при обращении к имени диапазона необходимо заменить пробелы на нижние подчеркивания.
Это можно осуществить с помощью функции ПОДСТАВИТЬ, которая позволяет заменить старый текст (пробел) на новый текст (нижнее подчеркивание) в текстовой строке, т.е. в нашем случае формула примет вид =ДВССЫЛ(ПОДСТАВИТЬ(A10;» «;»_»)).
Также минусом данного способа создания списков является невозможность использования динамических именованных диапазонов.
Подробно ознакомиться с примером зависимых выпадающих списков — скачать пример.
Сводные таблицы 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) знак «равно» и имя нашего диапазона, т.е. =Модели .
Как сделать зависимые выпадающие списки в ячейках Excel
Зависимый выпадающий список позволяет сделать трюк, который очень часто хвалят пользователи шаблонов 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. Однако использование имен диапазонов в формуле делает ее проще и легко читаемой.
Одна формула, ну не такая уж и простая, но облегчающая работу и защищает от ошибок при вводе данных!
Два варианта использования этого трюка я уже представил. Интересно, как вы его будете использовать?
Как в экселе сделать выпадающий список с выбором нескольких значений? Простые и зависимые списки
Доброго времени на fast-wolker.ru! В процессе рутинной работы с таблицами всегда возникает желание ускорить ввод значений. Особенно это касается наименований позиций. Зачастую мы имеем один и тот же список, с которыми постоянно приходится работать, а новые добавляются постепенно.
Каждый раз заносить в таблицу одно и то же название утомительно; к тому же всегда есть возможность ошибки — поставить лишнюю точку, пробел и так далее. Сегодня расскажу о способах, который позволяет в ряде случаев ускорить работу. В самых простых примерах, может что-то подойдет и Вам. Итак…
Как в экселе создать выпадающий список с выбором нескольких значений
Начну с самого простого способа. Его используют, если в таблице одно и тоже наименование позиции нужно быстро ввести несколько раз. Обязательным условием является наличие заранее составленного списка наименований и непрерывность, отсутствие в нем пустых строк:
Ставим курсор на следующую пустую ячейку под списком кликаем правой кнопкой мыши; из контекстного меню выбираем команду. Или используем сочетание клавиш «Alt+ Стрелка вниз». Такой способ выбора из списка использовать приходиться не слишком часто. Наименования ведь редко повторяются.
Лучше использовать следующий способ — хранение готового списка на другом листе нашей книги. А в нужной ячейке делать ссылку на данные этого листа.
Как в эксель сделать выпадающий список с другого листа?
Я таблицу уже создал . Теперь создадим новый лист в документе и назовем его «база». Лист потом этот можно скрыть, чтобы случайно не сломать документ. В произвольном месте этого нового листа сохраним наш будущий список, в этом примере его можно дополнить пустыми строками и время от времени добавлять в них новые позиции.
Выделяем нужную область и в верхней левом верхнем углу присваиваем ей имя «Список_Кондит». У нас есть теперь первый ИМЕНОВАННЫЙ диапазон в нашей книге эксель. Чтобы потом диапазонами управлять, нужно открыть вкладку «Формулы» и найти там «Диспетчер имен»:
Следующий шаг — идем обратно в наш лист где создана основная таблица. Выделяем в графе нужные строки. Идем во вкладку «Данные»- «Проверка данных». В строке «тип данных» выбираем «Список»….
А в строке «Источник» копируем адрес нашего диапазона из «диспетчера имен»…
Теперь из списка можно выбирать готовые значения. Если список длинный, то прокручиваем вниз. Но нельзя будет менять шрифты, цвета — то есть форматировать содержимое, искать по букве наименование.
Как в экселе сделать выпадающий список в ячейке с выбором нескольких данных
Следующий несложный пример демонстрирует создание связанных списков. Например, вы заполняете товары в разрезе категорий. В документе мы сделаем список категории и список товаров, который формируется после выбора категории .
Сначала сделаем в листе «база» наши будущие списки. У нас будет три категории товара — полуфабрикаты, рыба и хлебобулочные. И мы заполним ими три графы.
Сейчас в них немного позиций; ниже будет описано, как сделать, чтобы при добавлении в «базу» новых позиций они автоматом появлялись в списке при выборе. Первым сделаем выпадающий список категорий в точности так, как это было описано в предыдущем примере. Идем в «Данные -«Проверка данных». Укажем в качестве диапазона только строку с названиями категорий.
Нажимаем клавишу Enter. Убеждаемся, что в нашей таблице на другом листе в нужных выделенных графах появилась возможность выбора наших категорий из списка.
Кстати, получившийся результат можно копировать в нижние ячейки -как обычные формулы. Работаем далее. Сначала займемся доработкой наших трех списков на листе «База». Доработаем сначала графу «Полуфабрикаты». Сделаем это, чтобы позже можно было добавлять в «базу» новые позиции, а они автоматом отображались бы в списках.
Ставим курсор в строку из «Полуфабрикаты, затем открываем вкладку «Главная» и жмем на кнопку «Форматировать как таблицу». Дизайн выбираем любой. Задаем по столбцу нужный вертикальный диапазон, включая только строки с наименованиями; ничего кроме диапазона не меняем.
В процессе этих действий нам стал доступен «конструктор таблиц». Обязательно присваиваем нашей( как бы созданной) таблице имя (в левом верхнем углу) «Полуфабрикаты».
Повторяем действо для граф «Рыба» и «Хлебобулочные».
Завешающий этап. Встаем в нужную строку таблицы, как обычно идем в «Данные»-«Проверка данных», выбираем тип «Список» и в качестве диапазона указываем на соседнюю ячейку , т.е на ранее созданный список, но…
… с использованием в «Источнике» функции ДВССЫЛ. «=ДВССЫЛ($Е$6)». Эта функция возвращает ссылку на наши диапазоны т.е. предыдущие списки, а не содержимое ячейки. Мы работаем с данными, в функцию просто их подставили. Наименование вводится вручную.
Обратите внимание на «источник». Указана абсолютная адресация столбца и ячейки (через знаки «$»). Чтобы распространить в таком виде на остальные строки, нужно будет указывать для каждой строки свой источник данных. Это долго. Можно аккуратно убрать абсолютную адресацию руками из «источника» и после скопировать ячейку на остальные строки ниже. Тогда «формула» распространится корректно.
Попробуйте добавить в базу новые позиции; проверьте — появляются ли они теперь автоматически в списке после указании категорий? Должно получиться.
Делаем выпадающий список в ячейке эксель с выбором по первой букве
Быстро понимаешь, что хорошо бы иметь возможность выбора из списка по первой букве, тогда процесс идет гораздо быстрее. Следующий способ познакомит вас с разработкой в эксель. Сначала Включим в настройках Excel режим конструктора через «Параметры».
В режиме конструктора вставим в наш документ элемент управления Active X «Поле со списком«:
Курсор мыши приобретет форму крестика. Побудем немного программистами — нарисуем этот элемент в нужной ячейке — так и делаются формы и и окошки которые привычны нам уже давно. В свойствах этого элемента делаем настройки — указываем наш именованный диапазон, цвет фона, шрифта, есть и другие настройки.
- ListFillRange — сюда вставляем наш именованный диапазон из «диспетчера имен»;
- LinkedCell — связанная ячейка, куда будет выводиться выбранный из списка элемент — нужно, если данные ее будут использоваться в других таблицах, формулах и т.д;
- ListRows — количество отображаемых строк в списке;
- Font — выбираем шрифт, размер, стиль;
- ForeColor и BackColor — цвет текста и фона;
- ListRow — количество возвращаемых строк в списке;
- PrintObject — определяет — выводить элемент управления на печать или нет (истина или ложь)
Пока активен режим конструктора — вы не сможете работать со списком как пользователь. Но вы можете изменять его размеры , свойства , положение на листе. После окончания настроек нужно выключить режим конструктора.
Попробуйте найти имя по букве, посмотрите что получается. Можно скопировать и разместить на нужных местах созданный нами элемент управления. Такой способ создания списков хорош для серьезных проектов в Excek, может не всем подойти, но у него есть свои плюсы, которых нет в других способах.
Связанные выпадающие списки
Связанные выпадающие списки.xls (216,5 KiB, 1 364 скачиваний)
Чтобы понять о чем пойдет речь в статье сначала необходимо понимать что такое выпадающий список и как его создать. Теперь попробуем разобраться что значит выражение «связанный выпадающий список». Я бы еще назвал такой список зависимым. Т.е. когда список значений одного выпадающего списка зависит от значения, выбранного в другом выпадающем списке или просто забитого в ячейку. Представим ситуацию: есть ячейка А2 . В ней создан выпадающий список со значениями: Овощи, Фрукты, Мясо, Напитки . А в ячейке В2 нам нужен такой список, чтобы значения этого самого списка изменялись в зависимости от того, какое значение мы укажем в ячейке А2 — т.е. список выбранной категории продуктов. Например выбрали в А2 значение Овощи — в В2 появился выпадающий список, содержащий значения: Морковь, Капуста, Картошка, Редиска, Помидоры. Выбрали в А2 Мясо — в В2 появился выпадающий список, содержащий значения: Говядина, Телятина, Свинина, Курица, Индейка . И т.д.
Подготовка
Для начала нам потребуется создать все эти списки. Что-то вроде этого:
Далее для каждого из этих списков необходимо назначить именованный диапазон. Создать можно любым способом из описанных в этой статье. Главное помнить — если сами списки расположено на листе, отличном от того, на котором списки выпадающие — то обязательно создавать именованный диапазон с назначением области действия — Книга.
В приложенном к статье примере диапазоны имеют имена категорий — их можно видеть в заголовках.
Если ваши категории содержат пробел — необходимо заменить его на нижнее подчеркивание (_) или удалить, т.к. в качестве именованного диапазона такое значение не подойдет и ничего в результате не получится.
Создание зависимых списков
В ячейке А2 создаем «список списков» — основной список, на основании значений которого будет создаваться второй список. Этот список может быть создан любым способом (как создать выпадающий список). Назовем его Список категорий.
В ячейке В2 потребуется создать список на основании формулы, хоть по сути и так же, как и остальные: вкладка Данные (Data) —Проверка данных (Data validation) —Список (List) . Но теперь вместо прямого указания имени списка необходимо указать ссылку на именованный диапазон, который мы выберем в Списке категорий(ячейка А2 ), на основании его имени. В этом нам поможет функция ДВССЫЛ (INDIRECT) . Просто записываем эту формулу в поле Источник (Source) : =ДВССЫЛ( $A2 )
На что обратить внимание: если вы планируете распространять такой список на столбец, то ссылка должна выглядеть именно так: $A2. Перед цифрой не должно быть знака доллара ($A$2 — неправильно). Иначе зависимый список будет всегда формироваться исключительно на основании значении ячейки А2.
Источник из другой книги
Сами списки товара могут находится и в другой книге. Если книга называется Книга со списком.xls и на Лист1 в ячейке А1 в этой книге находится имя нужного нам списка, то формула будет выглядеть так:
=ДВССЫЛ(«‘[Книга со списком.xls]Лист1’!»&$A$1)
На что обратить внимание: лучше всегда перед именем книги и после имени листа ставить апостроф — ‘. Так вы избежите проблем и недопонимания, если имя листа или книги содержит пробелы и иные специфические символы. В отличии от списков внутри одной книги в данном случае знак доллара должен быть и перед буквой и перед цифрой. В ином случае возможны ошибки (если, конечно, это не было сделано специально с пониманием того, что делалось).
Ограничения : данный способ создания списков хорош, но не обошлось и без ложки дегтя. Даже двух:
- обе книги должны быть открыты. Если вы закроете книгу со списками, то получите ошибку — выпадающие списки просто перестанут работать
- созданные подобным образом связанные списки не будут работать с динамическими именованными диапазонами
И ничего с этими ограничениями не поделать при подобном подходе.
Tips_Lists_Connect_Validation.xls (26,5 KiB, 16 309 скачиваний)
Статья помогла? Поделись ссылкой с друзьями!
Поиск по меткам
Здравствуйте!
В связанных списках для заголовков одной таблицы использую ДВССЫЛ таким образом =ДВССЫЛ(«Таблица[#Заголовки]»), дабы при добавлении нового столбца или изменении заголовков в динамической таблице автоматом отображались данные изменения и добавления.
Но в некоторых случаях происходит некое зависание, данный список не раскрывается, он будто не видит данных которые необходимо отобразить.
Подскажите в чем может быть причина?
Поделитесь своим мнением
Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме — добро пожаловать на Форум