Связанные списки примере в excel

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

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

Этот фокус основан на применении функции ДВССЫЛ (INDIRECT), которая умеет делать одну простую вещь — преобразовывать содержимое любой указанной ячейки в адрес диапазона, который понимает Excel. То есть, если в ячейке лежит текст «А1», то функция выдаст в результате ссылку на ячейку А1. Если в ячейке лежит слово «Маша», то функция выдаст ссылку на именованный диапазон с именем Маша и т.д. Такой, своего рода, «перевод стрелок» ;)

Возьмем, например, вот такой список моделей автомобилей Toyota, Ford и Nissan:

Связанные списки с ДВССЫЛ

Выделим весь список моделей Тойоты (с ячейки А2 и вниз до конца списка) и дадим этому диапазону имя Toyota на вкладке Формулы (Formulas) с помощью Диспетчера имен (Name Manager). Затем повторим то же самое со списками моделей Ford и Nissan, задав соответственно имена диапазонам Ford и Nissan.

При задании имён помните о том, что имена диапазонов в Excel не должны содержать пробелов, знаков препинания и начинаться обязательно с буквы. Поэтому если бы в одной из марок автомобилей присутствовал бы пробел (например Ssang Yong), то его пришлось бы заменить в ячейке и в имени диапазона на нижнее подчеркивание (т.е. Ssang_Yong).

Теперь создадим первый выпадающий список для выбора марки автомобиля. Выделите пустую ячейку (на картинке выше — зелёную) и нажмите кнопку Проверка данных (Data Validation) на вкладке Данные (Data). Затем из выпадающего списка Тип данных (Allow)  выберите вариант Список (List) и в поле Источник (Source) выделите ячейки с названиями марок (желтые ячейки в нашем примере). После нажатия на ОК первый выпадающий список готов.

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

=ДВССЫЛ(F2)

где F2 — адрес ячейки с первым выпадающим списком (замените на свой).

Все. После нажатия на ОК содержимое второго списка будет выбираться по имени диапазона, выбранного в первом списке.

Минусы такого способа:

  • Надо руками создавать много именованных диапазонов (если у нас много марок автомобилей).
  • В качестве вторичных (зависимых) диапазонов не могут выступать динамические диапазоны задаваемые формулами типа СМЕЩ (OFFSET). Для первичного (независимого) списка их использовать можно, а вот вторичный список должен быть определен жестко, без формул. Однако, это ограничение можно обойти, создав справочник соответствий марка-модель (см. Способы 3 и 4).
  • Имена вторичных диапазонов должны совпадать с элементами первичного выпадающего списка. Т.е. если в нем есть текст с пробелами, то придется их заменять на подчеркивания с помощью функции ПОДСТАВИТЬ (SUBSTITUTE), т.е. формула будет выглядеть как:

=ДВССЫЛ(ПОДСТАВИТЬ(F2;» «;»_»))

Способ 2. Умные таблицы

Этот подход очень похож на предыдущий, но использует вместо именованных диапазонов — «умные» динамические таблицы, которые будут выступать источником данных для вторичного списка:

Связанные списки на умных таблицах и ДВССЫЛ

Таким образом, мы:

  1. Сначала преобразуем наши справочники в «умные» таблицы, используя сочетание клавиш Ctrl+T или команду Главная — Форматировать как таблицу (Home — Format as Table) и
  2. Даём им имена (Фрукты, Овощи, Зелень) на вкладке Конструктор (Design) в поле Имя таблицы (Table Name).
  3. Создаём первый и второй (связанный) выпадающие списки точно так же, как в предыдущем способе с функцией ДВССЫЛ (INDIRECT).

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

Способ 3. Отсортированный справочник

Этот способ требует наличия отсортированного списка соответствий марка-модель вот такого вида:

Связанные списки на отсортированном справочнике

Для создания первичного выпадающего списка можно марок можно воспользоваться обычным способом, описанным выше, т.е.  выбрать на вкладке Данные (Data) команду Проверка данных (Data validation) и указать в качестве источника жёлтые ячейки с марками

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

  • Нажмите сочетание клавиш Ctrl+F3 или воспользуйтесь кнопкой Диспетчер имен (Name manager) на вкладке Формулы (Formulas).
  • Создайте новый именованный диапазон с любым именем (например Модели) и в поле Ссылка (Reference) в нижней части окна введите руками следующую формулу:

=СМЕЩ($A$1;ПОИСКПОЗ($G$7;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$G$7);1)

=OFFSET($A$1;MATCH($G$7;$A:$A;0)-1;1;COUNTIF($A:$A;$G$7);1)

Ссылки должны быть абсолютными (со знаками $). После нажатия Enter к формуле будут автоматически добавлены имена листов — не пугайтесь.

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

=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; высота_диапазона_в_строках; ширина_диапазона_в_столбцах)

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

  • начальная ячейка — берем первую ячейку нашего списка, т.е. А1
  • сдвиг_вниз — нам считает функция ПОИСКПОЗ (MATCH), которая, попросту говоря, выдает порядковый номер ячейки с выбранной маркой (G7) в заданном диапазоне (столбце А)
  • сдвиг_вправо = 1, т.к. мы хотим сослаться на модели в соседнем столбце (В)
  • высота_диапазона_в_строках  — вычисляем с помощью функции СЧЕТЕСЛИ (COUNTIF), которая умеет подсчитать количество встретившихся в списке (столбце А) нужных нам значений — марок авто (G7)
  • ширина_диапазона_в_столбцах = 1, т.к. нам нужен один столбец с моделями

В итоге должно получиться что-то вроде этого:

linked_dropdowns4.gif

Осталось добавить выпадающий список на основе созданной формулы к ячейке G8. Для этого:

  • выделяем ячейку G8 
  • выбираем на вкладке Данные (Data) команду Проверка данных (Data validation)
  • из выпадающего списка выбираем вариант проверки Список (List) и вводим в качестве Источника (Source) знак равно и имя нашего диапазона, т.е.  =Модель

И наш связанный список моделей готов.

Способ 4. Неотсортированный справочник

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

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

Первый уровень выпадающего списка (диапазон А2:А14 на рисунке выше) здесь делается классическим образом через команду Данные — Проверка данных — Список (Data — Validation — List) и в качестве источника указать зелёные ячейки с названиями категорий.

А для связанных выпадающих списков во втором столбце (B2:B14) в поле Источник (Source) мы используем хитрую формулу:

=СМЕЩ($E$2;1;ПОИСКПОЗ(A2;$E$2:$G$2;0)-1;СЧЁТЗ(СМЕЩ($E$2;1;ПОИСКПОЗ(A2;$E$2:$G$2;0)-1;10;1));1)

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

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

  • 4 способа создать выпадающий список в ячейках листа
  • Автоматическое создание выпадающих списков при помощи инструментов надстройки PLEX
  • Выбор фото из выпадающего списка
  • Выпадающий список с автоматическим удалением уже использованных элементов
  • Динамическая выборка данных для выпадающего списка функциями ИНДЕКС и ПОИСКПОЗ 


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

Обычный

Выпадающий (раскрывающийся) список

отображает только один перечень элементов.

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

– это такой

выпадающий список

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

связанных списков

(другие названия:

связанные диапазоны

,

динамические списки

) появляется при моделировании иерархических структур данных. Например:


  • Отдел



    Сотрудники отдела

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

  • Город – Улица – Номер дома

    . При заполнении адреса проживания можно из списка выбрать

    город

    , затем из списка всех улиц этого города –

    улицу

    , затем, из списка всех домов на этой улице –

    номер дома

    (трехуровневая иерархия).

В этой статье рассмотрен только двухуровневый

связанный список

. Многоуровневый связанный список рассмотрен в одноименной статье

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

. Создание иерархических структур данных позволяет избежать неудобств

выпадающих списков

связанных со слишком большим количеством элементов.

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

можно реализовать в EXCEL, с помощью инструмента

Проверка данных

(

) с условием проверки

Список

(пример создания приведен в данной статье) или с помощью

элемента управления формы

Список

(см. статью

Связанный список на основе элемента управления формы

).

Создание

Связанного списка

на основе

Проверки данных

рассмотрим на конкретном примере.


Задача

: Имеется перечень

Регионов

, состоящий из названий четырех регионов. Для каждого

Региона

имеется свой перечень

Стран

. Пользователь должен иметь возможность, выбрав определенный

Регион

, в соседней ячейке выбрать из

Выпадающего списка

нужную ему

Страну

из этого

Региона

.

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

Связанного списка

, разместим на листе

Таблица

. См.

файл примера

Связанный_список.xlsx

Список регионов и перечни стран разместим на листе

Списки

.

Обратите внимание, что названия регионов (диапазон

А2:А5

на листе

Списки

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

В1:Е1

).

Присвоим

имена

диапазонам, содержащим

Регионы

и

Страны

(т.е. создадим

Именованные диапазоны

). Быстрее всего это сделать так:

  • выделитьячейки

    А1:Е6

    на листе

    Списки

    (т.е. диапазон, охватывающий все ячейки с названиями

    Регионов

    и

    Стран

    );
  • нажать кнопку «Создать из выделенного фрагмента» (пункт меню

    );

  • Убедиться, что стоит только галочка «В строке выше»;
  • Нажать ОК.

Проверить правильность имени можно через

Диспетчер Имен

(

). Должно быть создано 5 имен.

Можно подкорректировать диапазон у имени

Регионы

(вместо

=списки!$A$2:$A$6

установить

=списки!$A$2:$A$5

, чтобы не отображалась последняя пустая строка)

На листе

