5 способов создания выпадающего списка в ячейке excel

Об этой статье

wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали авторы-волонтеры. Количество просмотров этой статьи: 36 315.

Категории: Офисные программы

English:Create a Drop Down List in Excel Italiano:Creare un Elenco a Discesa in Excel Português:Criar uma Lista Suspensa no Excel 中文:在 Excel 中创建下拉列表 Español:crear una lista desplegable en Excel Deutsch:Eine Dropdown Liste in Excel erstellen Français:créer une liste déroulante dans Excel Bahasa Indonesia:Membuat Daftar Drop‐Down pada Excel Nederlands:Een vervolgkeuzelijst maken in Excel العربية:إنشاء قائمة منسدلة في برنامج Microsoft Excel हिन्दी:एक्सेल में एक ड्रॉप डाउन लिस्ट (Drop Down List) बनायें ไทย:สร้างรายการแบบขยายลงมาได้ใน Excel Tiếng Việt:Tạo danh sách thả xuống trên Excel 日本語:Excelでドロップダウンリストを作成する

Печать


Второй способ создания двухуровнего списка

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

ВАЖНО! Перед созданием зависимого списка по подгруппам необходимо отсортировать исходную таблицу по первому столбцу (столбец с группой) далее будет понятно зачем это делается. Для создания выпадающего групп нам понадобится дополнительный столбец, содержащий уникальные значения групп из исходной таблицы

Для создания этого списка используйте функцию удаления дубликатов или воспользуйтесь командой Уникальные из надстройки VBA-Excel

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

Теперь создадим выпадающий список групп. Для этого выполните 4 первых пункта из первого способа создания двухуровнего списка. В качестве Источника укажите диапазон уникальных значений групп. Тут все стандартно.

Теперь самая сложная часть — указать в Источнике динамическую ссылку на диапазон со значениями второго выпадающего списка (списка подгрупп). Решать ее будем с помощью функции СМЕЩ(ссылка, смещ_по_строкам, смещ_по_столбцам, , ), которая возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов.

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

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

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

    Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья»

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

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

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

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

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

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

  1. Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
  2. Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
  3. Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
  4. Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
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
 
Сохраняем, установив тип файла «с поддержкой макросов».

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

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

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

Двухуровневый выпадающий список в Excel

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

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

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

Осталось создать второй зависимый выпадающий список – список подгрупп.

Смело повторяем 4 первых пункта описанных выше. Источником в окне Проверка данных для второго выпадающего списка будет служить формула =ДВССЫЛ(«Таблица1»). Ячейка F2 в данном случае — значение первого выпадающего списка.

Можно использовать и обычную «неумную» таблицу, однако в этом случае вам придется вручную изменять диапазоны заголовков и строк. В рассмотренном примере это происходит автоматически.

Второй способ создания двухуровнего списка


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

ВАЖНО! Перед созданием зависимого списка по подгруппам необходимо отсортировать исходную таблицу по первому столбцу (столбец с группой) далее будет понятно зачем это делается. Для создания выпадающего групп нам понадобится дополнительный столбец, содержащий уникальные значения групп из исходной таблицы

Для создания этого списка используйте функцию удаления дубликатов или воспользуйтесь командой Уникальные из надстройки VBA-Excel

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

Теперь создадим выпадающий список групп. Для этого выполните 4 первых пункта из первого способа создания двухуровнего списка. В качестве Источника укажите диапазон уникальных значений групп. Тут все стандартно.

Рекомендация: удобно в качестве источника указывать именованный диапазон. Для его создания откройте Диспетчер имен со вкладки Формулы и присвойте имя диапазону с уникальными значениями.

Теперь самая сложная часть — указать в Источнике динамическую ссылку на диапазон со значениями второго выпадающего списка (списка подгрупп). Решать ее будем с помощью функции СМЕЩ(ссылка, смещ_по_строкам, смещ_по_столбцам, , ), которая возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов.

  • Ссылка в нашем случае — $A$1 — верхний левый угол исходной таблицы;
  • Смещ_по_строкам — ПОИСКПОЗ(F3;$A$1:$A$67;0)-1 — номер строки со значением искомой группы (в моем случае страны ячейка F3) минус единица;
  • Cмещ_по_столбцам — 1 — так как нам необходим столбец с подгруппами (городами);
  • — СЧЁТЕСЛИ($A$1:$A$67;F3) — количество подгрупп в искомой группе (количество городов в стране F3);
  • — 1 — так как это ширина нашего столбца с подгруппами.

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

