Выпадающий список excel с накоплением

Выпадающий список с мультивыбором

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

Давайте рассмотрим несколько типовых вариантов реализации такого списка с мультивыбором.

Вариант 1. Горизонтальный

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

dropdown-multi-select1.gif

Выпадающие списки в ячейках С2:С5 в данном примере создаются стандартным образом, т.е.

  1. выделить ячейки С2:С5
  2. на вкладке или в меню Данные (Data) выбрать команду Проверка данных (Data Validation)
  3. в открывшемся окне выбрать вариант Список (List) и указать в качестве диапазона Источник (Source) ячейки с исходными данными для списка A1:A8

Затем в модуль листа нужно добавить макрос, который и будет делать всю основную работу, т.е. добавлять выбранные значения справа от зеленых ячеек. Для этого щелкните правой кнопкой мыши по ярлычку листа с выпадающими списками и выберите команду Исходный текст (Source code). В открывшееся окно редактора Visual Basic нужно вставить следующий код:

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

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

Вариант 2. Вертикальный

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

dropdown-multi-select2.gif

Делается совершенно аналогично, но немного меняется код макроса обработчика:

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

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

Вариант 3. С накоплением в той же ячейке

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

dropdown-multi-select3.gif

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

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

При желании, можно заменить символ-разделитель (запятую) в 9-й строке кода на свой (например, пробел или точку с запятой).

Ссылки по теме

  • Как создать простой выпадающий список в ячейке листа Excel
  • Выпадающий список с наполнением
  • Выпадающий список с добавлением недостающих вариантов
  • Что такое макросы, как их использовать, куда вставлять код макросов на Visual Basic

Выпадающий список в MS EXCEL на основе Проверки данных

​Смотрите также​Private Sub Worksheet_Change(ByVal​ А)​ с пробелами, то​ диапазону имя​ (то есть количество​ таблице).​ категорий продуктов, второй​Food​=СМЕЩ(города!$A$2;;Позиция_страны;СЧЁТЗ(Выбранная_Страна))​ (его нужно предварительно​ используя рассмотренный здесь​Установите курсор в той​ Второй метод реализации​ такие инструменты, которые​ диапазон ячеек, находящегося​ список только что​

​При заполнении ячеек данными,​ Target As Range)​сдвиг_вправо = 1, т.к.​

​ придется их заменять​Toyota​ элементов в списке).​Для того чтобы назвать​ — список всех​A1:A3​

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

​ был создан). Чтобы​ часто необходимо ограничить​

А. Простейший выпадающий список — ввод элементов списка непосредственно в поле Источник

​ On Error Resume​ мы хотим сослаться​ на подчеркивания с​. В Excel 2003​Начало диапазона будет перемещено​ список категорий:​

​ продуктов, находящихся в​​Pizza​​ того, чтобы в​ имен). Именованный диапазон​ Для тех, кому​ располагаться второй список.​​ альтернативой.​​ рамки основной цели​Если необходимо перенести диапазон​

​ пустые строки исчезли​ возможность ввода определенным​ Next If Not​ на модели в​ помощью функции​ и старше -​

​ относительно ячейки H2​Выберите диапазон A3:A5.​​ выбранной категории. Поэтому​​В1:В4​ выпадающих списках не​ Диап_Стран образуем формулой:​ требуется создать структуру​Откройте окно «Проверки вводимых​Как создать выпадающий список​

​ использования программы –​​ с элементами выпадающего​ необходимо сохранить файл.​ списком значений. Например,​ Intersect(Target, Range(«C2:C5»)) Is​ соседнем столбце (В)​​ПОДСТАВИТЬ (SUBSTITUTE)​​ это можно сделать​ на такое количество​В поле имени (поле​ я создал выпадающий​Pancakes​
​ отображались пустые строки.​
​=СМЕЩ(страны!$B$2;;;90;СЧЁТЕСЛИ(страны!$B$1:$Z$1;»?*»))​

Б. Ввод элементов списка в диапазон (на том же листе, что и выпадающий список)

​ с 4-мя и​ значений», нажав на​ в ячейке листа​ редактирования таблиц. В​ списка в другую​Второй недостаток: диапазон источника​ имеется ячейка, куда​ Nothing And Target.Cells.Count​

​размер_диапазона_в_строках — вычисляем с​, т.е. формула будет​ в меню​​ ячеек вниз (по​​ слева от строки​ список, зависимый от​

​С1:С2​​Наконец сформируем связанный​Для формирования списка Стран​ более уровнями, см.​ вкладке «Данные» по​ при помощи меню​
​ этой статье будет​​ книгу (например, в​ должен располагаться на​ пользователь должен внести​ = 1 Then​ помощью функции​ выглядеть как =ДВССЫЛ(ПОДСТАВИТЬ(F3;»​Вставка — Имя -​ числу), сколько составляет​​ формулы) введите название​​ выбора, сделанного в​Chinese​ выпадающий список для​ нам также понадобится​ статью Многоуровневый связанный список​ кнопке «Проверка данных».​ «Разработчика»? Как и​ рассказано об опции​ книгу Источник.xlsx), то​

​ том же листе,​ название департамента, указав​ Application.EnableEvents = False​СЧЕТЕСЛИ (COUNTIF)​ «;»_»))​ Присвоить (Insert -​ номер позиции первой​ «Категория».​ предыдущем списке (здесь​D1:D3​ ячеек из столбца​

​ Именованная формула Строки_Столбцы_Стран​ типа Предок-Родитель.​В появившемся окне на​ в предыдущий раз,​ выбора из списка​

B. Ввод элементов списка в диапазон (на любом листе)

​ нужно сделать следующее:​ что и выпадающий​ где он работает.​ If Len(Target.Offset(0, 1))​, которая умеет подсчитать​Надо руками создавать много​

​ Name — Define).​ встречающейся категории в​Подтвердите с помощью клавиши​ вы найдете материал​

​Выделите ячейку​ Страна налисте​=ЕСЛИ(ЕПУСТО(Диап_Стран);»»;​Имеется перечень Регионов. Для​ вкладке «Параметры» выберите​

​ для лучшего понимания​ в Excel. Другими​в книге Источник.xlsx создайте​ список, т.к. для​ Логично, предварительно создать​ = 0 Then​ количество встретившихся в​ именованных диапазонов (если​

​В Excel 2007​
​ столбце Категория. Проще​ Enter.​ о том, как​​B1​​Таблица​
​—((СТОЛБЕЦ(Диап_Стран)-1)&​

  • ​ каждого Региона имеется​​ из выпадающего списка​​ все действия будут​
  • ​ словами, расскажем, как​ необходимый перечень элементов;​
  • ​ правил Проверки данных нельзя​ список департаментов организации​ Target.Offset(0, 1) =​

​ списке (столбце А)​ у нас много​ и новее -​ будет понять на​

  • ​Такое же действие совершите​
  • ​ создать два зависимых​на листе​.​

​ВЫБОР(ДЛСТР(СТРОКА(Диап_Стран)-1);»0″;»»)&​
​ свой перечень Стран.​ «Тип данных» пункт​ поделены на этапы.​ создавать выпадающие списки​в книге Источник.xlsx диапазону​​ использовать ссылки на​​ и позволить пользователю​ Target Else Target.End(xlToRight).Offset(0,​ нужных нам значений​ марок автомобилей).​

​ на вкладке​ примере: диапазон для​ для диапазона рабочего​ раскрывающихся списка).​Sheet1​выделяем диапазон​СТРОКА(Диап_Стран)-1))​ Для каждой Страны​

​ «Список».​Итак, в первую очередь​ в ячейках таблицы.​​ ячеек содержащему перечень​​ другие листы или​ лишь выбирать значения​ 1) = Target​ — марок авто​Этот способ требует наличия​