Таблица

, для ячеек

A

5:

A

22

сформируем

выпадающий список

для выбора

Региона

.

  • выделяем ячейки

    A

    5:

    A

    22

    ;
  • вызываем инструмент

    Проверка данных

    ;

  • устанавливаем тип данных –

    Список

    ;
  • в поле

    Источник

    вводим:

    =Регионы

Теперь сформируем

выпадающий список

для столбца

Страна

(это как раз и будет желанный

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

).

  • выделяем ячейки

    B

    5:

    B

    22

    ;
  • вызываем инструмент

    Проверка данных;
  • устанавливаем тип данных –

    Список

    ;
  • в поле

    Источник

    вводим:

    =ДВССЫЛ(A5)

Важно, чтобы при создании правила

Проверки данных

активной ячейкой была

B5

, т.к. мы используем

относительную адресацию

.

Тестируем. Выбираем с помощью

выпадающего списка

в ячейке

A

5

Регион



Америка

, вызываем

связанный список

в ячейке

B

5

и балдеем – появился список стран для

Региона

Америка

:

США, Мексика

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

A

6

Регион



Азия

, вызываем

связанный список

в ячейке

B

6

и опять балдеем:

Китай, Индия

Необходимо помнить, что в именах нельзя использовать символ пробела. Поэтому, при создании имен, вышеуказанным способом, он будет автоматически заменен на нижнее подчеркивание «_». Например, если вместо

Америка

(ячейка

В1

) ввести «

Северная Америка

» (соответственно подкорректировав ячейку

А2

), то после нажатия кнопки

Создать из выделенного фрагмента

будет создано имя «Северная_Америка». В этом случае формула

=ДВССЫЛ(A5)

работать не будет, т.к. при выборе региона «

Северная Америка

» функция

ДВССЫЛ()

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

Регионов

:

=ДВССЫЛ(ПОДСТАВИТЬ(A5;» «;»_»))

.

Теперь о

недостатках

. При создании имен с помощью кнопки меню

Создать из выделенного фрагмента,

все

именованные диапазоны

для перечней

Стран

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

связанные списки

для других регионов содержали пустые строки.

Конечно, можно вручную откорректировать диапазоны или даже вместо

Именованных диапазонов

создать

Динамические диапазоны

. Но, при большом количестве имен делать это будет достаточно трудоемко. Кроме того, при добавлении новых

Регионов

придется вручную создавать

именованные диапазоны

для их

Стран

.

Чтобы не создавать десятки имен, нужно изменить сам подход при построении

Связанного списка

. Рассмотрим этот подход в другой статье:

Расширяемый Связанный список

.

Связанные выпадающие списки в Excel.

​Смотрите также​​ исчерпал запас допустимых​: китин — Это​​ уже другая тема​ инструмент «Вставить» –​​ «Источник» функцию вида​​ Long If Target.Cells.Count​Вручную через «точку-с-запятой» в​​ 4 ячейки от​ это сделали для​ столько раз, сколько​ Трюк, который делает​При работе с перечнем​Используем именованный диапазон​этого подхода: элементы​
​ =ДВССЫЛ(ПОДСТАВИТЬ(A2;» «;»_»))​​ всех списков сразу​Выпадающие списки в Excel​​ смен. Добавим еще​
​ вы убрали значение​ ?​ «ActiveX». Здесь нам​ =ДВССЫЛ(E3). E3 –​ > 1 Then​ поле «Источник».​ H2). В 4-ой​ категории. Только единственный​ есть подкатегорий. Очень​ работу проще и​ элементов, расположенным в​Создадим Именованный диапазон Список_элементов,​ списка легко потерять​Если список на​
​ вместе с шапкой​бывают разные. Есть​ один столбец и​ #Н/Д, если значение​enzo​ нужна кнопка «Поле​ ячейка с именем​ Exit Sub If​
​Ввести значения заранее. А​ ячейке столбца Подкатегория​
​ вопрос: «Как сказать​
​ важно, чтобы данные​ быстрее. Трюк, благодаря​ другой книге, файл​ содержащий перечень элементов​ (например, удалив строку​ другом листе, то​ таблицы списков –​ простой​ введем в него​ в первой ячейке​
​: Вроде нашел в​ со списком» (ориентируемся​ первого диапазона.​ Target.Address = «$C$2″​ в качестве источника​ (не включая заголовок,​ Excelю выбрать только​ были отсортированы по​
​ которому ваши формы​ Источник.xlsx должен быть​ выпадающего списка (ячейки​ или столбец, содержащие​ в формуле указываем​ у нас это​раскрывающийся список Excel в​ формулу, которая будет​ не выбрано?​
​ форуме)​ на всплывающие подсказки).​​Бывает, когда из раскрывающегося​ Then If IsEmpty(Target)​ указать диапазон ячеек​ так как речь​ те значения, которые​ столбцу Категория. Это​ будут удобны и​
​ открыт и находиться​A1:A4​ ячейку​ название этого листа.​ диапазон А1:D4. На​ ячейке​ выводить номера свободных​
​Вроде ок, все​felixtreem​ ​Щелкаем по значку –​
​ списка необходимо выбрать​ Then Exit Sub​ со списком.​ идет о диапазоне​ предназначены для конкретной​ будет чрезвычайно важно,​ приятны.​ в той же​на листе Список).​B1​ Напишем так. =ДВССЫЛ(»Размеры!А2:А4»)​ закладке «Формулы» в​. Есть​ сотрудников:​
​ работает. Очень огромное​: Добрый день.​ становится активным «Режим​ сразу несколько элементов.​​ If WorksheetFunction.CountIf(Range(«Деревья»), Target)​Назначить имя для диапазона​ с именем Рабочий_Список),​ категории?» Как вы,​ когда позже будем​Пример использования зависимого выпадающего​ папке, иначе необходимо​Для этого:​
​); не удобно вводить​​Нажимаем «ОК». Теперь​ разделе «Определенные имена»​​многоуровневые зависимые выпадающие списки​
​=ЕСЛИ(F2-G2​ спасибо. Сам бы​Помогите решить проблему.​ конструктора». Рисуем курсором​ Рассмотрим пути реализации​ = 0 Then​ значений и в​ есть слово Питание​ наверное, догадываетесь, я​ писать формулу.​ списка для создания​
​ указывать полный путь​выделяем​ большое количество элементов.​ во втором столбце​
​ нажимаем функцию «Создать​​ в Excel​Теперь надо сформировать непрерывный​​ такую формулу я​​Есть лист1, в​ (он становится «крестиком»)​
​ задачи.​
​ lReply = MsgBox(«Добавить​ поле источник вписать​ (его первое появление).​ буду использовать здесь​Можно было бы также​ удобной формы заполнения​ к файлу. Вообще​А1:А4​ Подход годится для​ установлены выпадающие списки,​ из выделенного фрагмента».​
​. Это, когда, в​ (без пустых ячеек)​ бы никогда не​ котором таблица из​ небольшой прямоугольник –​Создаем стандартный список с​ введенное имя «​ это имя.​ Мы используем этот​ рабочую таблицу и,​
​ использовать таблицы с​ документов, с помощью​ ссылок на другие​,​ маленьких (3-5 значений)​ которые меняются, в​
​ В появившемся диалоговом​ зависимости от выбранных​ список свободных сотрудников​ нарисовал бы.​ колонок: НаименованиеКол-воЦенаСумма​ место будущего списка.​ помощью инструмента «Проверка​ & _ Target​Любой из вариантов даст​ факт собственно для​ конечно же, формулы.​ первого изображения. Разумеется,​ которых продавцы заказывали​ листы лучше избегать​
​нажимаем Формулы/ Определенные имена/​ неизменных списков.​ зависимости от того,​ окне оставляем галочку​ данных в первом​
​ для связи -​=ЕСЛИ(ЕНД(ВПР($A12;Лист2!$B$2:$H$161;6;ЛОЖЬ));»»;ВПР($A12;Лист2!$B$2:$H$161;6;ЛОЖЬ))​Есть лист2, в​Жмем «Свойства» – открывается​ данных». Добавляем в​ & » в​ такой результат.​ определения начала диапазона.​
Связанные выпадающие списки в Excel.​Начнем с того, что​ формулы были бы​ товары. Из всего​ или использовать Личную​
​ Присвоить имя​Преимущество​ что написано в​ только у строки​ столбце выпадающего списка,​ на следующем шаге​китин​

excel-office.ru

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

​ котором есть две​ перечень настроек.​ исходный код листа​ выпадающий список?», vbYesNo​​ Послужит нам для​ мы уже умеем,​ разными. Однажды даже​ ассортимента они должны​ книгу макросов Personal.xlsx​в поле Имя вводим​: быстрота создания списка.​ ячейках первого столбца.​ «В строке выше».​ меняется выпадающий список​ — с выпадающим​: да, felixtreem, я​

​ колонки: ТоварЦена​Вписываем диапазон в строку​ готовый макрос. Как​

​ + vbQuestion) If​Необходимо сделать раскрывающийся список​ этого функция ПОИСКПОЗ​ то есть с​ я нашел в​ были выбрать те​

​ или Надстройки.​ Список_элементов, в поле​Элементы для выпадающего списка​ Получилось так.​Нажимаем «ОК». Всё, имена​ в ячейках второго​ списком. Для этого​

​ убрал значение ошибки​Нужно сделать выпадающий​

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

​ ListFillRange (руками). Ячейку,​ это делать, описано​ lReply = vbYes​ со значениями из​ (введенная в качестве​ создания раскрывающегося списка​

​ сети такое решение,​​ продукты, которые они​​Если нет желания присваивать​ Область выбираем Книга;​ можно разместить в​Копируем формулу вниз по​​ присвоены. На закладке​​ столбца, третьего, т.д.​ добавим еще один​

​ #Н/Д.а если у​ список в лист1,​ куда будет выводиться​ выше. С его​ Then Range(«Деревья»).Cells(Range(«Деревья»).Rows.Count +​ динамического диапазона. Если​

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

​Здесь разберём​​ столбец и введем​ вас офис выше​ что бы в​ выбранное значение –​ помощью справа от​​ 1, 1) =​​ вносятся изменения в​ СМЕЩ):​ Поэтому выберите эту​ не понравилось, потому​Каждый продавец сначала определял​
​ файле Источник.xlsx, то​
​ выделим диапазон ячеек,​

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

