Кэрол спросила, есть ли в Excel способ создавать раскрывающиеся списки, чтобы второй раскрывающийся список зависел от выбора, сделанного в первом раскрывающемся списке.
На самом деле есть несколько способов выполнить эту задачу, от простых формул до сложных макросов. Выбор метода напрямую зависит от типа раскрывающихся списков, которые вы хотите создать. На самом деле существует три типа раскрывающихся списков, которые вы можете создать в Excel:
- Списки проверки. Если вы хотите ограничить ввод в определенные ячейки, вы можете создать раскрывающиеся списки проверки.
- Списки форм. Вы можете использовать панель инструментов Формы (Вид | Панели инструментов | Формы) для создания раскрывающихся списков. Это замечательно, если вы собираетесь создать защищенную форму Excel.
- Userforms. Это диалоговые окна, созданные в редактор VBA. Вы «запускаете» пользовательскую форму, вызывая ее из макроса. Это наиболее универсальная форма пользовательского интерфейса, поскольку она дает вам максимальную свободу в том, что видит пользователь. (Для создания также требуются самые продвинутые знания Excel.)
Вместо того, чтобы обсуждать, как создавать зависимые раскрывающиеся списки на основе каждого из этих типов раскрывающихся списков Я выберу простейший метод, который подойдет большинству людей. Если вы используете функцию ДВССЫЛ вместе со списками проверки данных, довольно легко получить желаемый результат:
- На пустом листе в вашей книге создайте список элементы, которые будут в первом раскрывающемся списке. Например, создайте список отделов в вашей компании, таких как продажи, исследования, руководство, производство и т. Д. (В списке должны быть записи из одного слова).
- Выберите список элементы, которые вы создали на шаге 1, и назовите диапазон, используя такое имя, как «Отделы».
- На том же листе создайте список элементов, которые могут отображаться во вторичном раскрывающемся списке. Должен быть один список для каждой записи в списке, который вы создали на шаге 1. Например, вы можете создать список торгового персонала, список исследовательского персонала и т. Д.
- Список по списку, выберите списки, созданные на шаге 3. Дайте каждому списку имя из одного слова, которое соответствует именам, используемым в списке на шаге 1, например, Продажи, Исследования, Исполнительный директор и т. д.
- Переключиться на рабочий лист, на котором должны отображаться раскрывающиеся списки.
- Выберите ячейки, в которые пользователи должны иметь возможность вводить элементы из вашего первого списка, созданного на шаге 1.
- Выберите «Проверка» в меню «Данные». Excel отображает диалоговое окно «Проверка данных». (См. Рис. 1.)
- В раскрывающемся списке «Разрешить» выберите «Список».
- В поле «Источник» введите равное знак, за которым следует имя, созданное вами на шаге 2. Например, = Отделы.
- Нажмите “ОК”.. Теперь вы указали, что в ячейки, выбранные на шаге 6, можно вводить только информацию из вашего первого списка.
- Выберите ячейки, в которые пользователи должны иметь возможность вводить элементы из зависимых списков. Например, выберите ячейки справа от ячеек, выбранных на шаге 6.
- Выберите «Проверка» в меню «Данные». Excel отображает диалоговое окно «Проверка данных».
- В раскрывающемся списке «Разрешить» выберите «Список».
- В поле «Источник» введите формулу, в которой используется функция ДВССЫЛ. . Если первая ячейка диапазона, выбранного на шаге 11, является ячейкой B3, и вы хотите, чтобы эта первая ячейка зависела от того, что выбрано в ячейке A3, вы должны использовать следующую формулу:
- Нажмите ОК.
Рис. 1. Диалоговое окно «Проверка данных».
= КОСВЕННО (A3)
Вот и все. Теперь люди могут выбирать только из вашего основного списка, если они используют одну из ячеек, указанных на шаге 6, и из соответствующих зависимых списков, если они выбирают одну из ячеек на шаге 11.
Есть множество различных вариантов этого подхода (с использованием проверки данных). Вы можете найти дополнительную информацию о некоторых из этих подходов, посетив следующие веб-страницы:
http://www.ozgrid.com/download/(загрузите файл MatchingLists.zip) http://www .contextures.com/xlDataVal02.html
Источник: