Создание ниспадающих списков позволяет не только экономить время при выборе варианта в процессе заполнения таблиц, но и оградить себя от ошибочного внесения некорректных данных. Это очень удобный и практичный инструмент. Давайте выясним, как активировать его в Excel, и как им пользоваться, а также узнаем некоторые другие нюансы обращения с ним.
Содержание
Использование выпадающих списков
Ниспадающие, или как принято говорить, раскрывающиеся списки чаще всего применяют в таблицах. С их помощью можно ограничить круг вносимых в табличный массив значений. Они позволяют выбирать для внесения значения только из заранее подготовленного перечня. Это одновременно ускоряет процедуру внесения данных и оберегает от ошибки.
Процедура создания
Прежде всего, давайте выясним, как создать ниспадающий список. Легче всего это сделать при помощи инструмента под названием «Проверка данных».
- Выделяем столбец табличного массива, в ячейках которого планируется разместить выпадающий список. Передвигаемся во вкладку «Данные» и клацаем по кнопке «Проверка данных». Она локализирована на ленте в блоке «Работа с данными».
- Запускается окно инструмента «Проверка значений». Переходим в раздел «Параметры». В области «Тип данных» из перечня выбираем вариант «Список». После этого перемещаемся к полю «Источник». Тут нужно указать группу наименований, предназначенную для использования в списке. Эти названия можно внести вручную, а можно указать на них ссылку, если они уже размещены в документе Excel в другом месте.
Если выбран ввод вручную, то каждый списочный элемент требуется вписать в область через точку с запятой (;).
Если вы хотите подтянуть данные из уже существующего табличного массива, то следует перейти на лист, где тот расположен (если он размещен на другом), поставить курсор в область «Источник» окна проверки данных, а затем выделить массив ячеек, где находится перечень. Важно, чтобы в каждой отдельной ячейке располагался отдельный списочный элемент. После этого координаты указанного диапазона должны отобразиться в области «Источник».
Ещё один вариант установки связи – это присвоение массиву с перечнем имени. Выделяем диапазон, в котором указаны значения данных. Слева от строки формул находится область имён. По умолчанию в нём при выделении диапазона отображается координаты первой выделенной ячейки.
Мы же для наших целей просто вписываем туда наименование, которое считаем более подходящим. Главные требования к имени состоят в том, чтобы оно было уникальным в пределах книги, не имело пробелов и обязательно начиналось с буквы.
Теперь именно по данному наименованию будет идентифицироваться тот диапазон, который мы до этого выделили.
Теперь в окне проверки данных в области «Источник» нужно установить символ «=», а затем сразу же после него вписать то имя, которое мы присвоили диапазону. Программа сразу идентифицирует связь между наименованием и массивом, и подтянет тот перечень, который в нем расположен.
Но намного эффективнее получится использовать перечень, если его преобразовать в «умную» таблицу. В такой таблице будет легче менять значения, тем самым автоматически изменяя списочные элементы. Таким образом, данный диапазон фактически превратится в таблицу подстановок.
Для того, чтобы преобразовать диапазон в «умную» таблицу, выделяем его и передвигаемся во вкладку «Главная». Там клацаем по кнопке «Форматировать как таблицу», которая размещена на ленте в блоке «Стили». Открывается большая группа стилей. На функциональность таблицы выбор конкретного стиля никак не влияет, а поэтому выбираем любой из них.
После этого открывается небольшое окошко, в котором содержится адрес выделенного массива. Если выделение было выполнено верно, то тут ничего изменять не нужно. Так как у нашего диапазона нет заголовков, то у пункта «Таблица с заголовками» галочки быть не должно. Хотя конкретно в вашем случае, возможно, заголовок и будет применяться. Так что нам остается просто нажать на кнопку «OK».
После этого диапазон будет отформатирован, как таблица. Если его выделить, то можно заметить в области имён, что наименование ему было присвоено автоматически. Это наименование можно использовать для вставки в область «Источник» в окне проверки данных по описанному ранее нами алгоритму. Но, если вы хотите использовать другое название, то его можно заменить, просто вписав в область имен.
Если перечень размещен в другой книге, то для корректного его отражения требуется применить функцию ДВССЫЛ. Указанный оператор предназначен для того, чтобы формировать «суперабсолютные» ссылки на элементы листа в текстовом виде.
Собственно при этом процедура будет выполняться практически точно такая же, как и в ранее описываемых случаях, только в области «Источник» после символа «=» следует указать наименование оператора – «ДВССЫЛ».
После этого в скобках в качестве аргумента данной функции должен быть указан адрес диапазона, включая наименование книги и листа. Собственно, как показано на изображении ниже.
- На этом мы бы могли и закончить процедуру, нажав на кнопку «OK» в окошке проверки данных, но при желании можно усовершенствовать форму. Переходим в раздел «Сообщения для ввода» окошка проверки данных. Тут в области «Сообщение» можно написать текст, который будут видеть юзеры, наводя курсор на элемент листа с ниспадающим списком. Записываем то сообщение, которое считаем нужным.
- Далее перемещаемся в раздел «Сообщение об ошибке». Тут в области «Сообщение» можно ввести текст, который будет наблюдать пользователь при попытке ввести некорректные данные, то есть, любые данные, отсутствующие в ниспадающем списке. В области «Вид» можно выбрать значок, которым будет сопровождаться предупреждение. Вводим текст сообщения и клацаем по «OK».
Урок: Как сделать выпадающий список в Экселе
Выполнение операций
Теперь давайте разберемся, как работать с тем инструментом, который мы выше создали.
- Если мы установим курсор на любой элемент листа, к которому был применен ниспадающий список, то увидим информационное сообщение, введенное нами ранее в окне проверки данных. Кроме того, справа от ячейки появится пиктограмма в виде треугольника. Именно она служит для доступа к выбору списочных элементов. Клацаем по данному треугольнику.
- После клика по нему меню из списочных объектов будет открыто. В нем расположены все элементы, которые были ранее внесены через окно проверки данных. Выбираем тот вариант, который считаем нужным.
- Выбранный вариант отобразится в ячейке.
- Если же мы попытаемся ввести в ячейку любое значение, которое отсутствует в перечне, то данное действие заблокируется. При этом, если вы вносили сообщение предупреждения в окно проверки данных, то оно отобразиться на экране. Нужно в окне предупреждения нажать на кнопку «Отмена» и со следующей попытки ввести корректные данные.
Таким способом при необходимости заполняем всю таблицу.
Добавление нового элемента
Но что делать, если требуется все-таки добавить новый элемент? Действия тут зависят от того, как именно вы сформировали перечень в окне проверки данных: введен вручную или подтягивается из табличного массива.
- Если данные для формирования списка подтягиваются из табличного массива, то переходим к нему. Выделяем ячейку диапазона. Если это не «умная» таблица, а простой диапазон данных, то нужно вставить строку в середину массива. Если же применяете «умную» таблицу, то в этом случае достаточно просто вписать требуемое значение в первой строке под ней и данная строка тут же будет включена в табличный массив. Это как раз то преимущество «умной» таблицы, о котором мы упоминали выше.
Но предположим, что мы имеем дело с более сложным случаем, используя обычный диапазон. Итак, выделяем ячейку в середине указанного массива. То есть, над этой ячейкой и под ней должны быть ещё строки массива. Клацаем по обозначенному фрагменту правой кнопкой мыши. В меню выбираем вариант «Вставить…».
- Запускается окошко, где следует произвести выбор объекта вставки. Выбираем вариант «Строку» и жмем на кнопку «OK».
- Итак, пустая строка добавлена.
- Вписываем в неё то значение, которое желаем, чтобы отобразилось в ниспадающем списке.
- После этого возвращаемся к тому табличному массиву, в котором размещен раскрывающийся перечень. Кликнув по треугольнику, справа от любой ячейки массива, мы видим, что к уже имеющимся списочным элементам было добавлено нужное нам значение. Теперь при желании его можно выбрать, чтобы вставить в элемент таблицы.
Но что делать, если перечень значений подтягивается не из отдельной таблицы, а был внесен вручную? Для добавления элемента в этом случае тоже есть свой алгоритм действий.
- Выделяем весь табличный диапазон, в элементах которого размещен выпадающий перечень. Переходим во вкладку «Данные» и снова кликаем по кнопке «Проверка данных» в группе «Работа с данными».
- Запускается окно проверки вводимых данных. Перемещаемся в раздел «Параметры». Как видим, все настройки тут точно такие же, как мы их выставили ранее. Нас в данном случае будет интересовать область «Источник». Добавляем туда к уже имеющему перечню через точку с запятой (;) то значение или значения, которые хотим увидеть в выпадающем списке. После добавления клацаем по «OK».
- Теперь, если мы откроем выпадающий перечень в табличном массиве, то увидим там добавленное значение.
Удаление списочного элемента проводится по точно такому же алгоритму, что и добавление.
- Если данные подтягиваются из табличного массива, то тогда переходим к этой таблице и клацаем правой кнопкой мыши по ячейке, где расположено значение, которое следует удалить. В контекстном меню останавливаем выбор на варианте «Удалить…».
- Открывается окно удаления ячеек практически аналогичное тому, которое мы видели при их добавлении. Тут снова устанавливаем переключатель в позицию «Строку» и клацаем по «OK».
- Строка из табличного массива, как видим, удалена.
- Теперь возвращаемся к той таблице, где находятся ячейки с выпадающим перечнем. Клацаем по треугольнику справа от любой ячейки. В раскрывшемся списке видим, что удаленный элемент отсутствует.
Что же делать, если значения добавлялись в окно проверки данных вручную, а не при помощи дополнительной таблицы?
- Выделяем табличный диапазон с раскрывающимся перечнем и переходим в окошко проверки значений, как это мы уже делали ранее. В указанном окне перемещаемся в раздел «Параметры». В области «Источник» выделяем курсором то значение, которое требуется удалить. Затем жмем на кнопку Delete на клавиатуре.
- После того, как элемент удален, щелкаем по «OK». Теперь его не будет и в выпадающем перечне, точно так же, как это мы видели и в предыдущем варианте действий с таблицей.
В то же время, существуют и ситуации, когда выпадающий список нужно полностью удалить. Если вам не важно, чтобы введенные данные были сохранены, то произвести удаление очень просто.
- Выделяем весь массив, где расположен раскрывающийся перечень. Передвигаемся во вкладку «Главная». Щелкаем по иконке «Очистить», которая размещается на ленте в блоке «Редактирование». В открывшемся меню выбираем позицию «Очистить все».
- При выборе данного действия в выделенных элементах листа будут удалены все значения, очищено форматирование, а кроме того, достигнута главная цель поставленной задачи: раскрывающийся перечень будет удален и теперь в ячейки можно вводить любые значения вручную.
Кроме того, если пользователю не нужно сохранять введенные данные, то существует ещё один вариант удалить ниспадающий перечень.
- Выделяем диапазон пустых ячеек, который равнозначен диапазону элементов массива с раскрывающимся перечнем. Передвигаемся во вкладку «Главная» и там кликаем по иконке «Копировать», которая локализируется на ленте в области «Буфер обмена».
Также вместо этого действия можно кликнуть по обозначенному фрагменту правой кнопкой мышки и остановиться на варианте «Копировать».
Ещё проще сразу после выделения применить набор кнопок Ctrl+C.
- После этого выделяем тот фрагмент табличного массива, где располагаются выпадающие элементы. Жмем на кнопку «Вставить», локализированную на ленте во вкладке «Главная» в разделе «Буфер обмена».
Второй вариант действий – это щелкнуть по выделению правой кнопкой мышки и остановить выбор на варианте «Вставить» в группе «Параметры вставки».
Наконец, есть возможность просто обозначить нужные ячейки и набрать сочетание кнопок Ctrl+V.
- При любом из вышеуказанных действий вместо ячеек, содержащих значения и ниспадающие списки, будет вставлен абсолютно чистый фрагмент.
При желании таким же образом можно вставить не пустой диапазон, а скопированный фрагмент с данными. Недостаток ниспадающих списков как раз состоит в том, что в них нельзя вручную вписать данные, отсутствующие в перечне, но их можно скопировать и вставить. При этом проверка данных не сработает. Более того, как мы выяснили, сама структура выпадающего списка будет уничтожена.
Зачастую, требуется все-таки убрать выпадающий список, но при этом оставить те значения, которые с помощью него были введены, и форматирование. В этом случае следует произвести более корректные действия по удалению указанного инструмента заполнения.
- Выделяем весь фрагмент, в котором расположены элементы с раскрывающимся перечнем. Передвигаемся во вкладку «Данные» и клацаем по значку «Проверка данных», который, как мы помним, размещен на ленте в группе «Работа с данными».
- Открывается уже хорошо знакомое нам окно проверки вводимых данных. Находясь в любом разделе указанного инструмента, нам нужно совершить единственное действие — нажать на кнопку «Очистить всё». Она располагается в нижнем левом углу окна.
- После этого окно проверки данных можно закрывать, нажав на стандартную кнопку закрытия в его верхнем правом углу в виде крестика или на кнопку «OK» в нижней части окна.
- Затем выделяем любую из ячеек, в которой раньше был размещен раскрывающийся перечень. Как видим, теперь нет ни подсказки при выделении элемента, ни треугольника для вызова списка справа от ячейки. Но при этом нетронутым осталось форматирование и все до этого введенные значения с помощью списка. Это означает, что с поставленной задачей мы справились успешно: инструмент, который больше нам не нужен, удален, но результаты его работы остались целыми.
Как видим, ниспадающий список может значительно облегчить введение данных в таблицы, а также предотвратить введение некорректных значений. Это позволит сократить количество ошибок при заполнении таблиц.
Если же какое-нибудь значение нужно добавить дополнительно, то всегда можно провести процедуру редактирования. Вариант редактирования будет зависеть от способа создания. После заполнения таблицы можно удалить выпадающий список, хотя делать это и не обязательно.
Большинство пользователей предпочитают его оставлять даже после окончания работы по заполнению таблицы данными.
Источник: http://officeassist.ru/excel/kak-udalit-vypadayushhij-spisok-v-excel/
Выпадающий список в Excel
Элемент списка знаком нам по формам на сайтах. Удобно выбирать уже готовые значения. Например, никто не вводит месяц вручную, его берут из такого перечня. Заполнить выпадающий список в Excel можно с использованием различных инструментов. В статье рассмотрим каждый из них.
Как сделать выпадающий список в Excel
Как сделать выпадающий список в Excel 2010 или 2016 с помощью одной командой на панели инструментов? На вкладке «Данные» в разделе «Работа с данными» найдите кнопку «Проверка данных». Нажмите на нее и выберите первый пункт. Откроется окно. Во вкладке «Параметры» в выпадающем разделе «Тип данных» выберите «Список».
Снизу появится строка для указания источников.
Указывать информацию можно по-разному.
- Ручной ввод Введите перечень через точку с запятой.
- Выбор диапазона значений с листа Excel Для этого начните выделять ячейки мышью.
Как отпустите – окно снова станет нормальным, а в строке появятся адреса.
- Создание выпадающего списка в Excel с подстановкой данных
Сначала назначим имя. Для этого создайте на любом листе такую таблицу. Выделите ее и нажмите правую кнопку мыши. Щелкните по команде «Присвоить имя».
Введите имя в строку сверху. Вызовите окно «Проверка данных» и в поле «Источник» укажите имя, поставив перед ним знак «=». В любом из трех случаев Вы увидите нужный элемент. Выбор значения из выпадающего списка Excel происходит с помощью мыши. Нажмите на него и появится перечень указанных данных. Вы узнали, как создать выпадающий список в ячейке Excel. Но можно сделать и больше.
Подстановка динамических данных Excel
Если Вы добавите какое-то значение в диапазон данных, которые подставляются в перечень, то в нем изменения не произойдет, пока вручную не будут указаны новые адреса. Чтобы связать диапазон и активный элемент, необходимо оформить первый как таблицу. Создайте вот такой массив. Выделите его и на вкладке «Главная» выберите любой стиль таблицы.
Обязательно поставьте галочку внизу. Вы получите такое оформление. Создайте активный элемент, как было описано выше. В качестве источника введите формулу =ДВССЫЛ(«Таблица1[Города]»)
Чтобы узнать имя таблицы, перейдите на вкладку «Конструктор» и посмотрите его. Можете поменять имя на любое другое. Функция ДВССЫЛ создает ссылку на ячейку или диапазон. Теперь ваш элемент в ячейке привязан к массиву данных.
Попробуем увеличить количество городов. Обратная процедура — подстановка данных из выпадающего списка в таблицу Excel, работает очень просто. В ячейку, куда надо вставить выбранное значение из таблицы, введите формулу:
=Адрес_ячейки
Например, если перечень данных находится в ячейке D1, то в ячейке, куда будут выведены выбранные результаты введите формулу
=D1
Как убрать (удалить) выпадающий список в Excel
Откройте окно настройки выпадающего списка и выберите «Любое значение» в разделе «Тип данных».
Ненужный элемент исчезнет.
Зависимые элементы
Иногда в Excel встречается необходимость создания нескольких перечней, когда один зависит от другого. Например, каждый город имеет несколько адресов. При выборе в первом мы должны получить только адреса выбранного населенного пункта. В этом случае дайте имя каждому столбцу. Выделите без первой ячейки (названия) и нажмите правую кнопку мыши. Выберите «Присвоить имя».
Это будет название города. При именовании Санкт-Петербурга и Нижнего Новгорода Вы получите ошибку, так как имя не может содержать пробелов, символов подчеркивания, специальных символов и т.д. Поэтому переименуем эти города, поставив нижнее подчеркивание. Первый элемент в ячейке A9 создаем обычным образом. А во втором пропишем формулу: =ДВССЫЛ(A9)
Сначала Вы увидите сообщение об ошибке. Соглашайтесь.
Проблема в отсутствии выбранного значения. Как только в первом перечне будет выбран город, второй заработает.
Как настроить зависимые выпадающие списки в Excel с поиском
Можно использовать динамический диапазон данных для второго элемента. Это удобнее, если количество адресов будет расти. Создадим выпадающий перечень городов. Оранжевым выделен именованный диапазон.
Для второго перечня нужно ввести формулу: =СМЕЩ($A$1;ПОИСКПОЗ($E$6;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$E$6);1)
Функция СМЕЩ возвращает ссылку на диапазон, который смещен относительно первой ячейки на определенное число строк и столбцов:=СМЕЩ(начало; вниз; вправо; размер_в_строках; размер_в_столбцах)
ПОИСКПОЗ возвращает номер ячейки с выбранным в первом списке (E6) городом в указанной области SA:$A. СЧЕТЕСЛИ считает количество совпадений в диапазоне со значением в указанной ячейке (E6).
Мы получили связанные выпадающие списки в Excel с условием на совпадение и поиском диапазона для него.
Мультивыбор
Часто нам необходимо получить несколько значений из набора данных. Можно вывести их в разные ячейки, а можно объединить в одну. В любом случае необходим макрос. Нажмите на ярлыке листа внизу правую кнопку мыши и выберите команду «Просмотреть код».
Откроется окно разработчика. В него надо вставить следующий алгоритм. 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
Обратите внимание, что в строке
If Not Intersect(Target, Range(«E7»)) Is Nothing And Target.Cells.Count = 1 Then
Следует проставить адрес ячейки со списком. У нас это будет E7.
Вернитесь на лист Excel и создайте в ячейке E7 список. При выборе значения будут появляться под ним.
Следующий код позволит накапливать значения в ячейке. Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range(«E7»)) 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
Как только Вы переведете указатель на другую ячейку, Вы увидите перечень выбранных городов. Для создания объединенных ячеек в Excel прочитайте эту статью. Мы рассказали, как добавить и изменить выпадающий список в ячейку Excel. Надеемся, эта информация поможет вам.
Источник: https://WindowsTips.ru/vypadayushhij-spisok-v-excel
Выпадающий список в Excel — подробное пошаговое руководство
В программе Microsoft Excel есть возможность создать выпадающий список – то есть сделать так, чтобы одна ячейка содержала несколько значений, между которыми может переключаться пользователь.
Это очень удобный инструмент для работы с таблицами, в частности, если речь идёт о проверке введённых данных.
Поэтому если вы не знаете, как сделать в экселе выпадающий список, то вам помогут приведённые в статье инструкции.
Выпадающий список в Excel
Создание выпадающего списка
Для начала рассмотрим самый простой способ, который поможет вам сделать раскрывающийся список. Чтобы осуществить его, делайте всё как в инструкции ниже:
Шаг 1. Перейдите во вкладку «Данные», которая расположена на верхней панели, затем в блоке «Работа с данными» выберите инструмент проверки данных (на скриншоте показано, какой иконкой он изображен).
Переходим во вкладку «Данные», которая расположена на верхней панели, затем в блоке «Работа с данными» выбираем инструмент проверки данных
Шаг 2. Теперь откройте самую первую вкладку «Параметры», и установите «Список» в перечне типа данных.
В первой вкладке «Параметры», в разделе «Тип данных» выставляем «Список»
Шаг 3. Теперь в поле ввода данных «Источник» вы можете указывать значения, которые будут составлять раскрывающийся список. Сделать это можно следующими способами:
- вручную. Для этого просто введите значения нужных ячеек, разделив их точкой с запятой;
В поле «Источник» вводим значения нужных ячеек
- с указанием диапазона. Чтобы сделать это, вбейте в поле ввода адрес первой и последней ячейки через двоеточие. Например, если вы хотите сложить в список значения всех ячеек от «A1» до «A7», то вводите «=$A$1:$A$7».
Вбиваем в поле ввода адрес первой и последней ячейки через двоеточие, нажимаем «ОК»
На заметку! Чтобы не вводить диапазон ячеек вручную, достаточно левой кнопкой мышки выделить первую ячейку со значением, поставить двоеточие и выделить мышью последнюю ячейку со значением.
После того, как вы воспользуетесь любым из способов и укажете имя диапазона значений, вы получите такой результат, как на картинке ниже.
Результат сделанного выпадающего списка
На заметку! Есть ещё один способ указать значение в источнике – написать в поле ввода имя диапазона. Этот способ самый быстрый, но прежде чем прибегать к нему, нужно создать именованный диапазон. О том, как это сделать, мы поговорим позже.
Форма для быстрого создания выпадающего списка
Видео — Создание выпадающих списков в Excel
Раскрывающийся список с подстановкой данных
Если ваша таблица предполагает постоянные изменения, и вы не хотите, чтобы это повлияло на содержимое вашего выпадающего списка, то вам поможет следующий способ. Воспользуйтесь им, и тогда редактирование данных ячеек будет автоматически отображено в выпадающем списке. Для этого проделайте следующее:
- Выделите левой кнопкой мышки диапазон для списка (в данном примере это будет перечень деревьев), затем откройте вкладку «Главная» и выберите меню «Форматировать как таблицу».
Выделяем левой кнопкой мышки диапазон для списка, открываем вкладку «Главная» и выбираем меню «Форматировать как таблицу»
- После этого откроется меню выбора стилей. Стиль никакой роли не играет, кроме визуальной, поэтому выбирайте любой по вашему вкусу.
Выбираем любой понравившийся стиль
- Далее появится окно подтверждения, цель которого – убедиться в правильности введённого диапазона. Здесь важно установить галочку возле «Таблица с заголовками», так как наличие заголовка в данном случае играет ключевую роль.
Устанавливаем галочку возле «Таблица с заголовками», нажимаем «ОК»
- После проделанных процедур вы получите следующий вид диапазона.
Результат отформатированной таблицы
- Теперь выделите левым кликом мыши ту ячейку, в которой будет расположен выпадающий список, и перейдите во вкладку «Данные» (в предыдущем способе сказано, как это сделать).
Выделяем левым кликом мыши ту ячейку, в которой будет расположен выпадающий список, и переходим во вкладку «Данные»
- В поле ввода «Источник» вам нужно вписать функцию с синтаксисом «=ДВССЫЛ(“Имя таблицы[Заголовок]”)». На скриншоте указан более конкретный пример.
В поле «Источник» печатаем функцию «=ДВССЫЛ(“Имя таблицы[Заголовок]”)», подставляя свои данные, как на примере
Итак, список готов. Выглядеть он будет вот так.
Готовый список
На заметку! У этого способа есть принципиальное отличие от первого – в качестве списка используется готовая таблица, а не диапазон значений. Это значит, что любые изменения в таблице будут отображаться и в выпадающем списке.
Давайте протестируем это. Для начала добавим в нашу новую отформатированную таблицу новую ячейку «ёлка». Как видите, это же значение добавилось в список.
Добавляем в таблицу строку с новым значением, она автоматически появится в выпадающем списке
Если удалить ячейку (в данном случае мы удалили «берёза»), это тоже отобразится на содержании раскрывающегося списка.
Удаляем значение из таблицы, оно автоматически удалится из выпадающего списка
На заметку! В этом способе мы имели дело с так называемой «умной таблицей». Она легко расширяется, и это её свойство полезно для многих манипуляций с таблицами Excel, в том числе и для создания выпадающего списка.
Зависимые раскрывающиеся списки
Чтобы создать зависимые выпадающие списки, следуйте дальнейшей пошаговой инструкции:
- Для начала вам нужно создать именованный диапазон. Перейдите во вкладку «Формулы», затем выберите «Диспетчер имён» и «Создать».
Выделяем диапазон ячеек со значением, открываем вкладку «Формулы», нажимаем «Диспетчер имен»
Нажимаем «Создать»
- Введите имя и диапазон, затем нажмите «ОК». Если вы перед этим выделяли нужные ячейки мышкой, то диапазон будет указан автоматически. Также примите к сведению, что имя диапазона должно быть уникальным и не должно содержать знаков препинания с пробелами.
Пишем имя «Деревья», нажимаем «ОК»
- По такой же методике сделайте столько именованных диапазонов, сколько логических зависимостей хотите создать. В данном примере это ещё два диапазона: «Кустарники» и «Травы».
Создаем таким же способом остальные диапазоны
- Откройте вкладку «Данные» (в первом способе указан путь к ней) и укажите в источнике названия именованных диапазонов, как это показано на скриншоте.
В поле «Источник» указываем ячейки с названием диапазонов, нажимаем «ОК»
Выпадающий список с названием диапазона ячеек
- Теперь вам нужно создать дополнительный раскрывающийся список по той же схеме. В этом списке будут отражаться те слова, которые соответствуют заголовку. Например, если вы выбрали «Дерево», то это будут «береза», «липа», «клен» и так далее. Чтобы осуществить это, повторите вышеуказанные шаги, но в поле ввода «Источник» введите функцию «=ДВССЫЛ(E1)». В данном случае «E1» – это адрес ячейки с именем первого диапазона. По такому же способу вы сможете создавать столько взаимосвязанных списков, сколько вам потребуется.
В поле ввода «Источник» вводим функцию «=ДВССЫЛ(E1)», нажимаем «ОК»
Результат выпадающего связанного списка
Теперь вам известны несколько способов, как создать выпадающее меню в Excel-таблице. Это может пригодиться вам в ряде случаев, а особенно – в проверке данных.
Выбор правильного способа должен осуществляться в зависимости от того, с каким типом таблицы вы работаете. Если это «одноразовая» таблица, то подойдёт первый способ – он быстрый и лёгкий.
Если же таблица требует постоянных изменений, то лучше всего будет воспользоваться тем способом, который включает в себя создание «умных таблиц» и именованных диапазонов.
Видео — Связанные выпадающие списки: легко и быстро
Источник: https://pc-consultant.ru/rabota-na-komp-yutere/vypadajushhij-spisok-v-excel/
Выпадающий список в Excel с помощью инструментов или макросов
Под выпадающим списком понимается содержание в одной ячейке нескольких значений. Когда пользователь щелкает по стрелочке справа, появляется определенный перечень. Можно выбрать конкретное.
Очень удобный инструмент Excel для проверки введенных данных. Повысить комфорт работы с данными позволяют возможности выпадающих списков: подстановка данных, отображение данных другого листа или файла, наличие функции поиска и зависимости.
Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».
Ввести значения, из которых будет складываться выпадающий список, можно разными способами:
- Вручную через «точку-с-запятой» в поле «Источник».
- Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком.
- Назначить имя для диапазона значений и в поле источник вписать это имя.
Любой из вариантов даст такой результат.
Необходимо сделать раскрывающийся список со значениями из динамического диапазона. Если вносятся изменения в имеющийся диапазон (добавляются или удаляются данные), они автоматически отражаются в раскрывающемся списке.
- Выделяем диапазон для выпадающего списка. В главном меню находим инструмент «Форматировать как таблицу».
- Откроются стили. Выбираем любой. Для решения нашей задачи дизайн не имеет значения. Наличие заголовка (шапки) важно. В нашем примере это ячейка А1 со словом «Деревья». То есть нужно выбрать стиль таблицы со строкой заголовка. Получаем следующий вид диапазона:
- Ставим курсор в ячейку, где будет находиться выпадающий список. Открываем параметры инструмента «Проверка данных» (выше описан путь). В поле «Источник» прописываем такую функцию:
Протестируем. Вот наша таблица со списком на одном листе:
Добавим в таблицу новое значение «елка».
Теперь удалим значение «береза».
Осуществить задуманное нам помогла «умная таблица», которая легка «расширяется», меняется.
Теперь сделаем так, чтобы можно было вводить новые значения прямо в ячейку с этим списком. И данные автоматически добавлялись в диапазон.
- Сформируем именованный диапазон. Путь: «Формулы» — «Диспетчер имен» — «Создать». Вводим уникальное название диапазона – ОК.
- Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
- Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
- Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
- Сохраняем, установив тип файла «с поддержкой макросов».
- Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
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
Когда мы введем в пустую ячейку выпадающего списка новое наименование, появится сообщение: «Добавить введенное имя баобаб в выпадающий список?».
Нажмем «Да» и добавиться еще одна строка со значением «баобаб».
Выпадающий список в Excel с данными с другого листа/файла
Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.
- Делаем активной ячейку, куда хотим поместить раскрывающийся список.
- Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).
Имя файла, из которого берется информация для списка, заключено в квадратные скобки. Этот файл должен быть открыт. Если книга с нужными значениями находится в другой папке, нужно указывать путь полностью.
Как сделать зависимые выпадающие списки
Возьмем три именованных диапазона:
Это обязательное условие. Выше описано, как сделать обычный список именованным диапазоном (с помощью «Диспетчера имен»). Помним, что имя не может содержать пробелов и знаков препинания.
- Создадим первый выпадающий список, куда войдут названия диапазонов.
- Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки.
- Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона.
- Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
- Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
- Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препинания, применим такой модуль.
- На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки).
- Щелкаем по значку – становится активным «Режим конструктора».
Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка.
- Жмем «Свойства» – открывается перечень настроек.
- Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell.
Для изменения шрифта и размера – Font.
Бывает, когда из раскрывающегося списка необходимо выбрать сразу несколько элементов. Рассмотрим пути реализации задачи.
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
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
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 IfEnd Sub
Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.
Выпадающий список с поиском
Скачать пример выпадающего списка
При вводе первых букв с клавиатуры высвечиваются подходящие элементы. И это далеко не все приятные моменты данного инструмента. Здесь можно настраивать визуальное представление информации, указывать в качестве источника сразу два столбца.
Источник: https://exceltable.com/vba-macros/vypadayushchiy-spisok-v-excel
Как в Excel создать выпадающий список с удалением использованных элементов | Сводные таблицы Excel 2010
Имеем в качестве примера недельный график дежурств, который надо заполнить именами сотрудников, причем для каждого сотрудника максимальное количество рабочих дней (смен) ограничено. Идеальным вариантом было бы организовать в ячейках B2:B8 выпадающий список, но при этом сделать так, чтобы уже занятые сотрудники автоматически убирались из выпадающего списка, оставляя только свободных.
Недельный график дежурств, который надо заполнить именами сотрудников
Чтобы реализовать подобный вариант выпадающего списка, выполним несколько простых шагов.
Шаг 1. Кто сколько работает?
Сначала давайте подсчитаем, кто из наших сотрудников уже назначен на дежурство и на сколько смен. Для этого добавим к зеленой таблице еще один столбец, введем в него следующую формулу: =СЧЁТЕСЛИ($B$2:$B$8;E2) или в англоязычной версии =COUNTIF($B$2:$B$8;E2).
Подсчитаем, кто из наших сотрудников уже назначен
Фактически формула просто вычисляет, сколько раз имя сотрудника встречалось в диапазоне с именами.
Шаг 2. Кто еще свободен?
Теперь выясним, кто из наших сотрудников еще свободен, т.е. не исчерпал запас допустимых смен. Добавим еще один столбец и введем в него формулу, которая будет выводить номера свободных сотрудников: =ЕСЛИ(F2-G2
Выясним, кто из наших сотрудников еще свободен
Шаг 3. Формируем список
Теперь надо сформировать непрерывный (без пустых ячеек) список свободных сотрудников для связи – на следующем шаге – с выпадающим списком.
Для этого добавим еще один столбец и введем в него такую страшноватую на первый взгляд формулу: =ЕСЛИ(D2>СЧЁТ($H$2:$H$10);»»;ИНДЕКС($E$2:$E$10;НАИМЕНЬШИЙ($H$2:$H$10;СТРОКА(E2)-1))) или соответственно, =IF(D2>COUNT($H$2:$H$10);»»;INDEX($E$2:$E$10;SMALL($H$2:$H$10;ROW(E2)-1))).
Формируем список свободных сотрудников
При всей внешней жуткости вида эта формула делает одну простую вещь – выводит очередное по номеру имя сотрудника (используя функцию НАИМЕНЬШИЙ) из списка или пустую ячейку, если имена свободных сотрудников уже кончились.
Шаг 4. Создаем именованный диапазон свободных сотрудников
Жмем кнопку Диспетчер имен (Name Manager) на вкладке Формулы (Formulas) и создаем новый именованный диапазон Имена по следующей формуле: =СМЕЩ(Лист1!$I$2;0;0;СЧЁТЗ(Лист1!$I$2:$I$10)-СЧИТАТЬПУСТОТЫ(Лист1!I$2:I$10)) или в англоязычной версии: =OFFSET(Лист1!$I$2;0;0;COUNTA(Лист1!$I$2:$I$10)-COUNTBLANK(Лист1!I$2:I$10)).
Создаем именованный диапазон свободных сотрудников
Фактически мы просто даем диапазону занятых ячеек в синем столбце собственное название Имена.
Шаг 5. Создаем выпадающий список в ячейках
Осталось выделить ячейки B2:B8 нашего графика и добавить в них выпадающий список с элементами диапазона Имена. Для этого жмем кнопку Проверка данных (Data Validation) на вкладке Данные (Data) и в открывшемся окне выберем в списке допустимых значений вариант Список (List) и укажем Источник (Source) данных.
Создаем выпадающий список в ячейках
Вот и все! Теперь при назначении сотрудников на дежурство их имена будут автоматически удаляться из выпадающего списка, оставляя только тех, кто еще свободен.
Источник: http://pivot-table.ru/kak-v-excel-sozdat-vypadayushhij-spisok-s-udaleniem-ispolzovannyx-elementov.html
Выпадающий список с удалением использованных элементов
149984 02.10.2012 Скачать пример
Я знаю, что делать, но не знаю куда потом девать тела…
Постановка задачи
Имеем в качестве примера недельный график дежурств, который надо заполнить именами сотрудников, причем для каждого сотрудника максимальное количество рабочих дней (смен) ограничено. Идеальным вариантом было бы организовать в ячейках B2:B8 выпадающий список, но при этом сделать так, чтобы уже занятые сотрудники автоматически убирались из выпадающего списка, оставляя только свободных:
Чтобы реализовать подобный вариант выпадающего списка выполним несколько простых шагов.
Шаг 1. Кто сколько работает?
Сначала давайте подсчитаем кто из наших сотрудников уже назначен на дежурство и на сколько смен. Для этого добавим к зеленой таблице еще один столбец, введем в него следующую формулу:
=СЧЁТЕСЛИ($B$2:$B$8;E2) или в англоязычной версии =COUNTIF($B$2:$B$8;E2)
Фактически, формула просто вычисляет сколько раз имя сотрудника встречалось в диапазоне с именами.
Шаг 2. Кто еще свободен?
Теперь выясним, кто из наших сотрудников еще свободен, т.е. не исчерпал запас допустимых смен. Добавим еще один столбец и введем в него формулу, которая будет выводить номера свободных сотрудников:
=ЕСЛИ(F2-G2COUNT($H$2:$H$10);»»;INDEX($E$2:$E$10;SMALL($H$2:$H$10;ROW(E2)-1)))
При всей внешней жуткости вида, эта формула делает одну простую вещь — выводит очередное по номеру имя сотрудника (используя функцию НАИМЕНЬШИЙ) из списка или пустую ячейку, если имена свободных сотрудников уже кончились.
Шаг 4. Создаем именованный диапазон свободных сотрудников
- в Excel 2003 и старше идем в меню Вставка — Имя — Присвоить (Insert — Name — Define)
- в Excel 2007 и новее — жмем кнопку Диспетчер Имен (Name Manager) на вкладке Формулы (Formulas)
и создаем новый именованный диапазон Имена по следующей формуле:
=СМЕЩ(Лист1!$I$2;0;0;СЧЁТЗ(Лист1!$I$2:$I$10)-СЧИТАТЬПУСТОТЫ(Лист1!I$2:I$10))
в англоязычной версии =OFFSET(Лист1!$I$2;0;0;COUNTA(Лист1!$I$2:$I$10)-COUNTBLANK(Лист1!I$2:I$10))
Фактически, мы просто даем диапазону занятых ячеек в синем столбце собственное название Имена.
Шаг 5. Создаем выпадающий список в ячейках
Осталось выделить ячейки B2:B8 нашего графика и добавить в них выпадающий список с элементами диапазона Имена. Для этого
- в Excel 2003 и старше — откроем меню Данные — Проверка (Data — Validation),
- в Excel 2007 и новее — жмем кнопку Проверка данных (Data Validation) на вкладке Данные (Data)
В открывшемся окне выберем в списке допустимых значений вариант Список (List) и укажем Источник (Source) данных:
Вот и все! Теперь при назначении сотрудников на дежурство их имена будут автоматически удаляться из выпадающего списка, оставляя только тех, кто еще свободен.
Ссылки по теме
Источник: https://www.planetaexcel.ru/techniques/1/36/
Двухуровневый выпадающий список в Excel
Имеется несколько способов создания выпадающего списка. Выбор одного из них зависит от структуры имеющихся у вас данных.
Первый способ основывается на создание «умной» таблицы, заголовок которой содержит значения первого выпадающего списка (группы), а строки таблицы соответствуют значениям второго выпадающего списка (подгруппы). Значения элементов подгруппы должны располагаться в соответствующем столбце группы, как на рисунке ниже.
Формула ДВССЫЛ возвращает ссылку на диапазон заголовков «умной» таблицы. Преимущество использования такой таблицы в том, что при добавлении столбцов, выпадающий список будет автоматически расширен.
Осталось создать второй зависимый выпадающий список – список подгрупп.
Смело повторяем 4 первых пункта описанных выше. Источником в окне Проверка данных для второго выпадающего списка будет служить формула =ДВССЫЛ(«Таблица1[«&F2&»]»). Ячейка F2 в данном случае — значение первого выпадающего списка.
Можно использовать и обычную «неумную» таблицу, однако в этом случае вам придется вручную изменять диапазоны заголовков и строк. В рассмотренном примере это происходит автоматически.
Второй способ создания двухуровнего списка
Второй способ удобно применять, когда данные выпадающего списка записаны в два столбца. В первом идет наименование группы, а во втором – подгруппы.
ВАЖНО! Перед созданием зависимого списка по подгруппам необходимо отсортировать исходную таблицу по первому столбцу (столбец с группой) далее будет понятно зачем это делается.
Для создания выпадающего групп нам понадобится дополнительный столбец, содержащий уникальные значения групп из исходной таблицы. Для создания этого списка используйте функцию удаления дубликатов или воспользуйтесь командой Уникальные из надстройки VBA-Excel.
Теперь создадим выпадающий список групп. Для этого выполните 4 первых пункта из первого способа создания двухуровнего списка. В качестве Источника укажите диапазон уникальных значений групп. Тут все стандартно.
Рекомендация: удобно в качестве источника указывать именованный диапазон. Для его создания откройте Диспетчер имен со вкладки Формулы и присвойте имя диапазону с уникальными значениями.
Теперь самая сложная часть — указать в Источнике динамическую ссылку на диапазон со значениями второго выпадающего списка (списка подгрупп). Решать ее будем с помощью функции СМЕЩ(ссылка, смещ_по_строкам, смещ_по_столбцам, [высота], [ширина]), которая возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов.
- Ссылка в нашем случае — $A$1 — верхний левый угол исходной таблицы;
- Смещ_по_строкам — ПОИСКПОЗ(F3;$A$1:$A$67;0)-1 — номер строки со значением искомой группы (в моем случае страны ячейка F3) минус единица;
- Cмещ_по_столбцам — 1 — так как нам необходим столбец с подгруппами (городами);
- [Высота] — СЧЁТЕСЛИ($A$1:$A$67;F3) — количество подгрупп в искомой группе (количество городов в стране F3);
- [Ширина] — 1 — так как это ширина нашего столбца с подгруппами.
Источник: https://micro-solution.ru/excel/drop-down-lists/two-level