​Формулы (Formulas)​

​ категории Питание перемещен​ списка категорий G3:G15,​Тот же самый результат​.​B5:B22​Окончательная формула в столбце​ имеется свой перечень​В поле для ввода​ необходимо активировать меню​Если вы хотите сделать​ элементов присвойте Имя,​

​ книги (это справедливо​​ из этого списка.​ End If Target.ClearContents​ (G7)​ отсортированного списка соответствий​с помощью​ на 4 ячейки​

​ который вы можете​ хочет получить пользователь​На вкладке​

​налисте​А​ Городов.​ «Источник» введите формулу​ «Разработчика», так как​ в ячейке Excel​

  • ​ например СписокВнеш;​ для EXCEL 2007​
  • ​ Этот подход поможет​ Application.EnableEvents = True​размер_диапазона_в_столбцах = 1, т.к.​ марка-модель вот такого​
  • ​Диспетчера имен (Name Manager)​ вниз относительно ячейки​ вызвать «Рабочий_Список». Этот​
  • ​ шаблона домашнего бюджета​Data​Таблица​на листе​

​Пользователь должен иметь возможность,​ «ДВССЫЛ», ссылающуюся на​ по умолчанию его​ список выбора, то​откройте книгу, в которой​ и более ранних).​ ускорить процесс ввода​ End If End​ нам нужен один​ вида:​. Затем повторим то​ H2 (начинается с​ диапазон мы будем​ где нужна категория​

​(Данные) нажмите кнопку​;​Города​ выбрав определенный Регион,​ первый список. В​

​ нет среди прочих​
​ проще всего воспользоваться​ предполагается разместить ячейки​Избавимся сначала от второго​ и уменьшить количество​ Sub​ столбец с моделями​Для создания первичного выпадающего​ же самое со​ 4 ячейки от​ использовать в формуле.​ и подкатегория расходов.​Data Validation​вызываем инструмент Проверка данных,​выглядит так:​ в соседней ячейке​ данном случае она​ вкладок.​ этим способом, подразумевающим​ с выпадающим списком;​ недостатка – разместим​ опечаток.​При необходимости, замените во​В итоге должно получиться​ списка можно марок​ списками Форд и​ H2). В 4-ой​

​Это будет просто:​​ Пример данных находится​
​(Проверка данных).​устанавливаем тип данных Список,​=ЕСЛИОШИБКА(ИНДЕКС(Диап_Стран;​ выбрать из Выпадающего​ будет выглядеть следующим​Нажмите по кнопке «Файл».​ простое создание выпадающего​выделите нужный диапазон ячеек,​ перечень элементов выпадающего​Выпадающий список можно создать​ второй строке этого​

​ что-то вроде этого:​ можно воспользоваться обычным​ Ниссан, задав соответственно​ ячейке столбца Подкатегория​Выберите ячейку, в которую​ на рисунке ниже:​Откроется диалоговое окно​в поле Источник вводим:​—ПРАВСИМВ(НАИМЕНЬШИЙ(Строки_Столбцы_Стран;СТРОКА(Z1));2);​ (раскрывающегося) списка нужную​ образом: «=ДВССЫЛ($B3)».​

​Нажмите по кнопке «Параметры».​ списка. Кстати, будет​ вызовите инструмент Проверка​ списка на другом​ с помощью Проверки​ кода чувствительный диапазон​Осталось добавить выпадающий список​ способом, описанным выше,​ имена диапазонам​ (не включая заголовок,​ вы хотите поместить​Так, например, если мы​Data Validation​ =Страны.​—ЛЕВСИМВ(НАИМЕНЬШИЙ(Строки_Столбцы_Стран;СТРОКА(Z1));​ ему Страну из​Нажмите «ОК».​В появившемся одноименном окне​

excel2.ru

Excel: выбор из списка. Выпадающий список в ячейке листа

​ рассказано о двух​ данных, в поле​ листе.​ данных ​ выпадающих списков С2:С5​ на основе созданной​ т.е.​Ford​ так как речь​ список. В моем​ выберем категорию Развлечения,​(Проверка вводимых значений).​Также создадим связанный выпадающий​ДЛСТР(НАИМЕНЬШИЙ(Строки_Столбцы_Стран;СТРОКА(Z1)))-2));»»)​ этого Региона. В​Второй список создан. Он​ перейдите в раздел​

Способ 1: создаем дополнительный список

​ его вариациях, поэтому​ Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»);​В правилах Проверки данных (также​или с помощью элемента​ на свой.​ формулы к ячейке​дать имя диапазону D1:D3​и​ идет о диапазоне​ случае это A12.​ то в списке​Выберите​

Шаг 1: подготавливаем данные

​ список для ячеек​сформирует необходимый нам список​ другой соседней ячейке​ привязан к первому,​ «Настройка ленты».​ прочтите до конца,​При работе с перечнем​ как и Условного​ управления формы Поле​То же самое, что​ G8. Для этого:​ (например​Nissan​ с именем Рабочий_Список),​В меню «ДАННЫЕ» выберите​ подкатегорий должно быть:​List​

excel выбор из списка

​ из столбца Город​ Стран.​ пользователь должен иметь​ что означает, что,​В области «Основные вкладки»​ чтобы во всем​ элементов, расположенным в​ форматирования) нельзя впрямую​ со списком (см.​

Шаг 2: вводим имя диапазона

​ и в предыдущем​выделяем ячейку G8​Марки​.​ есть слово Питание​ инструмент «Проверка данных».​ Кинотеатр, Театр, Бассейн.​

  1. ​(Список) из раскрывающегося​ (диапазон​Теперь создадим Динамический диапазон​
  2. ​ возможность выбрать нужный​ выбрав значение в​
  3. ​ установите отметку напротив​ разобраться.​
  4. ​ другой книге, файл​ указать ссылку на​ статью Выпадающий (раскрывающийся)​ варианте, но новые​выбираем на вкладке​
  5. ​) с помощью​

выбор из списка в excel

​При задании имен помните​ (его первое появление).​ Появится окно «Проверка​ Очень быстрое решение,​ списка​

Шаг 3: делаем выпадающий список

​С5:С22​ для формирования Выпадающего​ ему Город из​ данном случае продукта,​ пункта «Разработчик».​

  1. ​Предварительно необходимо в отдельном​ Источник.xlsx должен быть​ диапазоны другого листа​
  2. ​ список на основе​
  3. ​ выбранные значения добавляются​Данные (Data)​Диспетчера имен (Name Manager)​ о том, что​
  4. ​ Мы используем этот​ вводимых значений».​ если в своем​Allow​, в поле Источник​
  5. ​ списка содержащего названия​ этой Страны (см.​ вам необходимо будет​Нажмите «ОК».​ диапазоне ячеек создать​ открыт и находиться​
  6. ​ (см. Файл примера):​

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

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

Способ 2: создание выпадающего списка через меню «Разработчика»

​В качестве типа данных​ домашнем бюджете вы​(Тип данных).​ вводим: =Города)​ Регионов. Для этого​ файл примера). ​ выбрать также и​Нужная панель инструментов активирована,​ таблицу с данными,​ в той же​Пусть ячейки, которые должны​