Следующий несложный пример демонстрирует создание связанных списков. Например, вы заполняете товары в разрезе категорий. В документе мы сделаем список категории и список товаров, который формируется после выбора категории .

Сначала сделаем в листе «база» наши будущие списки. У нас будет три категории товара — полуфабрикаты, рыба и хлебобулочные. И мы заполним ими три графы.

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

Нажимаем клавишу Enter. Убеждаемся, что в нашей таблице на другом листе в нужных выделенных графах появилась возможность выбора наших категорий из списка.

Кстати, получившийся результат можно копировать в нижние ячейки -как обычные формулы. Работаем далее. Сначала займемся доработкой наших трех списков на листе «База». Доработаем сначала графу «Полуфабрикаты». Сделаем это, чтобы позже можно было добавлять в «базу» новые позиции, а они автоматом отображались бы в списках.

Ставим курсор в строку из «Полуфабрикаты, затем открываем вкладку «Главная» и жмем на кнопку «Форматировать как таблицу». Дизайн выбираем любой. Задаем по столбцу нужный вертикальный диапазон, включая только строки с наименованиями; ничего кроме диапазона не меняем.

В процессе этих действий нам стал доступен «конструктор таблиц». Обязательно присваиваем нашей( как бы созданной) таблице имя (в левом верхнем углу) «Полуфабрикаты».

Повторяем действо для граф «Рыба» и «Хлебобулочные».

Завешающий этап. Встаем в нужную строку таблицы, как обычно идем в «Данные»-«Проверка данных», выбираем тип «Список» и в качестве диапазона указываем на соседнюю ячейку , т.е на ранее созданный список, но…

… с использованием в «Источнике» функции ДВССЫЛ. «=ДВССЫЛ($Е$6)». Эта функция возвращает ссылку на наши диапазоны т.е. предыдущие списки, а не содержимое ячейки. Мы работаем с данными, в функцию просто их подставили. Наименование вводится вручную.

Обратите внимание на «источник». Указана абсолютная адресация столбца и ячейки (через знаки «$»)

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

Попробуйте добавить в базу новые позиции; проверьте — появляются ли они теперь автоматически в списке после указании категорий? Должно получиться.

Связанный выпадающий список


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

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

  1. Подготовить таблицу. В первой строке каждого столбца должна быть категория меню (для удобства).
  2. Задать диапазонам с перечислением блюд имя в соответствии с его категорией. Общее название каждого диапазона должно четко совпадать с тем, что записано в первой ячейке каждого столбца.
  3. На отдельной области создать раскрывающийся список через пункт меню «Данные» — «Проверка данных». Источник – первая ячейка каждого столбца.
  4. Далее перейти на формирование перечисления блюд одной из категорий. В этом поможет функция ДВССЫЛ (на англ. INDIRECT), которая преобразовывает текст в обычную экселевскую ссылку и источник данных для него. Нужно выбрать категорию, повторно открыть «Проверку данных» и написать функцию =ДВССЫЛ(H2).

При выборе другого элемента в H2 автоматически изменяется и ссылка-источник для H3. То есть источник для связанного выпадающего перечня в H3 меняется с учетом данных, которые были выбраны в H2.

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

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

Именуя диапазон значений, важно использовать вместо пробела нижнее подчеркивание «_». Например, «Мясные_блюда»

Однако есть вероятность упустить данное правило в одном из названий, и в результате будет ошибка при выполнении операции. Можно в самих названиях использовать обычный пробел, а в момент подстановки в список, поменять его на подчеркивание, используя формулу ПОДСТАВИТЬ:

=ПОДСТАВИТЬ(F3;» «;»_») без кавычек.

Итоговая формула выглядит так:

=ДВССЫЛ(ПОДСТАВИТЬ($F$3;» «;»_»)) без кавычек.

Стоит обратить внимание на отсутствие пробелов в названии в начале и в конце, чтобы избежать некорректного вывода заголовков. Автоматизировать данный процесс при построении имени также можно посредством функции:. =ДВССЫЛ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($F$3);» «;»_»)) без кавычек

=ДВССЫЛ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($F$3);» «;»_»)) без кавычек.

Элемент Active X