​ EXCEL, а затем​ двухуровневый выпадающий список​ «Диспетчер имен».​двухуровневый зависимый выпадающий список​ в него такую​ 2007,то все ещё​ колонке «Наименование» можно​ в строку LinkedCell.​

​ выпадающего списка будут​ Target End If​ имеющийся диапазон (добавляются​​Высоту диапазона определяет функция​​ ячейку и нажмите​ что там была​

​ товарную группу, а​​ формулу нужно изменить​ которые будут содержать​ в поле Источник​ в Excel.​Здесь перечислены все наши​
​ в Excel​​ страшноватую на первый​ проше:​ было выбрать позицию​ Для изменения шрифта​ добавляться выбранные значения.Private​ End If End​ или удаляются данные),​ СЧЕТЕСЛИ. Она считает​​ «Данные» / «Проверка​​ фиксированная длина списка:​ затем конкретный товар​ на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4»)​ Выпадающий список.​ инструмента Проверки данных​Другой способ сделать​ диапазоны списков. Проверили​.​ взгляд формулу:​

​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИОШИБКА(ВПР($A2;Лист2!$B$2:$H$161;6;ЛОЖЬ);»»)​ из лист2 с​ и размера –​ Sub Worksheet_Change(ByVal Target​ If End Sub​ они автоматически отражаются​ все встречающиеся повторения​ данных», а в​ а значит, иногда​ из этой группы.​СОВЕТ:​

​вызываем Проверку данных;​ указать ссылку на​ связанный выпадающий список​ всё. Можно подкорректировать​Например, в первом​

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

​=ЕСЛИ(D2>СЧЁТ($H$2:$H$10);»»;ИНДЕКС($E$2:$E$10;НАИМЕНЬШИЙ($H$2:$H$10;СТРОКА(E2)-1)))​felixtreem​ колонки «Товар», при​ Font.​ As Range) On​Сохраняем, установив тип файла​

​ в раскрывающемся списке.​ в категории, то​ качестве типа данных​ список содержал пустые​

​ Форма должна включать​Если на листе​в поле Источник вводим​ этот диапазон.​ в Excel, смотрите​

​ размер диапазона. Мы​ столбце из выпадающего​или, соответственно,​: Тогда может еще​ этом, после выбора​Скачать пример выпадающего списка​ Error Resume Next​ «с поддержкой макросов».​

​Выделяем диапазон для выпадающего​
​ есть слово Питание.​ — «Список».​ поля, а иногда​​ полное имя группы​​ много ячеек с​
​ ссылку на созданное​

  • ​Предположим, что элементы списка​​ в статье «Как​​ уменьшили размер диапазона​
  • ​ списка выбрали «Пальто».​=IF(D2>COUNT($H$2:$H$10);»»;INDEX($E$2:$E$10;SMALL($H$2:$H$10;ROW(E2)-1)))​
  • ​ подскажите, как сделать​ в лист1 пункта​При вводе первых букв​

​ If Not Intersect(Target,​Переходим на лист со​ списка. В главном​ Сколько раз встречается​

  • ​В источник списка введите​
  • ​ и не отображал​ и определенный индекс​ правилами Проверки данных,​

​ имя: =Список_элементов.​
​ шт;кг;кв.м;куб.м введены в​ сделать связанные выпадающие​ «Юбка», чтобы в​ Во втором столбце​При всей внешней жуткости​​ выборку нужной строки​​ «Наименование» в соседней​ с клавиатуры высвечиваются​ Range(«Е2:Е9»)) Is Nothing​ списком. Вкладка «Разработчик»​

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

​ списки в Excel​ выпадающем списке не​ появился выпадающий список​​ вида, эта формула​​ по первым буквам​ ячейке (то бишь,​ подходящие элементы. И​ And Target.Cells.Count =​ — «Код» -​

​ «Форматировать как таблицу».​

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

​ ввода с клавиатуры?​​ через одну ячейку)​ это далеко не​ 1 Then Application.EnableEvents​ «Макросы». Сочетание клавиш​Откроются стили. Выбираем любой.​ в нашем диапазоне.​

​ значений»:​ этого ограничения, но​ бы слишком трудоемким​

​ ячеек (Главная/ Найти​ перечень элементов будет​, тогда поле Источник​При заполнении ячеек данными,​Теперь устанавливаем​ А, если в​

  • ​ вещь — выводит​Примерно как в​
  • ​ в поле «цена»,​ все приятные моменты​ = False If​ для быстрого вызова​
  • ​ Для решения нашей​ Количество позиций в​Как видите, весь трюк​
  • ​ признаюсь, что мне​ (и раздражающим) занятием,​ и выделить/ Выделение​ дополняться, то можно​

​ будет содержать =лист1!$A$1:$A$4​ часто необходимо ограничить​первый выпадающий список в​ первом столбце этой​ очередное по номеру​ тотале, начинаешь набирать​ унаследовалась цена из​ данного инструмента. Здесь​ Len(Target.Offset(0, 1)) =​ – Alt +​ задачи дизайн не​ диапазоне — это​ зависимого списка состоит​ больше нравится мое​

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

​ ячейки столбца А​
​ же ячейки из​ имя сотрудника (используя​ нужный текст и​ «лист2» выбранной строчки.​ можно настраивать визуальное​ 0 Then Target.Offset(0,​ F8. Выбираем нужное​ имеет значения. Наличие​ его высота. Вот​ в использовании функции​ решение, поэтому к​ быстрое и простое​ Проверка данных этого​ большего размера, например,​: наглядность перечня элементов​ списком значений. Например,​.​ выпадающего списка выбрали​ функцию НАИМЕНЬШИЙ) из​ курсор сам переходит​Прикрепляю файл.​ представление информации, указывать​ 1) = Target​ имя. Нажимаем «Выполнить».​ заголовка (шапки) важно.​ функция:​

​ СМЕЩ. Ну хорошо,​​ тому решению я​
​ решение — 2​ инструмента позволяет выделить​А1:А10​ и простота его​ имеется ячейка, куда​У нас, в​ «Брюки», то во​ списка или пустую​ в соответствующие поля.​Pelena​ в качестве источника​

​ Else Target.End(xlToRight).Offset(0, 1)​Когда мы введем в​ В нашем примере​Конечно же, обе функции​ почти весь. Помогают​ больше не возвращался.​ зависимых выпадающих списка.​ ячейки, для которых​. Однако, в этом​ модификации. Подход годится​ пользователь должен внести​

​ примере, мы выделяем​ втором столбце будет​ ячейку, если имена​Можно без лишних​: Здравствуйте​ сразу два столбца.​ = Target End​ пустую ячейку выпадающего​ это ячейка А1​ уже включены в​ ей функции ПОИСКПОЗ​Ну хорошо. Теперь, по​Первым был список всех​ проводится проверка допустимости​ случае Выпадающий список​ для редко изменяющихся​ название департамента, указав​ диапазон A2:A3. И,​

excel2.ru

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

​ выпадающий список с​ свободных сотрудников уже​ заморочек, типа скрывания​Используйте поиск по​Melia95​ If Target.ClearContents Application.EnableEvents​ списка новое наименование,​ со словом «Деревья».​ функцию СМЕЩ, которая​ и СЧЕТЕСЛИ. Функция​

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

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

​ форуму, задача решалась​: Друзья, добрый день!​ = True End​ появится сообщение: «Добавить​ То есть нужно​ описана выше. Кроме​ СМЕЩ позволяет динамически​ шаги создания зависимого​ — список всех​ помощью команды Данные/​ строки.​Недостатки​ Логично, предварительно создать​ на закладке «Данные»,​Итак, сделаем две​

​в Excel 2003 и​ возможность выбора соседних​ много раз​Ситуация стандартная:​ If End Sub​ введенное имя баобаб​ выбрать стиль таблицы​ того, обратите внимание,​ определять диапазоны. Вначале​ выпадающего списка.​ продуктов, находящихся в​ Работа с данными/​Избавиться от пустых строк​

​: если добавляются новые​ список департаментов организации​ устанавливаем выпадающие списки.​ таблицы. Саму таблицу​ старше идем в​ позиций.​SkyPro​

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

​1й выпадающий список​Чтобы выбранные значения показывались​ в выпадающий список?».​ со строкой заголовка.​ что как в​ мы определяем ячейку,​Это необязательный шаг, без​ выбранной категории. Поэтому​ Проверка данных). При​ и учесть новые​

​ элементы, то приходится​

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

​ и позволить пользователю​ Тип данных –​ сделаем на странице​ меню​А в ЛИСТ2,​: http://www.excelworld.ru/forum/2-633-1​ (А2) — общая​ снизу, вставляем другой​Нажмем «Да» и добавиться​ Получаем следующий вид​ функции ПОИСКПОЗ, так​ от которой должен​ него мы сможем​ я создал выпадающий​ выборе переключателя Всех​