​В этой статье создадим​ снизу:​Проверка данных (Data validation)​Формулы (Formulas)​ Excel не должны​ определения начала диапазона.​ выберите «Список».​ хотите проанализировать более​

Шаг 1: включаем меню «Разработчика»

​Поместите курсор в поле​На листе​ необходимо:​В окончательном виде трехуровневый​ его меру. Чтобы​ теперь можно приступать​

  1. ​ которые будут в​
  2. ​ папке, иначе необходимо​
  3. ​ содержать Выпадающий список,​ Выпадающий список с​Делается совершенно аналогично, но​
  4. ​или в меню​или в старых​ содержать пробелов, знаков​
  5. ​ Послужит нам для​

excel выбор значения из списка

​В качестве источника введите:​ подробную информацию.​Source​

Шаг 2: вставляем выпадающий список

​Таблица​нажать кнопку меню «Присвоить​ связанный список должен​

  1. ​ не создавать такие​ к созданию списка.​
  2. ​ будущем находиться в​ указывать полный путь​ размещены на листе​ помощью Проверки данных​
  3. ​ немного меняется код​Данные — Проверка (Data​ версиях Excel -​ препинания и начинаться​
  4. ​ этого функция ПОИСКПОЗ​ =Категория (рисунок ниже).​​

excel список выбора в ячейке

​(Источник) и введите​после выбора Региона​ имя» (Формулы/ Определенные​ работать так:​ же списки в​Нужно создать непосредственно сам​ выпадающем списке. Разберем​

Шаг 3: задаем необходимые параметры

​ к файлу. Вообще​ Пример,​

  1. ​ (Данные/ Работа с​ макроса обработчика:​ — Validation)​
  2. ​ через меню​ обязательно с буквы.​ (введенная в качестве​
  3. ​Подтвердите с помощью OK.​Признаюсь, что в предложенном​ «=Food».​ и Страны теперь​ имена/ Присвоить имя);​Сначала выберем, например, Регион​
  4. ​ других ячейках, выделите​ элемент «Выпадающий список».​ все на примере​ ссылок на другие​а диапазон с перечнем​

excel список выбора в ячейке

​ данными/ Проверка данных)​Private Sub Worksheet_Change(ByVal​из выпадающего списка выбираем​Вставка — Имя -​ Поэтому если бы​ второго аргумента функции​Проверка вводимых значений –​ мной варианте домашнего​

Способ 3: создание связанного списка

​Нажмите​ есть возможность выбора​в поле Имя ввести​ «Америка» с помощью​ уже добавленные и​ Для этого:​ продуктов. Итак, мы​ листы лучше избегать​ элементов разместим на​ с типом данных​ Target As Range)​ вариант проверки​ Присвоить (Insert -​

Шаг 1: создаем дополнительный список

​ в одной из​ СМЕЩ):​ Категория.​ бюджета я ограничиваюсь​ОК​ Города.​ Регионы;​ Выпадающего списка.​ потяните за нижний​Перейдите на добавленную вкладку​ имеем список из​ или использовать Личную​ другом листе (на​ Список.​ On Error Resume​

Шаг 2: Связываем первый список со вторым

​Список (List)​ Name — Define)​ марок автомобилей присутствовал​Высоту диапазона определяет функция​Результат следующий:​ только категорией, поскольку​.​

  1. ​Для добавления новых Регионов​в поле Диапазон ввести​Затем выберем Страну «США»​
  2. ​ правый угол выделения​ «Разработчик».​ семи товаров, если​ книгу макросов Personal.xlsx​
  3. ​ листе Список в​Выпадающий список можно сформировать​ Next If Not​и вводим в​выбрать на вкладке​
  4. ​ бы пробел (например​ СЧЕТЕСЛИ. Она считает​Раскрывающийся список для категории.​ для меня такого​Результат:​ и их Стран​ формулу​
  5. ​ из Региона «Америка».​

excel список выбора в ячейке

​ вниз, тем самым​На листе создайте список​ быть точнее, то​ или Надстройки.​ файле примера).​ по разному.​ Intersect(Target, Range(«C2:F2»)) Is​ качестве​Данные (Data)​ Ssang Yong), то​ все встречающиеся повторения​Сейчас будет весело. Создавать​ разделения расходов вполне​Теперь выделите ячейку​ достаточно ввести новый​=страны!$A$2:ИНДЕКС(страны!$A:$A;СЧЁТЗ(страны!$A:$A))​Причем перечень стран в​

Заключение

​ заполнив все нужные​ товаров, который будет​ продуктов. Эту табличку​Если нет желания присваивать​Для создания выпадающего списка,​Самым простым способом создания​ Nothing And Target.Cells.Count​Источника (Source)​команду​ его пришлось бы​ в категории, то​ списки мы умеем​ достаточно (название расходов​Е1​ Регион в столбец​Нажать ОК.​ выпадающем списке будет​ ячейки.​ использоваться для создания​

​ мы создадим чуть​

fb.ru

Многоуровневый связанный список в MS EXCEL

​ имя диапазону в​ элементы которого расположены​ Выпадающего списка является​

​ = 1 Then​знак равно и​Проверка данных (Data validation)​

  • ​ заменить в ячейке​ есть слово Питание.​ — только что​ / доходов рассматривается​.​A​Формула подсчитывает количество элементов​ содержать только страны​
  • ​Опция выбора из списка​ выпадающего списка.​ правее от основной​ файле Источник.xlsx, то​ на другом листе,​ ввод элементов списка​ Application.EnableEvents = False​ имя нашего диапазона,​выбрать из выпадающего списка​ и в имени​ Сколько раз встречается​ это сделали для​ как подкатегория). Однако,​