Этот метод аналогичен предыдущему, с той лишь разницей, что используется элемент Active X «Поле со списком», расположенный в том же меню, в котором он вызывается путем нажатия кнопки «Вставить» на вкладке «Разработчик». У него есть несколько преимуществ по сравнению с предыдущим.

В целом, механизм его добавления такой же, как и у обычного элемента: нужно его выбрать и нарисовать. После этого начинаются уже принципиальные отличия. Дело в том, что элемент Active X имеет два режима: отладки и ввода. В первом варианте возможна его гибкая настройка, редактирование параметров, внешнего вида и расположения на листе. Если же выбран режим ввода, то им можно пользоваться лишь по назначению: выбирать любой из представленных в нем пунктов.

Чтобы переключаться между режимами отладки и ввода, нужно нажать на кнопку «Режим конструктора», расположенную на той же вкладке «Разработчик».

При нажатии этой кнопки можно редактировать параметры списка, доступ к которым можно получить через кнопку «Свойства», расположенную справа от кнопки «Режим конструктора».


Самые полезные параметры следующие:

  1. ListFillRange – диапазон, поставляющий элементы перечня. При этом нет возможности самостоятельно выделить диапазон, поэтому придется его вписывать вручную. Например, так: «Лист2!A1:A5».
  2. LinkedCell – связанная ячейка, в какой Excel будет записывать элемент.
  3. ListRows – количество строк.
  4. Font – принципиально новый элемент, позволяющий изменять шрифт (за исключением его цвета).
  5. ForeColor и BackColor – еще два новых параметра, позволяющих настроить цвет текста и фона.

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

Если используется этот способ составления списков, то можно указывать и многомерные диапазоны. Например, диапазон, состоящий из двух колонок, дополнительно указав на необходимость выведения двух столбцов (для этого надо настроить параметр ColumnCount=2). Тогда можно добиться весьма интересных результатов, которые с лихвой окупят все усилия и время, потраченные на настройку элемента Active X «Поле со списком».

Шаги

Метод 1 из 2: Excel 2013

  1. 1 Откройте файл Excel, в котором вы хотите создать раскрывающийся список.

  2. 2 Выберите пустой или создайте новый лист.
  3. 3 Введите список элементов, которые будут отображаться в выпадающем списке. Каждый элемент вводится в отдельную ячейку в каждой новой строке. Например, если вы создаете выпадающий список с названиями видов спорта, введите «бейсбол» в ячейке A1, «баскетбол» в ячейке A2, «футбол» в ячейке A3 и так далее.
  4. 4 Выделите диапазон ячеек, который содержит все введенные элементы.
  5. 5 Перейдите на вкладку«Вставка». Выберите «Имя», а затем выберите «Задать».
  6. 6 Введите название элементов в поле «Имя» и нажмите OK. Данное название предназначено только для справки и не будет отображаться в таблице.
  7. 7 Нажмите на ячейку, в которой вы хотите создать раскрывающийся список.
  8. 8 Перейдите на вкладку «Данные» и выберите «Проверка данных» из группы «Работа с данными». Откроется окно «Проверка вводимых значений».
  9. 9 Перейдите на вкладку «Параметры». Выберите «Список» из выпадающего меню «Тип данных».
  10. 10 В строке «Источник» введите знак равенства и название вашего выпадающего списка. Например, если ваш выпадающий список называется «Виды спорта», введите «=Виды спорта».
  11. 11 Установите галку у «Список допустимых значений».
  12. 12 Установите галку у «Игнорировать пустые ячейки» в том случае, если вы хотите, чтобы пользователи имели возможность выбрать нулевые элементы из выпадающего списка.
  13. 13 Перейдите на вкладку «Сообщение об ошибке».
  14. 14 Установите галку у «Выводить сообщение об ошибке». Эта опция не позволяет пользователям вводить неверные данные.
  15. 15 Нажмите OK. Выпадающий список отобразится в электронной таблице.