​ элементы перечня позволяет​ вручную изменять ссылку​

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

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

​ лишь выбирать значения​ выбираем «Список». А​ книги «Таблица». А​Вставка — Имя -​ наименования можно сортирнуть​http://www.planetaexcel.ru/techniques/1/38/​ группа риска​ код обработчика.Private Sub​

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

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

​ еще одна строка​ диапазона:​ и в СЧЕТЕСЛИ,​ начинаться сдвиг диапазона,​ без проблем справиться​ список, зависимый от​ будут выделены все​ Динамический диапазон. Для​ на диапазон. Правда,​ из этого списка.​ в строке «Источник»​ списки сделаем на​ Присвоить (Insert -​

​ по альфавиту, это​http://www.excel-vba.ru/chto-um….-spiski​2й выпадающий список​ Worksheet_Change(ByVal Target As​ со значением «баобаб».​Ставим курсор в ячейку,​ есть ссылка на​ а в последующих​ с этим. Однако​ выбора, сделанного в​ такие ячейки. При​ этого при создании​ в качестве источника​ Этот подход поможет​ указываем имя диапазона.​ странице «Размеры». У​ Name — Define)​ вообще не критично.​Поиск не пробовали?​ (В2), зависимый -​ Range) On Error​Когда значения для выпадающего​ где будет находиться​

​ диапазон названный Рабочий_Список.​ аргументах определяем его​ мне нравится использовать​ предыдущем списке (здесь​

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

​ выборе опции Этих​ Имени Список_элементов в​ можно определить сразу​ ускорить процесс ввода​ Например, «=Наименование_товара».​ нас есть такая​в Excel 2007 и​Если слишком геморно,​На этот вопрос​

​ конкретный риск в​ Resume Next If​ списка расположены на​ выпадающий список. Открываем​ Как я уже​ размеры.​ имена, потому что​ вы найдете материал​ же выделяются только​ поле Диапазон необходимо​ более широкий диапазон,​

​ и уменьшить количество​Подробнее, как установить​

  1. ​ таблица.​
  2. ​ новее — жмем​ то и так​ уже отвечали неоднократно.​ рамках группы из​
  3. ​ Not Intersect(Target, Range(«Н2:К2»))​ другом листе или​

Категория.

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

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

​ например,​

  1. ​ опечаток.​ выпадающий список, смотрите​И мы сделали такие​ кнопку​
  2. ​ сойдет, как есть,​китин​ А2.​ Is Nothing And​
  3. ​ в другой книге,​ данных» (выше описан​
  4. ​ обязательно использовать имена​ будет перемещаться по​
  5. ​ как написание, так​

Список.

​ создать два зависимых​ которых установлены те​

​Использование функции СЧЁТЗ() предполагает,​

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

​A1:A100​

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

​Выпадающий список можно создать​ в статье «Выпадающий​ списки.​Диспетчер Имен (Name Manager)​ ну а вдруг.​: да файла лично​Делаю всё шаг​ Target.Cells.Count = 1​ стандартный способ не​ путь). В поле​ диапазонов, можно просто​ столбцу Подкатегория в​ и чтение формулы.​ раскрывающихся списка).​

​ же правила проверки​ что заполнение диапазона​. Но, тогда выпадающий​ с помощью Проверки​ список в Excel».​Внимание!​на вкладке​китин​ я не вижу​ за шагом, как​ Then Application.EnableEvents =​

​ работает. Решить задачу​ «Источник» прописываем такую​

​ ввести $H3: $H15.​ рабочей таблице (G2:H15).​

формула.

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

​Присвоим имена двум диапазонам.​Тот же самый результат​ данных, что и​ ячеек (​ список может содержать​ данных ​Устанавливаем​В списках названия​Формулы (Formulas)​: поищите поиском.где недавно​felixtreem​ пишут повсюду, но​ False If Len(Target.Offset(1,​ можно с помощью​ функцию:​

​ Однако использование имен​ Перемещение начнем от​ Список всех категорий​ хочет получить пользователь​ для активной ячейки.​A:A​ пустые строки (если,​или с помощью элемента​зависимые выпадающие списки в​ столбцов (В, С,​и создаем новый именованный​ была такая тема​: Непонятно. Файл прикреплял.​ в итоге постоянно​ 0)) = 0​

​ функции ДВССЫЛ: она​Протестируем. Вот наша таблица​ диапазонов в формуле​ ячейки H2, которая​ и рабочий список​ шаблона домашнего бюджета​Примечание​), который содержит элементы,​ например, часть элементов​ управления формы Поле​ столбце В​ D) должны полностью​ диапазон​Pelena​SkyPro — Те​ имею «При вычислении​ Then Target.Offset(1, 0)​ сформирует правильную ссылку​ со списком на​ делает ее проще​ также является первым​ категорий. Это будут​

​ где нужна категория​:​ ведется без пропусков​ была удалена или​ со списком (см.​.​ совпадать с названием​Имена​: Один вопрос -​ ссылки, что вы​ «Источник» возникает ошибка».​ = Target Else​ на внешний источник​ одном листе:​ и легко читаемой.​ аргументом нашей функции.​ диапазоны A3:A5 (список​ и подкатегория расходов.​Если выпадающий список​ строк (см. файл​ список только что​ статью Выпадающий (раскрывающийся)​Это второй уровень​ в первом столбце​по следующей формуле:​ одна тема​ кинули, читал, там​Пожалуйста, помогите, чем​ Target.End(xlDown).Offset(1, 0) =​ информации.​Добавим в таблицу новое​

​Вот и все:​ В формуле ячейку​ категорий в зеленой​ Пример данных находится​ содержит более 25-30​ примера, лист Динамический​ был создан). Чтобы​ список на основе​ выпадающих списков.​ (у нас –​=СМЕЩ(Лист1!$I$2;0;0;СЧЁТЗ(Лист1!$I$2:$I$10)-СЧИТАТЬПУСТОТЫ(Лист1!I$2:I$10))​Я знаю, что делать,​ описывается категории и​

​ можете.​ Target End If​Делаем активной ячейку, куда​ значение «елка».​Скачать пример зависимого выпадающего​ H2 записали как​ таблице на первом​ на рисунке ниже:​ значений, то работать​ диапазон).​ пустые строки исчезли​ элемента управления формы).​Внимание!​ это наименование товара​в англоязычной версии =OFFSET(Лист1!$I$2;0;0;COUNTA(Лист1!$I$2:$I$10)-COUNTBLANK(Лист1!I$2:I$10))​ но не знаю​ подкатегории. Мне же​Заранее благодарю!​ Target.ClearContents Application.EnableEvents =​

​ хотим поместить раскрывающийся​

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

​Теперь удалим значение «береза».​ списка в Excel​

​ абсолютную ссылку, потому​ изображении) и G3:G15​Так, например, если мы​ с ним становится​Используем функцию ДВССЫЛ()​ необходимо сохранить файл.​

​В этой статье создадим​Перед тем, как​ – ячейки А2:А4​

​Фактически, мы просто даем​куда потом девать​ надо, что бы​Pelena​ True End If​

exceltable.com

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

​ список.​Осуществить задуманное нам помогла​Одна формула, ну не​ что предполагаю, что​ (список повторяющихся категорий​ выберем категорию Развлечения,​ неудобно. Выпадающий список​

​Альтернативным способом ссылки на​Второй недостаток: диапазон источника​ Выпадающий список с​ устанавливать выпадающие списки​ должны совпадать с​ диапазону занятых ячеек​ тела…​ после того, как​: Здравствуйте.​ End Sub​

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

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

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

​ то в списке​ одновременно отображает только​ перечень элементов, расположенных​ должен располагаться на​

  1. ​ помощью Проверки данных​ в столбце В,​Ввод значений.
  2. ​ ячейками В1:D1).​ в синем столбце​Имеем в качестве примера​ я выбрал на​Проверка вводимых значений.
  3. ​У Вас в​Чтобы выбираемые значения отображались​ В поле «Источник»​ легка «расширяется», меняется.​

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

​ простая, но облегчающая​ раскрывающийся список во​

​ таблице).​

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

​ подкатегорий должно быть:​ 8 элементов, а​ на другом листе,​ том же листе,​ (Данные/ Работа с​ выберите в первой​Если наименований много,​ собственное название​

  1. ​ недельный график дежурств,​ Лист1 из выпадающего​ первом списке после​ в одной ячейке,​Форматировать как таблицу.
  2. ​ вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).​Теперь сделаем так, чтобы​ работу и защищает​ многих ячейках.​Для того чтобы назвать​ Кинотеатр, Театр, Бассейн.​ чтобы увидеть остальные,​ является использование функции​ что и выпадающий​ данными/ Проверка данных)​ верхней ячейке столбца​ то столбец можно​Имена​Выпадающий список.
  3. ​ который надо заполнить​ списка нужный мне​ названия пробел лишний​ разделенные любым знаком​Имя файла, из которого​ можно было вводить​ от ошибок при​Поскольку рабочая таблица отсортирована​

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

​ список категорий:​ Очень быстрое решение,​ нужно пользоваться полосой​

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

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

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

​ с типом данных​

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

​ А любое значение.​ транспонировать в строку.​.​