​Выберите​(лист​ в столбце​ из выбранного на​ в Excel довольно​Нажмите по кнопке «Вставить»​ таблицы, в рамках​ формулу нужно изменить​ можно использовать два​ непосредственно в поле​ If Len(Target.Offset(1, 0))​ т.е.​ вариант проверки​
​ диапазона на нижнее​ это слово, сколько​ категории. Только единственный​ если вам нужно​List​Страны​А​
​ предыдущем шаге Региона​ полезна, это можно​ и в дополнительном​

​ которой будут созданы​​ на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4»)​ подхода. Один основан​ Источник инструмента Проверка​ = 0 Then​=Модели​Список (List)​ подчеркивание (т.е. Ssang_Yong).​ и будет позиций​ вопрос: «Как сказать​ разделить их на​(Список) из выпадающего​), в строке​на листе​ «Америка».​

Постановка задачи

​ было понять из​ меню выберите пункт​ выпадающие списки.​СОВЕТ:​ на использовании Именованного​ данных.​

​ Target.Offset(1, 0) =​Вуаля!​и указать в​Теперь создадим первый выпадающий​ в нашем диапазоне.​ Excelю выбрать только​ подкатегории, то метод,​ списка​1​Страны​И, наконец, выберем Город​ всего вышесказанного. Но​ «Поле со списком».​

​Если вы не хотите,​Если на листе​ диапазона, другой –​

​Предположим, в ячейке​ Target Else Target.End(xlDown).Offset(1,​4 способа создать выпадающий​

​ качестве​ список для выбора​

​ Количество позиций в​ те значения, которые​ который я описываю​Allow​автоматически отобразится соответствующий​(функция СЧЁТЗ()) и​

​ «Атланта» из Страны​ куда важнее то,​Кликните по той ячейке,​

​ чтобы таблица с​ много ячеек с​ функции ДВССЫЛ().​B1​ 0) = Target​ список в ячейках​

Решение

​Источника (Source)​ марки автомобиля. Выделите​ диапазоне — это​ предназначены для конкретной​ ниже, будет идеальным.​(Тип данных).​ заголовок. Под появившимся​​ определяет ссылку на​​ «США».​

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

​необходимо создать выпадающий​ End If Target.ClearContents​​ листа​​=Марки​​ пустую ячейку и​​ его высота. Вот​ категории?» Как вы,​ Смело используйте!​Поместите курсор в поле​​ заголовком в строке​​ последний элемент в​

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

​ то можно использовать​Создадим Именованный диапазон Список_элементов,​ список для ввода​ Application.EnableEvents = True​​Автоматическое создание выпадающих списков​​или просто выделить​

​ откройте меню​ функция:​ наверное, догадываетесь, я​​А конечный результат выглядит​​Source​

​1​ столбце (функция ИНДЕКС()),​​ выпадающем списке будет​​ обладать глубокими знаниями​Уже на этом этапе​​ и основная, вы​​ инструмент Выделение группы​ содержащий перечень элементов​ единиц измерений. Выделим​ End If End​​ при помощи инструментов​​ ячейки D1:D3 (если​Данные — Проверка (Data​Конечно же, обе функции​ буду использовать здесь​​ следующим образом:​​(Источник) и введите:​​введите страны нового​​ тем самым формируется​ содержать только города​ в использовании табличного​ нужный элемент появится,​ можете создать ее​ ячеек (Главная/ Найти​ выпадающего списка (ячейки​ ячейку​ Sub​ надстройки PLEX​

​ они на том​

​ — Validation)​ уже включены в​ рабочую таблицу и,​

​Для того чтобы этого​
​=INDIRECT($B$1)​
​ Региона.​
​ диапазон, содержащий все​

​ из выбранной на​​ процессора. Тем более​​ но, если нажать​​ на отдельном листе.​​ и выделить/ Выделение​

​A1:A4​
​B1​
​Опять же, при необходимости,​
​Выбор фото из выпадающего​

​ же листе, где​или нажмите кнопку​

​ функцию СМЕЩ, которая​ конечно же, формулы.​ достичь, необходимо сделать​=ДВССЫЛ($B$1)​Для добавления новых​

  • ​ значения Регионов. Пропуски​ предыдущем шаге Страны,​ есть даже три​
  • ​ по нему, откроется​ Роли это не​
  • ​ группы ячеек). Опция​на листе Список).​

​и вызовем Проверку​

  • ​ замените во второй​

​ списка​ список).​​Проверка данных (Data Validation)​​ описана выше. Кроме​​Начнем с того, что​​ немного другую таблицу​Нажмите​ Городов, на листе​ в столбце​ т.е. из «США».​ способа реализации данной​ пустой список. Соответственно,​ сыграет.​​ Проверка данных этого​​Для этого:​

​ данных.​ строке этого кода​Выпадающий список с автоматическим​А вот для зависимого​

​на вкладке​

​ того, обратите внимание,​ мы уже умеем,​ данных, чем если​ОК​Города​

​А​

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

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

​ из списка в​ ячейки, для которых​А1:А4​ указать через точку​ списков С2:F2 на​ элементов​ создать именованный диапазон​если у вас​ функции ПОИСКПОЗ, так​ создания раскрывающегося списка​

​ один раскрывающийся список.​Результат:​1​​Аналогичным образом создадим Динамический диапазон​​ Таблицу, в которую​ у вас не​

​Чтобы добавить в выпадающий​

​ Excel, предварительно надо​ проводится проверка допустимости​,​ с запятой единицы​

​ свой.​Динамическая выборка данных для​ с функцией​​ Excel 2007 или​​ и в СЧЕТЕСЛИ,​ в ячейке B12.​

​ Таблица должна выглядеть​Пояснение:​найдите нужное название​
​ Список_Стран для формирования​
​ будут заноситься данные​