Метод 2 из 2: Excel 2010, 2007, 2003

  1. 1 Откройте файл Excel, в котором вы хотите создать раскрывающийся список.
  2. 2 Выберите пустой или создайте новый лист.
  3. 3 Введите список элементов, которые будут отображаться в выпадающем списке. Каждый элемент вводится в отдельную ячейку в каждой новой строке. Например, если вы создаете выпадающий список с названиями фруктов, введите «яблоко» в ячейке A1, «банан» в ячейке A2, «черника» в ячейке A3 и так далее.
  4. 4 Выделите диапазон ячеек, который содержит все введенные элементы.
  5. 5 Нажмите в поле «Имя», которое находится слева от строки формул.
  6. 6 В поле «Имя» введите название выпадающего списка, описывающее введенные элементы, а затем нажмите Enter. Данное название предназначено только для справки и не будет отображаться в таблице.
  7. 7 Нажмите на ячейку, в которой вы хотите создать раскрывающийся список.
  8. 8 Перейдите на вкладку «Данные» и выберите «Проверка данных» из группы «Работа с данными». Откроется окно «Проверка вводимых значений».
  9. 9 Перейдите на вкладку «Параметры».
  10. 10 Выберите «Список» из выпадающего меню «Тип данных».
  11. 11 В строке «Источник» введите знак равенства и название вашего выпадающего списка. Например, если ваш выпадающий список называется «Фрукты», введите «=Фрукты».
  12. 12 Установите галку у «Список допустимых значений».
  13. 13 Установите галку у «Игнорировать пустые ячейки», если вы хотите, чтобы пользователи имели возможность выбрать нулевые элементы из выпадающего списка.
  14. 14 Перейдите на вкладку «Сообщение об ошибке».
  15. 15 Установите галку у «Выводить сообщение об ошибке». Эта опция не позволяет пользователям вводить неверные данные.
  16. 16 Нажмите OK. Выпадающий список отобразится в электронной таблице.

Советы

  • Введите элементы в том порядке, в котором вы хотите увидеть их в раскрывающемся списке. Например, введите элементы в алфавитном порядке, чтобы сделать список более удобным для пользователей.
  • После завершения создания раскрывающегося списка откройте его, чтобы убедиться, что в нем присутствуют все введенные элементы. В некоторых случаях потребуется расширить ячейку, чтобы правильно отобразить все элементы.

Способ 3 — как в excel сделать выпадающий список с использованием ActiveX

Чтобы воспользоваться этим способом, необходимо чтобы у вас была включена вкладка «РАЗРАБОТЧИК». По умолчанию эта вкладка отсутствует. Чтобы ее включить:

  1. Нажмите на «Файл» в левом верхнем углу приложения.
  2. Выберите пункт «Параметры» и нажмите на него.
  3. В окне настройки параметров Excel во вкладке «Настроить ленту» поставьте галочку напротив вкладки «Разработчик».

Включение вкладки «РАЗРАБОТЧИК»

Теперь вы сможете воспользоваться инструментом «Поле со списком (Элемент ActiveX)». Во вкладке «РАЗРАБОТЧИК» нажмите на кнопку «Вставить» и найдите в элементах ActiveX кнопку «Поле со списком (Элемент ActiveX)». Нажмите на нее.

Нарисуйте данный объект в excel выпадающий список в ячейке, где вам необходим выпадающий список.

Теперь необходимо настроить данный элемент. Чтобы это сделать, необходимо включить «Режим конструктора» и нажать на кнопку «Свойства». У вас должно открыться окно свойств (Properties).

С открытым окном свойств нажмите на ранее созданный элемент «Поле со списком». В списке свойств очень много параметров для настройки и вы сможете изучив их, настроить очень много начиная от отображения списка до специальных свойств данного объекта.

Но нас на этапе создания интересуют только три основных:

  1. ListFillRange — указывает диапазон ячеек, из которых будут браться значения для выпадающего списка. В моем примере я указал два столбца (A2:B7 — дальше покажу как это использовать). Если необходимо только одни значения указывается A2:A7.
  2. ListRows — количество данных в выпадающем списке. Элемент ActiveX отличается от первого способа тем, что можно указать большое количество данных.
  3. ColumnCount — указывает сколько столбцов данных указывать в выпадающем списке.

В строке ColumnCount я указал значение 2 и теперь в списке выпадающие данные выглядят вот так:

Как видите получился выпадающий список в excel с подстановкой данных из второго столбца с данными «Поставщик».

Поделиться «3 способа как в экселе сделать выпадающий список»

Выводы

Одним словом, из всех способов самым легким является первый

Для него характерна низкая сложность, но нельзя ни настроить цвет шрифта, ни начертание, фон, количество строк, которые будут отображаться, быстро найти нужный элемент по первым буквам (что особенно важно, если список большой), а также создавать связанные списки

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

Также важно помнить про ограничение первых двух методов – возможность использовать не более 8 элементов в одном списке. Два последних лишены этого недостатка


С этим читают