​ именами сотрудников, причем​ товар, в соседней​ (неразрывный). Если его​ препинания, применим такой​ берется информация для​ новые значения прямо​ вводе данных!​

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

  1. ​ по Категории, то​Выберите диапазон A3:A5.​ если в своем​ прокрутки, что не​ Пример, выделяем диапазон​Создание имени.
  2. ​ правил Проверки данных нельзя​ Список.​ Главное, чтобы эта​ Как это сделать,​Осталось выделить ячейки B2:B8​
  3. ​ для каждого сотрудника​ ячейке этого же​ убрать, то всё​ модуль.​ списка, заключено в​ в ячейку с​Читайте также: Связанные выпадающие​Сообщение об ошибке.
  4. ​ диапазон, который должен​В поле имени (поле​ домашнем бюджете вы​ всегда удобно.​ ячеек, которые будут​ использовать ссылки на​Выпадающий список можно сформировать​ ячейка не была​ смотрите в статье​ нашего графика и​ максимальное количество рабочих​ листа сразу же​ получается​Private Sub Worksheet_Change(ByVal​ квадратные скобки. Этот​ этим списком. И​ списки и формула​ быть источником для​ слева от строки​ хотите проанализировать более​В EXCEL не предусмотрена​ содержать выпадающий список,​ другие листы или​ по разному.​ пустой. У нас​ «Как поменять местами​ добавить в них​ дней (смен) ограничено.​ появилась цена этого​Melia95​ Target As Range)​ файл должен быть​ данные автоматически добавлялись​
  5. ​ массива в Excel​ раскрывающегося списка, будет​Сообщение об ошибке.
  6. ​ формулы) введите название​ подробную информацию.​ регулировка размера шрифта​ вызываем Проверку данных,​ книги (это справедливо​Самым простым способом создания​ – это ячейка​ столбцы и строки​

Макрос.

​ выпадающий список с​ Идеальным вариантом было​ товара. Список товаров​: Pelena, спасибо большое!​On Error Resume​ открыт. Если книга​

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

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

​ «Категория».​​ Выпадающего списка. При​ в Источнике указываем​ для EXCEL 2007​ Выпадающего списка является​ А2.​ в Excel» тут.​ элементами диапазона​ бы организовать в​ и цен уже​

  1. ​Всё отлично, работает.​ Next​ с нужными значениями​
  2. ​Сформируем именованный диапазон. Путь:​ трюка я уже​ впервые встречается выбранная​

​Подтвердите с помощью клавиши​Признаюсь, что в предложенном​ большом количестве элементов​ =ДВССЫЛ(«список!A1:A4»).​ и более ранних).​ ввод элементов списка​Выделяем диапазон в​Как настроить Excel,​Имена​ ячейках B2:B8 выпадающий​

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

​ сформирован на Лист2.​

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

​китин​If Not Intersect(Target,​ находится в другой​ «Формулы» — «Диспетчер​ представил. Интересно, как​ категория. Например, для​ Enter.​ мной варианте домашнего​

  1. ​ имеет смысл сортировать​Недостаток​Избавимся сначала от второго​Список диапазонов.
  2. ​ непосредственно в поле​ столбце В (у​ чтобы при добавлении​. Для этого​ список, но при​Таблица со списком.
  3. ​Еще раз прикрепляю​: нет, слишком просто!!!!​ Range(«C2:C5»)) Is Nothing​ папке, нужно указывать​ имен» — «Создать».​ вы его будете​ категории Питание мы​Такое же действие совершите​ бюджета я ограничиваюсь​ список элементов и​: при переименовании листа​ недостатка – разместим​ Источник инструмента Проверка​Второй раскрывающийся список.

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

    ​ нас – это​ ячеек в список​в Excel 2003 и​ этом сделать так,​ файл.​

    1. ​формула в проверку​ And Target.Cells.Count =​ путь полностью.​ Вводим уникальное название​ использовать?​ хотим отобразить диапазон​ для диапазона рабочего​ только категорией, поскольку​ использовать дополнительную классификацию​ – формула перестает​ перечень элементов выпадающего​ данных.​ В2:В3). Снова через​ столбца A, автоматически​ старше — откроем​ чтобы уже занятые​Насколько я понимаю,​ данных​ 1 Then​Возьмем три именованных диапазона:​ диапазона – ОК.​Под выпадающим списком понимается​ H6:H11, для Транспорта​ списка категорий G3:G15,​ для меня такого​ элементов (т.е. один​
    2. ​ работать. Как это​ списка на другом​Предположим, в ячейке​ функцию «Проверка данных»​ писалось название нового​ меню​ сотрудники автоматически убирались​ в моем примере,​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СМЕЩ(Лист2!$A$2;;ПОИСКПОЗ($A$2;Лист2!$A$1:$U$1;0)-1;СЧЁТЗ(ИНДЕКС(Лист2!$A$2:$U$19;;ПОИСКПОЗ($A$2;Лист2!$A$1:$U$1;0))))​Application.EnableEvents = False​Это обязательное условие. Выше​Создаем раскрывающийся список в​ содержание в одной​ — диапазон H12:​ который вы можете​ разделения расходов вполне​ выпадающий список разбить​ можно частично обойти​ листе.​
    3. ​B1​ выбираем «Тип данных»​ столбца, смотрите в​Данные — Проверка (Data​ из выпадающего списка,​
      ​ нужно использовать параметр​_Boroda_​
      ​newVal = Target​ описано, как сделать​
      ​ любой ячейке. Как​ ячейке нескольких значений.​ H15 и т.​ вызвать "Рабочий_Список". Этот​
      ​ достаточно (название расходов​
      ​ на 2 и​
      ​ см. в статье​
      ​В правилах Проверки данных (также​
      ​необходимо создать выпадающий​ – список. А​ статье «Как добавить​
      ​ - Validation)​ оставляя только свободных:​ ЕСЛИ, вроде как-то​
      ​: Я обычно немного​
      ​Application.Undo​
      ​ обычный список именованным​
      ​ это сделать, уже​ Когда пользователь щелкает​
      ​ д. Обратите внимание,​
      ​ диапазон мы будем​
      ​ / доходов рассматривается​

    ​ более).​ Определяем имя листа.​ как и Условного​ список для ввода​ в строке «Источник»​ столбец в Excel​

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

    1. ​,​Чтобы реализовать подобный вариант​ так: Если из​ посложнее пишу, но​oldval = Target​ диапазоном (с помощью​Вставить ActiveX.
    2. ​ известно. Источник –​ по стрелочке справа,​ что все время​ использовать в формуле.​ как подкатегория). Однако,​Например, чтобы эффективно работать​Элемент ActiveX.
    3. ​Ввод элементов списка в​ форматирования) нельзя впрямую​Свойства ActiveX.
    4. ​ единиц измерений. Выделим​ пишем такую формулу​ автоматически».​в Excel 2007 и​ выпадающего списка выполним​ выпадающего списка на​ зато можно дописывать​If Len(oldval) <>​

    ​ «Диспетчера имен»). Помним,​

    ​ имя диапазона: =деревья.​ появляется определенный перечень.​ мы перемещаемся по​Это будет просто:​ если вам нужно​ со списком сотрудников​ диапазон ячеек, находящегося​ указать ссылку на​ ячейку​ =ДВССЫЛ(А2)​

    exceltable.com

Зависимые выпадающие списки (Иное/Other)

​Как сделать в Excel​​ новее — жмем​
​ несколько простых шагов.​
​ ячейке на ЛИСТ1​ данные для списков​ 0 And oldval​
​ что имя не​Снимаем галочки на вкладках​ Можно выбрать конкретное.​ столбцу H, а​Выберите ячейку, в которую​
​ разделить их на​ насчитывающем более 300​ в другой книге​ диапазоны другого листа​B1​Этой формулой мы говорим​
​ динамический диапазон​ кнопку​
​Сначала давайте подсчитаем кто​

​ выбрана ячейка А1​​ сразу прямо на​
​ <> newVal Then​ может содержать пробелов​ «Сообщение для ввода»,​Очень удобный инструмент Excel​ единственное, что изменяется,​ вы хотите поместить​

​ подкатегории, то метод,​​ сотрудников, то его​
​Если необходимо перенести диапазон​

​ (см. Файл примера):​​и вызовем Проверку​:D
​ Excel, что список​- чтобы размер​​Проверка данных (Data Validation)​

​ из наших сотрудников​​ на ЛИСТ2, тогда​ лист2 и они​Target = Target​ и знаков препинания.​ «Сообщение об ошибке».​ для проверки введенных​ это начало диапазона​ список. В моем​
​ который я описываю​
​ следует сначала отсортировать​
​ с элементами выпадающего​
​Пусть ячейки, которые должны​

​ данных.​​ нужно показывать, в​ диапазонов списков при​на вкладке​ уже назначен на​ на ЛИСТ1 и​ автоподхватываются в оба​ & «,» &​Создадим первый выпадающий список,​ Если этого не​ данных. Повысить комфорт​ и его высота​ случае это A12.​

​ ниже, будет идеальным.​​ в алфавитном порядке.​ списка в другую​

excelworld.ru

Как сделать — Связанный (зависимый) выпадающий список (Формулы)

​ содержать Выпадающий список,​​Если в поле Источник​
​ зависимости от значения​
​ добавлении или убавлении​Данные (Data)​ дежурство и на​
​ ячейка В2 должна​ вып. списка​ newVal​
​ куда войдут названия​ сделать, Excel не​ работы с данными​ (то есть количество​В меню «ДАННЫЕ» выберите​ Смело используйте!​ Затем создать выпадающий​ книгу (например, в​ размещены на листе​ указать через точку​ в ячейке столбца​ ячеек менялся автоматически,​В открывшемся окне выберем​ сколько смен. Для​ быть равна ячейке​
​Для списка 1​

​Else​​ диапазонов.​
​ позволит нам вводить​ позволяют возможности выпадающих​ элементов в списке).​

​ инструмент «Проверка данных».​​А конечный результат выглядит​
​ список, содержащий буквы​
​ книгу Источник.xlsx), то​
​ Пример,​
​ с запятой единицы​ А.​

​ смотрите в статье​​ в списке допустимых​ этого добавим к​

​ ЛИСТ2 В2.​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$1:$1;1):ИНДЕКС(Лист2!$1:$1;СЧЁТЗ(Лист2!$1:$1))​
​Target = newVal​Когда поставили курсор в​ новые значения.​ списков: подстановка данных,​Начало диапазона будет перемещено​ Появится окно «Проверка​ следующим образом:​ алфавита. Второй выпадающий​ нужно сделать следующее:​а диапазон с перечнем​ измерения шт;кг;кв.м;куб.м, то​Здесь все просто.​ «Чтобы размер таблицы​ значений вариант​ зеленой таблице еще​китин​Для списка 2​
​End If​ поле «Источник», переходим​
​Вызываем редактор Visual Basic.​ отображение данных другого​ относительно ячейки H2​ вводимых значений».​Для того чтобы этого​ список должен содержать​в книге Источник.xlsx создайте​ элементов разместим на​ выбор будет ограничен​ Но бывает название​ Excel менялся автоматически».​Список (List)​ один столбец, введем​

​: ну если вам​​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ИНДЕКС(Лист2!$2:$2;ПОИСКПОЗ(Лист1!$A27;Сп1;)):ИНДЕКС(Лист2!$1:$99;СЧЁТЗ(ИНДЕКС(Лист2!$1:$99;;ПОИСКПОЗ(Лист1!$A27;Сп1;)));ПОИСКПОЗ(Лист1!$A27;Сп1;))​If Len(newVal) =​
​ на лист и​ Для этого щелкаем​
​ листа или файла,​
​ на такое количество​В качестве типа данных​

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

​ этими четырьмя значениями.​​ диапазона (столбца) состоит​Теперь нужно присвоить​и укажем​ в него следующую​ надо только,что бы​
​enzo​ 0 Then Target.ClearContents​ выделяем попеременно нужные​ правой кнопкой мыши​ наличие функции поиска​ ячеек вниз (по​
​ выберите «Список».​

​ немного другую таблицу​​ которые начинаются с​в книге Источник.xlsx диапазону​ листе Список в​Теперь смотрим, что получилось.​ из нескольких слов.​ имена всем этим​​Источник (Source)​

​ формулу:​​тогда это просто​: Интересно стало ,​Application.EnableEvents = True​ ячейки.​ по названию листа​
​ и зависимости.​ числу), сколько составляет​В качестве источника введите:​ данных, чем если​ буквы, выбранной первым​
​ ячеек содержащему перечень​ файле примера).​ Выделим ячейку​ Например, «Зимние пальто».​ спискам. У нас​
​данных:​=СЧЁТЕСЛИ($B$2:$B$8;E2) или в англоязычной​ ВПР​ а если на​
​End If​Теперь создадим второй раскрывающийся​ и переходим по​Путь: меню «Данные» -​:)

​ номер позиции первой​​ =Категория (рисунок ниже).​ бы мы создавали​

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

excelworld.ru

Выпадающий список с удалением использованных элементов

​B1​ А в имени​
​ в списках четыре​Вот и все! Теперь​

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

​ версии =COUNTIF($B$2:$B$8;E2)​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ВПР($A7;Лист2!$B$2:$H$161;6;ЛОЖЬ)​ листе2, данные будут​End Sub​ список. В нем​ вкладке «Исходный текст».​ инструмент «Проверка данных»​ встречающейся категории в​Подтвердите с помощью OK.​ один раскрывающийся список.​ такой задачи может​ например СписокВнеш;​ элементы которого расположены​. При выделении ячейки​ диапазона нельзя ставить​ диапазона (четыре столбца).​

Выпадающий зависимый список вȎxcel

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

Шаг 1. Кто сколько работает?

​ в 2 столбца​Не забываем менять диапазоны​ должны отражаться те​ Либо одновременно нажимаем​ — вкладка «Параметры».​ столбце Категория. Проще​Проверка вводимых значений –​ Таблица должна выглядеть​ быть использована структура​откройте книгу, в которой​

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

Выпадающий зависимый список вȎxcel

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

Шаг 2. Кто еще свободен?

​ 1 ячейки С7​ ( Проект и​ на «свои». Списки​ слова, которые соответствуют​ клавиши Alt +​ Тип данных –​ будет понять на​ Категория.​ так (диапазон G2:H15):​ Связанный список или​

​ предполагается разместить ячейки​

Выпадающий зависимый список вȎxcel

Шаг 3. Формируем список

​ можно использовать два​ появляется квадратная кнопка​ напишем так «Зимние_пальто».​ сделать так.​ имена будут автоматически​ сотрудника встречалось в​китин​ под проект) ?​ создаем классическим способом.​ выбранному в первом​ F11. Копируем код​ «Список».​

​ примере: диапазон для​

​Результат следующий:​

​В эту таблицу необходимо​

Выпадающий зависимый список вȎxcel

​ Вложенный связанный список.​ с выпадающим списком;​ подхода. Один основан​ со стрелкой для​ Но формула ДВССЫЛ​Как присвоить имя диапазону​ удаляться из выпадающего​ диапазоне с именами.​: немного переделал.убрал ошибку.файл​ На листе 1​ А всю остальную​

Шаг 4. Создаем именованный диапазон свободных сотрудников

  • ​ списке названию. Если​ (только вставьте свои​Ввести значения, из которых​​ категории Питание перемещен​Раскрывающийся список для категории.​ ввести категорию и​
  • ​Зависимый выпадающий список позволяет​выделите нужный диапазон ячеек,​ на использовании Именованного​​ выбора элементов из​​ не найдет этот​​ в​

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

​ работу будут делать​

​ «Деревья», то «граб»,​

Выпадающий зависимый список вȎxcel

​ параметры).Private Sub Worksheet_Change(ByVal​ будет складываться выпадающий​ на 4 ячейки​Сейчас будет весело. Создавать​​ рядом с ней​​ сделать трюк, который​

Шаг 5. Создаем выпадающий список в ячейках

​ вызовите инструмент Проверка​ диапазона, другой –​ выпадающего списка.​ диапазон. Тогда формулу​Excel.​​ тех, кто еще​​ наших сотрудников еще​

  • ​200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ЕСЛИ(ЕНД(ВПР($A2;Лист2!$B$2:$H$161;6;ЛОЖЬ));»»;ВПР($A2;Лист2!$B$2:$H$161;6;ЛОЖЬ))​ выпадающие списки сделать​ макросы.​​ «дуб» и т.д.​ Target As Range)​​ список, можно разными​
  • ​ вниз относительно ячейки​ списки мы умеем​ ее подкатегории. Имя​​ очень часто хвалят​​ данных, в поле​​ функции ДВССЫЛ().​

​Недостатки​ нужно написать так.​Выделяем диапазон ячеек​​ свободен.​​ свободен, т.е. не​​felixtreem​​ ? Или это​

Выпадающий зависимый список вȎxcel

​На вкладке «Разработчик» находим​ Вводим в поле​ Dim lReply As​ способами:​ H2 (начинается с​ — только что​ категории должно повторяться​ пользователи шаблонов Excel.​

planetaexcel.ru

​ Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»);​

Skip to content

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

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

Вот примеры таких задач:

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

Выглядеть это может примерно так:

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

  1. 1. Именованные диапазоны + функция ДВССЫЛ.
    • А как быть с пробелами?
  2. 2. Комбинация СМЕЩ + ПОИСКПОЗ

Начнем с более простого и стандартного подхода.

1. Именованные диапазоны + функция ДВССЫЛ.

Это может показаться сложным, но на самом деле это очень просто, и является отличным примером того, как можно применить ДВССЫЛ.

создаем зависимый выпадающий список

Рассмотрим небольшой пример. У нас есть перечень автомобилей различных марок. Расположим их каждый в отдельном столбце. В первой ячейке каждого столбца запишем производителя — Toyota, Ford, Nissan. Необходимо, чтобы после того, как первоначально мы выберем, например, Toyota, далее мы видели бы только модели этой марки, и ничего более. То есть, нам нужен двухуровневый связанный список.

Для начала создадим именованные диапазоны с моделями автомашин. Имя каждому из них присвоим в соответствии с маркой авто. Важно, чтобы имя каждого из них точно соответствовало значению, записанному в первой строке соответствующего столбца. Иными словами, если мы создаем именованный диапазон из ячеек A2:A100, то имя его должно совпадать со значением в A1 (регистр символов значения не имеет). Посмотрите на рисунке, как это выглядит.

Итак, у нас получилось 3 именованных диапазона — «toyota», «ford», «nissan». Делать их статическими (фиксированными) или динамически (автоматически пополняемыми) — решайте сами. О том, как создать автоматически пополняемый список, смотрите ссылку в конце этой статьи.

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

И далее выбираем того производителя, который нас интересует. К примеру, «Ford».

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

В этом нам поможет функция ДВССЫЛ. Функция ДВССЫЛ (INDIRECT в английском варианте) преобразует текст в стандартную ссылку Excel.

Если мы запишем

=ДВССЫЛ(«F3»)

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

=F3

Но зачем же так все усложнять? Все дело в том, что некоторые виды формул Excel почему-то отказывается воспринимать как источник данных для выпадающего списка. Вот и приходится идти на такие ухищрения.

«Фишка» функции ДВССЫЛ (или INDIRECT) в том, что она позволяет использовать текст точно так же, как обычную ссылку на ячейку . Это обеспечивает нам два ключевых преимущества:

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

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

Итак, в этом примере мы берем текстовые значения из А1:С1, выбираем из них какое-то одно. К примеру, «Ford». Поскольку такое же название у нас имеет один из именованных диапазонов, то и применяем ДВССЫЛ, чтобы преобразовать текст «Ford» в ссылку =ford. И вот уже ее мы употребляем как источник для связанного выпадающего списка.

Итак, в качестве источника значений применяем формулу

=ДВССЫЛ($F$3)

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

В результате функция возвращает в нашу таблицу Excel ссылку

=ford

Регистр символов в данном случае значения не имеет — все автоматически преобразуется в нижний регистр. И именно это и будет источником данных.

Изменяя значения в F3, мы автоматически изменяем и ссылку-источник для списка в F6. В результате источник данных для зависимого выпадающего списка в F6 динамически меняется в зависимости от того, что было выбрано в F3. Если выбираем Ford, то видим только каталог машин этой марки. Аналогично, если выбираем Toyota либо Nissan.

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

А как быть с пробелами?

Может случиться так, что название вашей группы товаров или категории будет содержать пробелы. А именованные диапазоны не позволяют, чтобы в их названии встречался пробел. Принято заменять их символом нижнего подчеркивания «_». Как же нам быть в этом случае? Ведь в таблице названия товарных категорий с символом нижнего подчеркивания будут смотреться несколько непривычно. Например, «Косметические_товары». С непривычки можно и просто забыть ввести нужный символ. И тогда наши формулы работать не будут.

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

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

=ПОДСТАВИТЬ(F3;» «;»_»)

То есть, мы проведем предварительную обработку значений, чтобы они соответствовали правилам написания имён. Вместо =ДВССЫЛ($F$3) запишем

=ДВССЫЛ(ПОДСТАВИТЬ($F$3;» «;»_»))

Кавычки здесь не нужны, поскольку ПОДСТАВИТЬ возвращает текстовую строку. Если же в нашем тексте нет пробелов и он состоит из одного слова, то он будет возвращен «как есть». Следите только за тем, чтобы в начале и в конце обрабатываемой текстовой переменной у вас случайно не оказались пробелы. Ведь они тоже будут заменены на нижнее подчеркивание. Ну а чтобы не заниматься этим ручным контролем, усложните еще немного свою формулу при помощи функции СЖПРОБЕЛЫ. Она автоматически уберет начальные и конечные пробелы из текста. В итоге получим:

=ДВССЫЛ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($F$3);» «;»_»))

Ну а теперь — еще один способ, как сделать многоуровневый зависимый выпадающий список в Excel.

2. Комбинация СМЕЩ + ПОИСКПОЗ

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

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

Первое условие — исходные данные должны быть отсортированы по маркам, а внутри марок — по моделям. То есть, нужно отсортировать по столбцу А, а затем — по В.

Начнем с простого. В ячейке D1 создадим выпадающий список из марок автомобилей. Для этого в F1:F3 запишем их названия и затем употребим их в качестве источника. Напомню, что нужно нажать Меню — Данные — Проверка данных.

создаем выпадающий список

Далее нам нужно в D2 создать второй уровень, где будут только модели выбранной марки. В этот раз источник данных мы определим несколько иначе, чем ранее. Воспользуемся тем, что функция СМЕЩ может возвращать массив данных, который мы как раз и можем употребить в качестве наполнения нашего второго перечня. Но для этого ей нужно передать целых 5 параметров:

  • координаты верхней левой ячейки,
  • на сколько строк нужно сместиться вниз — A,
  • на сколько столбцов нужно перейти вправо — B,
  • высота массива (строк) — C,
  • ширина массива (столбцов) D.

как работает функция СМЕЩ

Зеленым цветом на рисунке выделен новый диапазон. Если параметры C и D не указать, то будет возвращено содержимое единственной ячейки, в которую мы переместились, сделав несколько шагов вниз и вправо.

Традиционно точкой отсчета для функции СМЕЩ возьмем ячейку A1. Теперь нам нужно решить, на сколько позиций вниз и вправо нужно перейти, чтобы указать левый верхний угол нового перечня с моделями. Предположим, первоначально мы выбрали Ford.

На сколько шагов сместиться вниз? Применим функцию ПОИСКПОЗ, которая возвратит нам номер позиции первого вхождения «Ford».

=ПОИСКПОЗ($D$1;$A$1:$A$22;0)

Если первый раз нужное нам слово встретилось, к примеру, в 7-й позиции, то вычтем 1, чтобы получить количество шагов. То есть, начиная с первого значения, нужно сделать 6 шагов.

Третий параметр установим равным 1, так как нужно перейти на один шаг вправо из A в B. Мы находимся в начальной точке нашего диапазона. Теперь рассчитаем, на сколько ячеек вниз он будет продолжаться. Для этого подсчитаем, сколько раз «Ford» встречается в нашем перечне. Столько и будет значений вниз.

=СЧЁТЕСЛИ($A$1:$A$22;$D$1)

А теперь объединяем все это в СМЕЩ:

=СМЕЩ($A$1;ПОИСКПОЗ($D$1;$A$1:$A$22;0)-1;1;СЧЁТЕСЛИ($A$1:$A$22;$D$1);1)

Последняя единичка означает, что массив состоит из одной колонки.

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

Аналогичным образом можно создать и третий уровень зависимого выпадающего списка.

Еще полезная дополнительная информация:

Что такое выпадающий список

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

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

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

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

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

Чтобы создать выпадающий список, выделите ячейку, где он должен появиться (или группу ячеек) и перейдите на вкладку Данные -> Проверка данных.

меню excel, проверка данных

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

excel, проверка значений

Источником данных может быть:

  • Текст – пишется через точку с запятой «;» и без знака равно «=», например
    Материалы;Заработная плата;Амортизация
  • Ссылки на ячейки:
    =$A$1:$A$7
  • Именованный диапазон:
    =ИмяДиапазона

и т.д.

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

Связанные выпадающие списки – это списки, в которых выпадающие значения появляются не «просто так», а в зависимости от уже заполненных данных. Так, для выбранной группы появится только список входящих в неё наименований.

excel, связанные выпадающие списки

Создадим выпадающие списки несколькими способами – для разных таблиц с исходными данными.

Способ 1. Названия групп в заголовках столбцов, в строках – элементы групп.

excel, таблица

Способ 2. Названия групп – в первом столбце, элементы групп – во втором столбце.

excel, таблица

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

Исходные данные: таблица с названиями групп в заголовках столбцов.

excel, таблица

В этом способе используется всего одна простая формула — ДВССЫЛ (правда, непривычная обычным пользователям) и форматированная smart-таблица Excel (иногда их еще называют «умные» таблицы). Зато вы получите взаимозависимые списки и будете пользоваться ими по принципу «сделал и забыл». Не нужно будет переживать о том, что «слетит» диапазон и переделывать всю архитектуру данных. Просто один раз сделаете и будете пользоваться.

Справка:

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

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

Создать форматированную таблицу просто: выделите диапазон ячеек и перейдите в меню Главная -> Форматировать как таблицу -> выберите понравившийся вид таблицы. Готово – форматированная таблица создана.

Формула ДВССЫЛ передает значения из ячейки, адрес которой записан в самой формуле в виде текстовой строки.

Например, записываем в ячейке B1 адрес ячейки А1. Формула ДВССЫЛ(B1) «увидит», какой адрес записан в ячейке B1, а результатом вычисления формулы будет текст, записанный в ячейке А1. Эту же формулу можно записать, указав адрес ячейки в кавычках – ДВССЫЛ(«А1»).

excel, формула, двссыл

С помощью ДВССЫЛ можно обратиться к ячейке по адресу с помощью других формул, например СЦЕПИТЬ, & или ЕСЛИ и т.д. Так, формула на рисунке ДВССЫЛ(B1&C1) обращается к тексту в ячейке А1. После нажатия Enter в ячейке, где вводилась формула ДВССЫЛ(B1&C1) появится значение из ячейки A1, в нашем случае это «текст».

excel, формула, двссыл

Пошаговая инструкция по созданию связанных выпадающих списков

Шаг 1. Создайте справочник исходных данных в виде форматированной smart-таблицы.

  • Выделите таблицу со статьями и преобразуйте ее в smart-таблицу: выберите в меню Главная -> Форматировать как таблицу.

excel, форматированные таблицы, умные таблицы

  • В появившемся окне обязательно проверьте галочку рядом с надписью «Таблица с заголовками». Если ее нет – поставьте.

excel, форматированные таблицы

  • Присвойте созданной таблице имя: выделите любую ячейку таблицы, перейдите на вкладку Конструктор, введите имя — «Источник».

excel, имя форматированной таблицы