​ должно возникнуть особых​ список пункты, необходимо:​ ввести имя диапазона​ данных (заданная с​
​нажимаем Формулы/ Определенные имена/​ измерения шт;кг;кв.м;куб.м, то​В этом варианте накопление​ выпадающего списка функциями​​СМЕЩ​​ новее. Затем из​

  • ​ есть ссылка на​​ Поэтому выберите эту​​ так (диапазон G2:H15):​​Функция​​ страны (оно автоматически​
  • ​ выпадающего списка содержащего​
  • ​ с помощью Трехуровневого​
  • ​ проблем при их​На панели инструментов нажать​

​ с данными для​ помощью команды Данные/​ Присвоить имя​ выбор будет ограничен​​ происходит в той​​ ИНДЕКС и ПОИСКПОЗ​(OFFSET)​

​ выпадающего списка​​ диапазон названный Рабочий_Список.​​ ячейку и нажмите​В эту таблицу необходимо​INDIRECT​ появится там после​

​ названия стран:​ связанного списка, разместим​ выполнении.​ по кнопке «Режим​​ будущего списка. Делается​​ Работа с данными/​​в поле Имя вводим​​ этими четырьмя значениями.​​ же ячейке, где​​Классический выпадающий список на​, который будет динамически​Тип данных (Allow)​​ Как я уже​​ «Данные» / «Проверка​ ввести категорию и​
​(ДВССЫЛ) возвращает ссылку,​ добавления страны на​​=города!$A$2:ИНДЕКС(города!$A:$A;СЧЁТЗ(города!$A:$A))​​ на листе​​Автор: Вадим Матузок​​ конструктора».​ это довольно просто:​ Проверка данных). При​ Список_элементов, в поле​Теперь смотрим, что получилось.​​ расположен выпадающий список.​​ листе Excel -​ ссылаться только на​

​выберите вариант​​ упоминал ранее, не​ данных», а в​ рядом с ней​ заданную текстовым значением.​ листе​Создадим Именованную формулу Позиция_региона для​Таблица​Для моделирования сложных иерархических​Затем нажать кнопку «Свойства​Выделите ячейки, в которых​ выборе переключателя Всех​ Область выбираем Книга;​ Выделим ячейку​ Выбранные элементы разделяются​ отличная штука, но​ ячейки моделей определенной​Список (List)​ обязательно использовать имена​ качестве типа данных​ ее подкатегории. Имя​

excel2.ru

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

​ Например, пользователь выбирает​Страны​ определения позиции, выбранного​.​ данных создадим Многоуровневый​

​ элемента управления», располагающуюся​ находятся в данном​ будут выделены все​

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

​Теперь на листе Пример,​B1​ любым заданным символом​ позволяет выбрать только​ марки. Для этого:​

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

​и в поле​​ диапазонов, можно просто​ — «Список».​ категории должно повторяться​​ «Chinese» из первого​​). Под этим заголовком​ пользователем региона, в​​Список Регионов и перечни​​ связанный список.​

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

  1. ​. При выделении ячейки​ (например, запятой):​​ один вариант из​​Нажмите​
    ​Источник (Source)​ ввести $H3: $H15.​
    ​В источник списка введите​ ​ столько раз, сколько​
    ​ выпадающего списка, а​ ​ введите название города.​
    ​ созданном выше диапазоне​ ​ Стран разместим на​
    ​Потребность в создании иерархических​ ​В появившемся окне со​

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

  2. ​Нажмите правой кнопкой мыши​​ выборе опции Этих​​ которые будут содержать​​ справа от ячейки​​Выпадающие списки в зеленых​
  3. ​ представленного набора. Иногда​​Ctrl+F3​​выделите ячейки с​​ Однако использование имен​​ следующую формулу:​Зависимые выпадающие списки в Excel​ есть подкатегорий. Очень​​ функция​​СОВЕТ:​
  4. ​ Регионы:​​ листе​​ данных появляется при​ свойствами в графе​​ (ПКМ) по выделению.​​ же выделяются только​
  5. ​ Выпадающий список.​​ появляется квадратная кнопка​​ ячейках создаются совершенно​ именно это и​Зависимые выпадающие списки в Excel
  6. ​или воспользуйтесь кнопкой​​ названиями марок (желтые​​ диапазонов в формуле​

​Вид окна «Проверка вводимых​

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

  1. ​ важно, чтобы данные​​INDIRECT​​В этой статье​
  2. ​ =ПОИСКПОЗ(A5;Регионы;0)​​Страны​​ решении следующих задач:​ ListFillRange введите диапазон​​Выберите из меню опцию​​ те ячейки, для​
  3. ​вызываем Проверку данных;​​ со стрелкой для​​ стандартно, как и​

    ​ нужно, но бывают​
    ​Диспетчер имен (Name manager)​

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

  4. ​ ячейки в нашем​​ делает ее проще​​ значений»:​

​ были отсортированы по​

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

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

​Обратите внимание, что названия​ При выборе отдела​
​ находятся пункты будущего​
​В появившемся окне в​

​ же правила проверки​

office-guru.ru

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

​ ссылку на созданное​ выпадающего списка.​ Всю работу делает,​ должен иметь возможность​Формулы (Formulas)​ на​Вот и все:​ зависимого списка состоит​ будет чрезвычайно важно,​Chinese​

Пример создания зависимого выпадающего списка в ячейке Excel

​ столбцах. Обычно однотипные​ важно перед созданием​ Регионов (диапазон​ из списка всех​ выпадающего списка.​ поле «Имя» введите​ данных, что и​ имя: =Список_элементов.​Недостатки​ опять же, макрос​

​ выбрать​. В версиях до​ОК​Скачать пример зависимого выпадающего​ в использовании функции​ когда позже будем​, который находится на​ значения размещают в​ формулы сделать активной​А2:А12​ отделов компании, динамически​Теперь нажмите ПКМ по​ название диапазона. Оно​ для активной ячейки.​Примечание​

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

​ выпадающему списку и​ может быть абсолютно​Примечание​Если предполагается, что​ списка легко потерять​Private Sub Worksheet_Change(ByVal​элементов из списка.​

Пример данных.

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

​ в меню выберите​

Список категорий и подкатегорий в зависимом выпадающем списке Excel

​ любым.​:​ перечень элементов будет​ (например, удалив строку​ Target As Range)​Давайте рассмотрим несколько типовых​Вставка — Имя -​Теперь создадим второй выпадающий​ такая уж и​ ей функции ПОИСКПОЗ​ использовать таблицы с​. В результате второй​ список в MS​на листе​) в точности должны​

​ этого отдела (двухуровневая​ «Объект ComboBox», а​

конечный результат.

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

​Нажмите «ОК».​Если выпадающий список​ дополняться, то можно​ или столбец, содержащие​ On Error Resume​ вариантов реализации такого​ Присвоить (Insert -​ список, в котором​

Таблица диапазон.

Рабочая исходная таблица Excel

​ простая, но облегчающая​ и СЧЕТЕСЛИ. Функция​ первого изображения. Разумеется,​ раскрывающийся список состоит​ EXCEL на основе​Таблица​ совпадать с заголовками​ иерархия);​ в подменю Edit.​Второй шаг выполнен. Созданный​ содержит более 25-30​ сразу выделить диапазон​ ячейку​

​ Next If Not​ списка с мультивыбором.​ Name — Define)​ будут отображаться модели​ работу и защищает​ СМЕЩ позволяет динамически​ формулы были бы​ из блюд китайской​ таблицы все исходные​.​ столбцов, содержащих названия​Город – Улица –​Сразу же после этого​ нами только что​ значений, то работать​ большего размера, например,​B1​ Intersect(Target, Range(«C2:C5»)) Is​Пользователь выбирает из выпадающего​Создайте новый именованный диапазон​ выбранной в первом​ от ошибок при​ определять диапазоны. Вначале​

​ разными. Однажды даже​ кухни.​ данные размещены на​Аналогичным образом создадим именованную​

1. Имена диапазонов ячеек

​ соответствующих Стран (​ Номер дома. При​ в выпадающий список​ диапазон ячеек облегчит​ с ним становится​А1:А10​); не удобно вводить​ Nothing And Target.Cells.Count​ списка элементы один​

​ с любым именем​ списке марки. Также​ вводе данных!​ мы определяем ячейку,​ я нашел в​Урок подготовлен для Вас​ одном листе, а​ формулу для определения​В1:L1​ заполнении адреса проживания​ будут внесены указанные​

​ создание списка в​ неудобно. Выпадающий список​

  1. ​. Однако, в этом​
  2. ​ большое количество элементов.​ = 1 Then​ за другим, и​ (например​
  3. ​ как в предыдущем​Читайте также: Связанные выпадающие​

Категория.

​ от которой должен​ сети такое решение,​ командой сайта office-guru.ru​ однотипные данные (названия​ позиции, выбранной пользователем​).​ из списка городов​

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

​ пункты. Вот так​

  1. ​ будущем.​ одновременно отображает только​ случае Выпадающий список​ Подход годится для​
  2. ​ Application.EnableEvents = False​ они появляются справа​Модели​ случае, откройте окно​
  3. ​ списки и формула​ начинаться сдвиг диапазона,​
  4. ​ но оно мне​Источник: http://www.excel-easy.com/examples/dependent-drop-down-lists.html​
  5. ​ городов) — в​

Список.

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

​ нужно выбирать город,​

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

​ просто можно выполнить​

3. Создание зависимого выпадающего списка для подкатегории

​Теперь можно переходить непосредственно​ 8 элементов, а​ может содержать пустые​ маленьких (3-5 значений)​ newVal = Target​ от изменяемой ячейки,​) и в поле​Проверки данных​ массива в Excel​ а в последующих​ не понравилось, потому​Перевел: Антон Андронов​ одном столбце. Это​ Список_Стран =ПОИСКПОЗ(таблица!B5;Список_Стран;0). Перед​

​ (см. статьи о​ затем из списка​ выбор из списка​ к использованию опции​ чтобы увидеть остальные,​ строки.​ неизменных списков.​ Application.Undo oldval =​ автоматически составляясь в​Ссылка (Reference)​, но в поле​

​Два варианта использования этого​ аргументах определяем его​

​ что там была​Автор: Антон Андронов​

формула.

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

​ облегчает написание формул​ созданием формулы нужно​ Транспонировании).​ всех улиц этого​ в Excel вторым​ выбора из списка​ нужно пользоваться полосой​Избавиться от пустых строк​Преимущество​ Target If Len(oldval)​ список по горизонтали:​в нижней части​Источник​ трюка я уже​ размеры.​

​ фиксированная длина списка:​Зависимый выпадающий список позволяет​ и позволяет создать​ сделать активной ячейку​=ДВССЫЛ(АДРЕС(СТРОКА($A$1)-СТОЛБЕЦ($A$1)+СТОЛБЕЦ();1))​ города – улицу,​ методом.​ в Excel. Делается​ прокрутки, что не​ и учесть новые​: быстрота создания списка.​ <> 0 And​Выпадающие списки в ячейках​ окна введите руками​нужно будет ввести​

​ представил. Интересно, как​В нашем примере диапазон​ а значит, иногда​ сделать трюк, который​ списки с большим​С5​с помощью которой формируются​ затем, из списка​Для выбора нескольких значений​ это следующим образом:​ всегда удобно.​ элементы перечня позволяет​Элементы для выпадающего списка​ oldval <> newVal​ С2:С5 в данном​ следующую формулу:​ вот такую формулу:​ вы его будете​ будет перемещаться по​ список содержал пустые​ очень часто хвалят​ количеством уровней иерархии​

​на листе​ заголовки столбцов. Введем​ всех домов на​ выпадающий список в​Выделите нужный диапазон ячеек,​В EXCEL не предусмотрена​ Динамический диапазон. Для​ можно разместить в​ Then Target =​ примере создаются стандартным​=СМЕЩ($A$1;ПОИСКПОЗ($G$7;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$G$7);1)​=ДВССЫЛ(F3)​ использовать?​ столбцу Подкатегория в​ поля, а иногда​ пользователи шаблонов Excel.​ (4-6).​Таблица​ ее в диапазон​ этой улице –​ Excel подходит лучше​ в котором будут​ регулировка размера шрифта​ этого при создании​ диапазоне на листе​ Target & «,»​ образом, т.е.​=OFFSET($A$1;MATCH($G$7;$A:$A;0)-1;1;COUNTIF($A:$A;$G$7);1)​или =INDIRECT(F3)​Этот фокус основан на​ рабочей таблице (G2:H15).​

​ и не отображал​ Трюк, который делает​Этот пример описывает, как​.​ ячеек​ номер дома (трехуровневая​ всего, но порой​ располагаться выпадающие списки.​ Выпадающего списка. При​ Имени Список_элементов в​ EXCEL, а затем​ & newVal Else​выделить ячейки С2:С5​

​Ссылки должны быть абсолютными​где F3 — адрес​ применении функции​ Перемещение начнем от​ все элементы. Конечно,​ работу проще и​ создать зависимые выпадающие​Создадим Именованные константы МаксСтран​В1:L1​ иерархия).​ бывает потребность во​Перейдите на вкладку «Данные».​ большом количестве элементов​ поле Диапазон необходимо​ в поле Источник​ Target = newVal​на вкладке или в​ (со знаками $).​ ячейки с первым​

​ДВССЫЛ (INDIRECT)​

конечный результат.

​ ячейки H2, которая​ я могу избежать​

​ быстрее. Трюк, благодаря​ списки в Excel.​ равную 20 и​.​В этой статье рассмотрен​ взаимосвязи нескольких таких​

​В группе инструментов «Работа​ имеет смысл сортировать​ записать формулу =СМЕЩ(Список!$A$1;;;СЧЁТЗ(Список!$A:$A))​

​ инструмента Проверки данных​ End If If​ меню​ После нажатия Enter​ выпадающим списком (замените​

exceltable.com

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

Способ 1. Функция ДВССЫЛ (INDIRECT)

​, которая умеет делать​ также является первым​​ этого ограничения, но​​ которому ваши формы​ Вот то, чего​ МаксГородов равную 30.​Список Стран и перечни​ Многоуровневый связанный список.​ списков. К счастью,​ с данными» нажмите​ список элементов и​Использование функции СЧЁТЗ() предполагает,​ указать ссылку на​ Len(newVal) = 0​Данные (Data)​ к формуле будут​ на свой).​ одну простую вещь​ аргументом нашей функции.​ признаюсь, что мне​​ будут удобны и​​ мы попытаемся добиться:​ Константы соответствует максимальному​ Городов разместим на​

​ Двухуровневый связанный список​ программа это позволяет​ по кнопке «Проверка​ использовать дополнительную классификацию​

Как сделать выпадающий список вȎxcel с несколькими условиями

​ что заполнение диапазона​ этот диапазон.​ Then Target.ClearContents Application.EnableEvents​выбрать команду​ автоматически добавлены имена​Все. После нажатия на​​ — преобразовывать содержимое​​ В формуле ячейку​ больше нравится мое​ приятны.​Когда пользователь выбирает «Pizza»​​ количеству стран в​ листе​ или просто Связанный​​ делать, и далее​ данных».​ элементов (т.е. один​​ ячеек (​​Предположим, что элементы списка​​ = True End​​Проверка данных (Data Validation)​ листов — не​ОК​ любой указанной ячейки​ H2 записали как​​ решение, поэтому к​​Пример использования зависимого выпадающего​​ из первого раскрывающегося​​ регионе и, соответственно,​

​Города​ список рассмотрен в​ будет предоставлена подробная​В появившемся окне на​ выпадающий список разбить​A:A​ шт;кг;кв.м;куб.м введены в​ If End Sub​в открывшемся окне выбрать​ пугайтесь :)​содержимое второго списка​ в адрес диапазона,​ абсолютную ссылку, потому​ тому решению я​ списка для создания​ списка…​ максимальному количеству городов​

​.​ статьях Связанный список​ пошаговая инструкция с​ вкладке «Параметры» выберите​ на 2 и​​), который содержит элементы,​ ячейки диапазона​​При желании, можно заменить​​ вариант​​Функция​​ будет выбираться по​​ который понимает Excel.​ что предполагаю, что​ больше не возвращался.​ удобной формы заполнения​​… второй выпадающий список​​ в стране. Эти​​Откуда же возьмется перечень​​ и Расширяемый Связанный​​ детальным описанием всех​​ из выпадающего списка​ более).​ ведется без пропусков​A1:A4​ символ-разделитель (запятую) в​​Список (List)​​СМЕЩ (OFFSET)​ имени диапазона, выбранного​

Как сделать выпадающий список вȎxcel с несколькими условиями

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

​, тогда поле Источник​

​ 9-й строке кода​

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

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

​ один из самых​​Первостепенно необходимо создать основной​

  • ​ «Список».​ со списком сотрудников​ примера, лист Динамический​ будет содержать =лист1!$A$1:$A$4​​ на свой (например,​​ качестве диапазона​ на диапазон нужного​Минусы​ текст «А1», то​ многих ячейках.​ шаги создания зависимого​ товары. Из всего​ нашем случае это​Создадим именованный диапазон Выбранный_Регион​? Очевидно, что после​
  • ​ сложных на сайте​ выпадающий список. На​Введите в поле «Источник»​ насчитывающем более 300​ диапазон).​Преимущество​ пробел или точку​Источник (Source)​ размера, сдвинутый относительно​​такого способа:​​ функция выдаст в​Поскольку рабочая таблица отсортирована​ выпадающего списка.​
  • ​ ассортимента они должны​ перечень возможных пицц.​ для определения диапазона​ заполнения листа​

Способ 2. Список соответствий и функции СМЕЩ (OFFSET) и ПОИСКПОЗ (MATCH)

​ Excel2.ru, поэтому необходимо​ этом долго останавливаться​ название ранее созданного​ сотрудников, то его​

Как сделать выпадающий список вȎxcel с несколькими условиями

​Используем функцию ДВССЫЛ()​: наглядность перечня элементов​ с запятой).​ячейки с исходными​ исходной ячейки на​

  • ​В качестве вторичных (зависимых)​ результате ссылку на​​ по Категории, то​​Это необязательный шаг, без​​ были выбрать те​​Примечание переводчика:​​ на листе​​Страны​ для начала ознакомиться​ не будем, так​​ диапазона ячеек, предварительно​ следует сначала отсортировать​Альтернативным способом ссылки на​
  • ​ и простота его​​qwesz​​ данными для списка​​ заданное количество строк​
  • ​ диапазонов не могут​ ячейку А1. Если​​ диапазон, который должен​​ него мы сможем​ продукты, которые они​​Лист, на котором​ ​Страны​​названиями стран, необходимо,​ с вышеуказанными статьями.​ как конструкция полностью​ поставив знак равенства.​ в алфавитном порядке.​

​ перечень элементов, расположенных​ модификации. Подход годится​: Здравствуйте.​ A1:A8​​ и столбцов. В​ ​ выступать динамические диапазоны​​ в ячейке лежит​ быть источником для​ без проблем справиться​ собирались продать.​

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

​ была описана в​

​ – «=Продукты».​

​ список, содержащий буквы​ является использование функции​ списков.​ чтобы в зависимости​ нужно добавить макрос,​ синтаксис этой функции​СМЕЩ (OFFSET)​

​ функция выдаст ссылку​​ начинаться там, где​​ мне нравится использовать​ товарную группу, а​Sheet1​=СМЕЩ(страны!$A$2;;Позиция_региона;МаксСтран)​ на лист​ помощью инструмента Проверка​ первом способе. Скажем​Нажмите «ОК».​ алфавита. Второй выпадающий​

​ ДВССЫЛ(). На листе​Недостатки​

​ от некоего условия​

  • ​ который и будет​ таков:​. Для первичного (независимого)​
  • ​ на именованный диапазон​ впервые встречается выбранная​​ имена, потому что​​ затем конкретный товар​, а вспомогательный лист​Теперь, например, при выборе​Города​ данных (Данные/ Работа​ только, что связывать​
  • ​Сразу после этого в​ список должен содержать​ Пример, выделяем диапазон​: если добавляются новые​
  • ​ ячейке присваивался бы​ делать всю основную​​=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; размер_диапазона_в_строках;​​ списка их использовать​ с именем​ категория. Например, для​ они значительно облегчают​ из этой группы.​ –​
  • ​ региона Америка функция​. Это чудесное перемещение​ с данными/ Проверка​

​ мы будем наименование​ выбранных ячейках появятся​

Как сделать выпадающий список вȎxcel с несколькими условиями

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

  • ​ работу, т.е. добавлять​
  • ​ размер_диапазона_в_столбцах)​​ можно, а вот​​Маша​​ категории Питание мы​​ как написание, так​​ Форма должна включать​Sheet2​
  • ​ СМЕЩ() вернет ссылку​ организуем формулами. Список​​ данных) с условием​​ товара с его​ выпадающие списки. Это​​ которые начинаются с​​ содержать выпадающий список,​ вручную изменять ссылку​ одно значение без​​ выбранные значения справа​

​Таким образом:​

Ссылки по теме

  • ​ вторичный список должен​и т.д. Такой,​ хотим отобразить диапазон​
  • ​ и чтение формулы.​ полное имя группы​.​
  • ​ на диапазон страны!$B$2:$B$20​ Стран сформируем на​
  • ​ проверки Список.​ весом. Рекомендуется создать​ был первый способ​
  • ​ буквы, выбранной первым​ вызываем Проверку данных,​ на диапазон. Правда,​

planetaexcel.ru

Выпадающий список с мультивыбором

​ списка? Например если​ от зеленых ячеек.​начальная ячейка — берем​ быть определен жестко,​ своего рода, «перевод​ H6:H11, для Транспорта​Присвоим имена двум диапазонам.​ и определенный индекс​Чтобы создать такие зависимые​Создадим аналогичный диапазон Выбранная_Страна​ листе​​Создание Многоуровневого связанного​​ наименование диапазонов с​

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

Вариант 1. Горизонтальный

​ в качестве источника​ в списке один​ Для этого щелкните​ первую ячейку нашего​ без формул. Однако,​ стрелок» ;)​ — диапазон H12:​

Как сделать выпадающий список вȎxcel с несколькими условиями

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

  1. ​Города​
  2. ​ списка рассмотрим на​ мерами товаров (г,​​ ко второму.​​ такой задачи может​​ =ДВССЫЛ(«список!A1:A4»).​
  3. ​ можно определить сразу​ элемент, то он​​ правой кнопкой мыши​​ списка, т.е. А1​ это ограничение можно​​Возьмем, например, вот такой​​ H15 и т.​ и рабочий список​ это вручную было​

​ в соответствии с​ на листе​в столбце​ конкретном примере.​ кг, мл, л).​Вполне возможно, что предыдущая​ быть использована структура​Недостаток​ более широкий диапазон,​ пишется сразу, а​ по ярлычку листа​сдвиг_вниз — нам считает​​ обойти, создав отсортированный​​ список моделей автомобилей​ д. Обратите внимание,​ категорий. Это будут​ бы слишком трудоемким​

​ нашей инструкцией:​Города​А​Примечание​Ну а теперь перейдем​ инструкция показалась вам​ Связанный список или​: при переименовании листа​ например,​ если более одного,​ с выпадающими списками​ функция​ список соответствий марка-модель​ Toyota, Ford и​ что все время​ диапазоны A3:A5 (список​ (и раздражающим) занятием,​

​Создайте следующие именованные диапазоны​, содержащего города выбранного​с помощью решения​: Рассмотренный в этой​ непосредственно к основному​

Вариант 2. Вертикальный

​ непонятной, и вы​ Вложенный связанный список.​ – формула перестает​A1:A100​ то список.​ и выберите команду​

Как сделать выпадающий список вȎxcel с несколькими условиями

​ПОИСКПОЗ (MATCH)​ (см. Способ 2).​ Nissan:​

​ мы перемещаемся по​ категорий в зеленой​ я предложил очень​ на листе​ региона: =СМЕЩ(города!$A$2;;Позиция_страны;МаксГородов)​ приведенного в статье​ статье Многоуровневый связанный​ – к созданию​ столкнулись с трудностями​Многие пользователи даже не​ работать. Как это​. Но, тогда выпадающий​Пример приложите в​Исходный текст (Source code)​, которая, попросту говоря,​Имена вторичных диапазонов должны​Выделим весь список моделей​

​ столбцу H, а​ таблице на первом​ быстрое и простое​Sheet2​Создадим две последние именованные​ Объединение списков. Значения​

Вариант 3. С накоплением в той же ячейке

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

Как сделать выпадающий список вȎxcel с несколькими условиями

​. В открывшееся окно​ выдает порядковый номер​ совпадать с элементами​ Тойоты (с ячейки​ единственное, что изменяется,​ изображении) и G3:G15​ решение — 2​

​:​ формулы Страны и​ для этого списка​ деле правильнее назвать​ из списка» в​ ячейке таблицы элемента​ известный табличный редактор​ см. в статье​ пустые строки (если,​ форума​ редактора Visual Basic​ ячейки с выбранной​ первичного выпадающего списка.​ А2 и вниз​ это начало диапазона​ (список повторяющихся категорий​ зависимых выпадающих списка.​Имя диапазона Адрес​ Города:​ будем брать из​ Трехуровневым, т.к. создать​ Excel, который будет​

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

planetaexcel.ru

Выпадающий список по условию (Формулы/Formulas)

​ маркой (G7) в​​ Т.е. если в​
​ до конца списка)​ и его высота​ в фиолетовой рабочей​Первым был список всех​ диапазона​=СМЕЩ(страны!$A$2;;Позиция_региона;СЧЁТЗ(Выбранный_Регион))​ Именованного диапазона Диап_Стран​ четырехуровневый связанный список,​ связан с первым.​ списка в Excel.​ функциями и имеет​Ввод элементов списка в​
​ была удалена или​: Вот готовое решение​ код:​

​ заданном диапазоне (столбце​​ нем есть текст​

excelworld.ru

​ и дадим этому​

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

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

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

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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Макрос.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Группа: Пользователи

Ранг: Прохожий

Сообщений: 2


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Прошу помочь с вопросом, есть тело макроса…но макрос не хочет работать.. в чем ошибка?
[vba]

Код

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

[/vba]
[moder]В том, что Правила форума не читаете
Файл где?
И почему код без соответствующих тегов был (кнопка #)?

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

Как сделать связанный выпадающий список в «Эксель», зависящий от значения в соседней ячейке.

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

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

Для этого необходимо:

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

После этой процедуры следует записать макрос в документ.

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

  • Открыть вкладку «Разработчик» ( Если вкладка отключена, включите ее в разделе Файл=> Параметры=> Настройка Ленты);

Разработчик

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

Макрос

  • Закрыть окно с макросом.

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

Первый макрос со смещением списка в сторону (горизонтально).

Горизонтальный список
Текст макроса:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«B2:B10»)) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
If Len(Target.Offset(0, 1)) = 0 Then
Target.Offset(0, 1) = Target
Else
Target.End(xlToRight).Offset(0, 1) = Target
End If
Target.ClearContents
Application.EnableEvents = True
End If
End Sub
Необходимо обратить внимание, что в строке :
If Not Intersect(Target, Range(«B1:B10»)) Is Nothing And Target.Cells.Count = 1 Then
Значения («B1:B10»)— это диапазон в пределах которого будет работать выпадающий список.
Аналогичным образом можно создать выпадающий список со смещением вниз и выпадающий список, записывающий в ячейку несколько значений через знак табуляции или пробел.

Макрос выпадающего списка со смещением вниз:

Вертикальный список
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«C2:F2»)) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
If Len(Target.Offset(1, 0)) = 0 Then
Target.Offset(1, 0) = Target
Else
Target.End(xlDown).Offset(1, 0) = Target
End If
Target.ClearContents
Application.EnableEvents = True
End If
End Sub

Макрос выпадающего списка с внесением нескольких значений в одну ячейку:

Накопительный список
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«B2:B5»)) Is Nothing And Target.Cells.Count = 1 Then
Application.EnableEvents = False
newVal = Target
Application.Undo
oldval = Target
If Len(oldval) <> 0 And oldval <> newVal Then
Target = Target & «//» & newVal
Else
Target = newVal
End If
If Len(newVal) = 0 Then Target.ClearContents
Application.EnableEvents = True
End If
End Sub

В строке If Not Intersect(Target, Range(«B2:B5»)) Is Nothing And Target.Cells.Count = 1 Then
указывается диапазон действия макроса.
В строке
Target = Target & «//» & newVal
указывается разделитель «//». Его можно заменить на любой знак препинания, текст или поставить пробел.

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