Таблица «Источник» создана. Теперь можно обращаться к таблице и её элементам по имени. Например, название заголовка таблицы будет выглядеть так: =Источник[#Заголовки]

excel, формулы, форматированных, умных, таблицах

Столбец таблицы: =Источник[Материалы]

Чтобы появилась такая формула, нажмите равно = и выделите столбец, его имя появится в строке формул.

excel, формулы, форматированных, умных, таблицах

Шаг 2. Создайте выпадающий список с группами.

  • Выделите ячейки в столбце «группа».
  • Перейдите в меню Данные -> Проверка данных.
  • В появившемся окне выберите тип данных — Список, а в строке Источник введите формулу =ДВССЫЛ(«Источник[#Заголовки]»)

Готово! В столбце «группа» появился выпадающий список.

excel, выпадающий список

Шаг 3. Создайте выпадающий список со статьями.

  • Выделите столбец «статья» в таблице.
  • Перейдите в меню Данные -> Проверка данных.
  • В появившемся окне выберите тип данных — Список, а в строке Источник введите формулу: =ДВССЫЛ(«Источник[«&$G3&»]»)
    В формуле $G3 – это первая ячейка из столбца «группа». Ссылка на столбец «зафиксирована» с помощью знака доллара $, а строка может изменяться.

excel, связанные выпадающие списки

Готово! В столбце «статья» появляется только список статей, входящих в группу.

excel, связанные выпадающие списки

Теперь в форматированную smart-таблицу можно добавлять новые группы и статьи. Добавим, например, новый столбец «Прочее», и такая группа сразу же появится в выпадающем списке.

Способ 2. Связанные выпадающие списки из таблицы с группами в первом столбце и элементами — во втором

Исходные данные: таблица с названиями групп в первом столбце, элементами групп – во втором столбце.

excel, таблица

На самом деле в сети можно найти несколько вариантов реализации этого способа. Но у них у всех есть один недостаток: такой список нужно «администрировать». Потому что таблица должна быть всегда отсортирована по названиям групп – нельзя, чтобы группы располагались произвольно. Если группы будут идти «как попало», то формула, с помощью которой это всё сделано (СМЕЩ) не сработает, и список будет создаваться с ошибкой. Т.е. пользователю нужно все время сортировать первый столбец или добавлять туда данные в алфавитном порядке. А еще потребуется записывать где-то отдельно сами названия групп и это тоже нужно будет делать «вручную».

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

Для создания списков используем форматированные (умные) таблицы, сводные таблицы, формулы СМЕЩ + ПОИСКПОЗ + СЧЁТЗ, СЧЁТЕСЛИ и диспетчер имен.

Справка:

СМЕЩ выдает ссылку на диапазон ячеек, находящийся в указанном количестве ячеек от исходной. Ссылка определяется с учетом заданного в формуле размера диапазона – числа строк и столбцов. Другими словами, этой формулой вы можете «сказать» Excel-ю на сколько ячеек он должен отступить и какой диапазон «захватить».

Синтаксис формулы СМЕЩ такой:

СМЕЩ(ссылка ; смещ_по_строкам ; смещ_по_столбцам ; [высота] ; [ширина] ), где

  • ссылка – ссылка, от которой вычисляется смещение, может быть адресом ячейки или группы ячеек;
  • смещ_по_строкам – количество строк, которые требуется отсчитать вверх или вниз от начальной ссылки;
  • смещ_по_столбцам – количество столбцов, которые требуется отсчитать влево или вправо от начальной ссылки;
  • [высота] – число строк возвращаемой ссылки (необязательный);
  • [ширина] – число столбцов возвращаемой ссылки (необязательный).

Ищет нужный нам элемент в диапазоне ячеек и выдает его порядковый номер в диапазоне.

Синтаксис ПОИСКПОЗ такой:

ПОИСКПОЗ( искомое_значение ; просматриваемый_массив ; [тип_сопоставления] )

  • искомое_значение – значение, которое ищем. Может быть числом, текстом, логическим значением или ссылкой на ячейку;
  • просматриваемый_массив – диапазон ячеек, где будем искать нужное значение;
  • [тип_сопоставления] — число -1, 0 или 1, которое показывает, как сравнивать искомое значение с ячейками просматриваемого массива. Не переживайте, если не поняли, когда и что ставить, потому что 90% случаев нужно выбирать ноль.

Подробнее про эту формулу можно посмотреть в видеоинструкции: Какая формула лучше ВПР и работает с несколькими критериями

СЧЁТЗ просто считает количество непустых ячеек в диапазоне.

Почти тот же СУММЕСЛИ, только проще – подсчитывает количество значений, соответствующих определенному условию.

Пошаговая инструкция по созданию списков

Шаг 1. Преобразуйте исходные данные в форматированную smart-таблицу.

  • Выделите таблицу со статьями и преобразуйте ее в smart-таблицу: перейдите в меню Главная -> Форматировать как таблицу.

excel, таблица

  • В появившемся окне обязательно проверьте галочку рядом с надписью «Таблица с заголовками». Если ее нет – поставьте.

excel, форматирование таблицы

  • Присвойте таблице имя: на вкладке Конструктор введите имя таблицы — «статьи».

excel, имя форматированной таблицы

Форматированная таблица «статьи» создана.

Шаг 2. Создайте две сводные таблицы – одну с названиями групп, вторую — со статьями.

Для чего используем сводные таблицы? Во-первых, чтобы вручную не создавать перечень групп, а во-вторых, как уже упоминали выше, чтобы вручную не сортировать справочники статей (что иногда забывают сделать пользователи, а это важно, иначе формула СМЕЩ «срабатывает» с ошибкой). «Ручную» работу сделает вместо нас кнопка «Обновить» в меню Данные — нажимаем ее каждый раз после появления новых статей.

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

excel, сводные таблицы

  • Создайте вторую сводную таблицу со статьями: меню Вставка -> Сводная таблица. В область строк поместите группы и статьи.

excel, сводные таблицы

  • Форматируем сводную таблицу со статьями и придаем ей вид справочника.
    Выделите любую ячейку таблицы, перейдите на вкладку Конструктор -> Макет отчета -> Показать в табличной форме. У нас получится почти та таблица, которая нам нужна, но в ней автоматом появятся промежуточные суммы. Чтобы их отключить, идем: Промежуточные итоги -> Не показывать промежуточные суммы.

  • Скройте строку «Общий итог» в обеих таблицах справочников. Перейдите на вкладку Конструктор -> Общие итоги -> Отключить для строк и столбцов.

excel, сводные таблицы

В итоге получатся два справочника, как на рисунке ниже. Для удобства разместите таблицы рядом на одном листе – с первой строки и в столбцах A, C и D, как на рисунке (это поможет разобраться с формулой СМЕЩ).

excel, сводные таблицы

Шаг 3. Создайте именованные диапазоны с помощью диспетчера имен.

  • Откройте диспетчер имен: в меню Формулы -> Диспетчер имен.

excel, диспетчер имен

  • В появившемся окне нажмите кнопку «Создать».

excel, диспетчер имен, создать имя

    • Введите имя «ГруппыСписок» и формулу, которая будет определять диапазон:
      =СМЕЩ($A$1;1;0;СЧЁТЗ($A:$A)-1;1)

Пояснения к формуле:

СМЕЩ ( $A$1 ; 1 ; 0 ; СЧЁТЗ( $A:$A ) – 1 ; 1 ) – определяет адрес ячеек с названиями групп.

    • $A$1 – это первая ячейка в справочнике групп.
    • Следующие цифры 1 ; 0 – это отступ от первой ячейки на 1 строку и 0 столбцов (отступ нужен, потому что в первой ячейке название столбца).
    • СЧЁТЗ( $A:$A ) – 1 Считаем число непустых ячеек в столбце А. Вычитаем -1, потому что название столбца не должно быть в списке.
    • Последнее число 1 в формуле – это количество столбцов.

excel, диспетчер имен

Нажмите ОК. Названия листов в формуле появятся сами.

  • Точно так же создайте в диспетчере имен список статей.
    Введите имя ГруппыСтатей, а для диапазона – формулу:
    =СМЕЩ($C$1;ПОИСКПОЗ($G2;$C:$C;0)-1;1;СЧЁТЕСЛИ($C:$C;$G2);1)

Пояснения к формуле:

СМЕЩ ( $C$1 ; ПОИСКПОЗ ( $G2 ; $C:$C ; 0 ) – 1 ; 1 ; СЧЁТЕСЛИ( $C:$C ; $G2 ) ; 1 ) – определяет адрес ячеек с названиями статей из группы с помощью ПОИСКПОЗ, которая ищет группы статей.

  • $С$1 – это первая ячейка в столбце с группами.
  • ПОИСКПОЗ ( $G2 ; $C:$C ; 0 ) – 1 Определяет, на сколько строк нужно отступить от первой ячейки.ПОИСКПОЗ ищет название группы, выбранной в таблице с данными (столбец $G) среди ячеек справочника (столбец $C). В адресе ячейки $G2 не «закрепляем» номер строки с помощью знака $, чтобы формула работала для каждой ячейки в столбце.
  • Следующая цифра 1 – это отступ на 1 столбец вправо, т.е. переходим к столбцу «статьи», откуда нужно брать данные.
  • СЧЁТЕСЛИ( $C:$C ; $G2 ) – считаем число ячеек в столбце $C, в которых названия групп такие же, как в столбце с данными. Здесь тоже не «закрепляем» номер строки у ячейки $G2 с помощью знака $.
  • Последнее число 1 в формуле – это количество столбцов.

excel, диспетчер имен

Шаг 4. Создайте выпадающие списки.

Выделите ячейки в столбце «группы», перейдите в меню Данные -> Проверка данных. Задайте тип данных Список, источник =ГруппыСписок.

excel, проверка данных

То же самое – для статей. Тип данных – список, источник =ГруппыСтатьи

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

excel, связанные выпадающие списки

Like this post? Please share to your friends:
  • Связанные списки в excel смещ
  • Связанные списки в excel макрос
  • Связанные списки excel умные таблицы
  • Связанные раскрывающийся список excel
  • Связанные рабочие книги excel