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.

​Смотрите также​​ это в акт​ представления (цветов, шрифтов​​ показывать в выпадающем​ любое, но обязательно​​ функция​​ первичного выпадающего списка.​Toyota​​, создадим алфавит. Алфавит​ правилами Проверки данных,​ выпадающего списка (ячейки​ данных.​=ЕСЛИ(Таблица!C$7=Списки!$F$5;​СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0));​Excel.​
​ добавлении строк или​​ всё. Можно подкорректировать​Выпадающие списки в Excel​​KolyvanOFF​
​ и т.д.)​ списке. По умолчанию​ без пробелов и​ПОИСКПОЗ (MATCH)​ Т.е. если в​. В Excel 2003​ сформируем с помощью​ то можно использовать​A1:A4​Если в поле Источник​СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0));​СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!A8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!A8)))​Сначала выберем из​ столбцов в таблицу,​
​ размер диапазона. Мы​бывают разные. Есть​: как вариант​При использовании этого способа,​ — 8, но​ начать с буквы!)​, которая, попросту говоря,​ нем есть текст​
​ и старше -​ формулы​
​ инструмент Выделение группы​
​на листе Список).​ указать через точку​СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!B8)))​Эту формулу можно посмотреть​ выпадающего списка в​ все диапазоны в​ уменьшили размер диапазона​ простой​KolyvanOFF​ также возможно указывать​
​ можно больше, чего​ для выделенного диапазона​ выдает порядковый номер​ с пробелами, то​ это можно сделать​=СИМВОЛ(192+СТРОКА(Z1)-1)​ ячеек (Главная/ Найти​Для этого:​
​ с запятой единицы​Выражение ЕСЛИ(Таблица!С$7=Списки!$F$5; в данном случае​ через Диспетчер имен (имя​ ячейке Е1, чтобы​ таблице увеличиваются автоматически,​ «Юбка», чтобы в​раскрывающийся список Excel в​: _Boroda_, Классный список!​ в качестве​
​ не позволяет предыдущий​ (например​​ ячейки с выбранной​ придется их заменять​ в меню​где 192 –​ и выделить/ Выделение​выделяем​ измерения шт;кг;кв.м;куб.м, то​
​ выражение вернет значение​ формулы — Выбор),​ эта ячейка не​ не нужно их​ выпадающем списке не​ ячейке​_Boroda_​
​ListFillRange​ способ.​ ​Товары​
​ маркой (G7) в​ на подчеркивания с​Вставка — Имя -​ код русской буквы​ группы ячеек). Опция​А1:А4​ выбор будет ограничен​ ЛОЖЬ;​ но так как​ была пустой.​ настраивать.​ было пустой строки.​. Есть​:​
​не только одномерные​После нажатия на​). Нажмите​ заданном диапазоне (столбце​​ помощью функции​ Присвоить (Insert -​ А.​ Проверка данных этого​,​ этими четырьмя значениями.​Так как предыдущее выражение​ формула использует относительную​
​Затем, как в​​Остается просто вносить​Теперь устанавливаем​​многоуровневые зависимые выпадающие списки​
​KolyvanOFF​ диапазоны. Можно, например​ОК​ОК​ А)​ПОДСТАВИТЬ (SUBSTITUTE)​ Name — Define).​С помощью формулы массива​ инструмента позволяет выделить​нажимаем Формулы/ Определенные имена/​Теперь смотрим, что получилось.​
​ =ЛОЖЬ, то работает​ адресацию в ссылках​ первом случае, ставим​ нужные данные в​
​первый выпадающий список в​​ в Excel​, Вы ответы-то в​​ задать диапазон из​​списком можно пользоваться.​.​
​сдвиг_вправо = 1, т.к.​
​, т.е. формула будет​В Excel 2007​=ЕСЛИОШИБКА(ИНДЕКС($C$4:$C$35;​ ячейки, для которых​ Присвоить имя​ Выделим ячейку​ второе условие функции ЕСЛИ(),​ на ячейки Таблица!B$7 и Таблица!A8,​ в пустой ячейке​ таблицу и все.​ ячейки столбца А​
​. Это, когда, в​ теме читали?​ двух столбцов и​Чтобы вместо порядкового номера​Выделите ячейки (можно сразу​ мы хотим сослаться​ выглядеть как =ДВССЫЛ(ПОДСТАВИТЬ(F3;»​ и новее -​НАИМЕНЬШИЙ(ЕСЛИ(СЧЁТЕСЛИ(Фамилии;$C$4:$C$35&»*»)>0;​ проводится проверка допустимости​
​в поле Имя вводим​B1​ т.е. выражение СМЕЩ(Списки!$D$4;ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0);0;СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!B8))​ то для ее​ (не в таблице)​ Остальное сделает сама​
​.​ зависимости от выбранных​Это как раз​ нескольких строк, указав​ элемента выводилось его​ несколько), в которых​ на модели в​ «;»_»))​ на вкладке​СТРОКА($C$4:$C$35);»»);СТРОКА(Z1))-СТРОКА($C$3));»»)​ данных (заданная с​ Список_элементов, в поле​. При выделении ячейки​функция СМЕЩ() выбирает из столбца D​
​ просмотра нужно предварительно​ знак «равно». Выделяем​ таблица — изменит​У нас, в​ данных в первом​
​ и есть тот​ дополнительно, что выводить​ название можно дополнительно​ хотите получить выпадающий​ соседнем столбце (В)​Надо руками создавать много​Формулы (Formulas)​выведем в отдельный столбец​
Связанные выпадающие списки в Excel.​ помощью команды Данные/​ Область выбираем Книга;​ справа от ячейки​ (Потомки) все значения,​
​ выделить ячейку​ данные столбца А​ диапазоны и внесет​ примере, мы выделяем​ столбце выпадающего списка,​ самый способ, на​ нужно два столбца​

excel-office.ru

Как сделать связанные выпадающие списки в Excel легко.

​ использовать функцию​ список и выберите​​размер_диапазона_в_строках — вычисляем с​ ​ именованных диапазонов (если​с помощью​​ только те буквы​ Работа с данными/​Теперь на листе Пример,​ появляется квадратная кнопка​ у которых Родитель​
​В8​ (без названия столбца).​ новые данные в​ диапазон A2:A3. И,​ меняется выпадающий список​ который я ругаюсь.​ (свойство​ИНДЕКС (INDEX)​ в меню (на​
​ помощью функции​ у нас много​Диспетчера имен (Name Manager)​ алфавита, с которых​ Проверка данных). При​ выделим диапазон ячеек,​ со стрелкой для​ = Америка. ​
​на листе Таблица.​ У нас -​ соответствующие выпадающие списки.​
​ через «Проверки данных»​ в ячейках второго​ Что мне там​ColumnCount​, которая умеет выводить​ вкладке)​СЧЕТЕСЛИ (COUNTIF)​ марок автомобилей).​. Затем повторим то​ начинаются фамилии в​​ выборе переключателя Всех​ которые будут содержать​ выбора элементов из​
​Для этого выражение ПОИСКПОЗ(Таблица!B8;Списки!$C$5:$C$30;0) возвращает номер​ О том как​
​ это диапазон А2:А4.​У нас есть​ на закладке «Данные»,​​ столбца, третьего, т.д.​ не нравится:​=2). Тогда можно получить​ содержимое нужной по​Данные — Проверка (Data​, которая умеет подсчитать​Этот способ требует наличия​ же самое со​ перечне.​
​ будут выделены все​ Выпадающий список.​ выпадающего списка.​ позиции первой ячейки​ работает эта формула​Копируем формулу выделенного​ такие данные на​ устанавливаем выпадающие списки.​Здесь разберём​1. Куча имен.​ весьма привлекательные результаты,​ счету ячейки из​ — Validation)​
​ количество встретившихся в​ отсортированного списка соответствий​ списками Форд и​С помощью Проверки данных​ такие ячейки. При​вызываем Проверку данных;​Недостатки​
​ в столбце Родитель,​ см. в разделе​
​ диапазона. Выходим из​ листе.​ Тип данных –​двухуровневый зависимый выпадающий список​2. При изменении​ окупающие все потраченные​​ диапазона:​. Из выпадающего списка​ списке (столбце А)​ марка-модель вот такого​
​ Ниссан, задав соответственно​ создадим в ячейке​ выборе опции Этих​в поле Источник вводим​этого подхода: элементы​ содержащей значение Америка.​ статьи ниже. ​ ячейки клавишей «Esc».​Сделаем из этих данных​ выбираем «Список». А​ в Excel​ данных в шапке​ на дополнительные настройки​Этот способ частично напоминает​Тип данных (Allow)​ нужных нам значений​ вида:​ имена диапазонам​С1​
​ же выделяются только​
​ ссылку на созданное​
Раскрывающийся список в Excel.​ списка легко потерять​ Это позиция номер​ПРИМЕЧАНИЕ​ Выделяем ячейки, в​ форматированную таблицу Excel.​ в строке «Источник»​.​ все рушится.​ усилия:​ предыдущий. Основное отличие​выберите вариант​Раскрывающийся список Excel. ​ — марок авто​Для создания первичного выпадающего​ ​Ford​
​выпадающий список, содержащий​ те ячейки, для​ имя: =Список_элементов.​ (например, удалив строку​ 4. Именно с​
​: Функция ЕСЛИ() нужна для формирования​ которых будем создавать​ Делаем активной любую​ указываем имя диапазона.​Например, в первом​3. Имя должно​Способ 1.​ в том, что​Список (List)​
​ (G7)​ списка можно марок​и​ отобранные на предыдущем​ которых установлены те​Примечание​ или столбец, содержащие​ этой позиции, но​ списка самого верхнего​ выпадающие списки второго​ ячейку этих данных.​ Например, «=Наименование_товара».​ столбце из выпадающего​ начинаться с буквы​Примитивный​
​ на лист добавляется​и введите в​размер_диапазона_в_столбцах = 1, т.к.​ можно воспользоваться обычным​Nissan​ шаге буквы алфавита:​ же правила проверки​Если предполагается, что​ ячейку​ из другого столбца,​ уровня иерархии -​
​ уровня. У нас​ Заходим на закладку​Подробнее, как установить​ списка выбрали «Пальто».​ или подчеркивания, не​Способ 2.​ не элемент управления,​ строчку​ нам нужен один​ способом, описанным выше,​.​=СМЕЩ($D$4;;;СЧЁТЕСЛИ($D$4:$D$32;»*?»))​ данных, что и​ перечень элементов будет​
​B1​
​ будет формироваться наш выпадающий​
Связанные выпадающие списки в Excel.​ у него нет​ – это диапазон​ «Главная», в разделе​ выпадающий список, смотрите​ Во втором столбце​ содержать пробел и​Стандартный​
​ а элемент ActiveX​Источник (Source)​ столбец с моделями​ т.е.​При задании имен помните​
​Ячейке​ для активной ячейки.​ дополняться, то можно​); не удобно вводить​ список;​ Родителя.​ F1:F4 (окрашен зеленым​ «Стили» нажимаем кнопку​

excel-office.ru

Многоуровневый (3+) связанный список (типа предок-родитель) в MS EXCEL

​ в статье «Выпадающий​ появился выпадающий список​ прочие «недопустимые» знаки.​Способ 3.​»Поле со списком»​знак равенства и​В итоге должно получиться​дать имя диапазону D1:D3​

​ о том, что​С1​Примечание​ сразу выделить диапазон​ большое количество элементов.​Теперь для выпадающего списка осталось указать​

  • ​Для ввода формулы выделите​
  • ​ цветом). Через функцию​ «Форматировать как таблицу»​

​ список в Excel».​ размеров этого пальто.​shuker​Элемент управления​из раскрывающегося набора​ имя диапазона (т.е.​ что-то вроде этого:​ (например​

​ имена диапазонов в​присвоим имя Буква.​:​ большего размера, например,​

Решение

​ Подход годится для​ его длину. Для​ ячейку​

​ «Проверка данных» устанавливаем​
​ и выбираем первый​
​Устанавливаем​

​ А, если в​: Видимо я совсем​Способ 4.​ под кнопкой​=Товары​Осталось добавить выпадающий список​Марки​ Excel не должны​Для создания выпадающего списка,​Если выпадающий список​​А1:А10​​ маленьких (3-5 значений)​ этого используем выражение СЧЁТЕСЛИ(Списки!$C$5:$C$30;Таблица!В8).​B8​ выпадающий список. В​ шаблон таблицы.​

​зависимые выпадающие списки в​​ первом столбце этой​ не знаю как​Элемент ActiveX​Вставить (Insert)​).​

​ на основе созданной​) с помощью​​ содержать пробелов, знаков​​ содержащего перечень фамилий,​ содержит более 25-30​

​. Однако, в этом​

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

​с вкладки​Нажмите​ формулы к ячейке​Диспетчера имен (Name Manager)​ препинания и начинаться​ начинающихся на выбранную​

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

​ введите формулу:​ окна вставляем скопированную​

​ строки «Таблица с​.​ выпадающего списка выбрали​

  • ​ получился, второй не​низкая​Разработчик (Developer)​ОК​ G8. Для этого:​с вкладки​
  • ​ обязательно с буквы.​ букву, создадим Именованный​ с ним становится​
  • ​ может содержать пустые​: быстрота создания списка.​ с городами и​Нажмите ОК. ​ формулу.​ заголовками».​Это второй уровень​ «Брюки», то во​ пойму по какому​средняя​:​.​выделяем ячейку G8​Формулы (Formulas)​ Поэтому если бы​ диапазон Вложенный_диапазон со​

Как работает эта формула?

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

  • ​Но формулу снова​Нажимаем «ОК». Получилась такая​ выпадающих списков.​ втором столбце будет​ принципу должен осуществлять​высокая​Механизм добавления тот же​Все! Наслаждайтесь!​
  • ​выбираем на вкладке​или в старых​ в одной из​ следующей формулой:​
  • ​ одновременно отображает только​Избавиться от пустых строк​ можно разместить в​ в таблицу на​B8​ дорабатываем. Ставим две​

​ таблица.​Внимание!​​ выпадающий список с​​ поиск. Приложил исходный​Возможность настройки шрифта, цвета​

​ — выбираем объект​Важный нюанс. В качестве​Данные (Data)​ версиях Excel -​

​ марок автомобилей присутствовал​
​=СМЕЩ($A$1;ПОИСКПОЗ(Буква&»*»; Фамилии;0);;​
​ 8 элементов, а​

  • ​ и учесть новые​ диапазоне на листе​ листе Списки нужное​
  • ​, сформируйте выпадающий список​ круглые скобки, четыре​Сама эта таблица уже​Перед тем, как​
  • ​ размерами брюк.​ файл, который хочу​ и т.д.​ из списка и​
  • ​ источника данных для​команду​ через меню​ бы пробел (например​СЧЁТЕСЛИ(Фамилии;Буква&»*»))​ чтобы увидеть остальные,​ элементы перечня позволяет​ EXCEL, а затем​ количество строк. Чтобы​ на основе Проверки​
  • ​ кавычки, два знака​ имеет имя. Смотрим​ устанавливать выпадающие списки​

​Итак, сделаем две​ сделать для облегчения​нет​ рисуем его на​ списка может выступать​Проверка данных (Data validation)​Вставка — Имя -​ Ssang Yong), то​Функция СЧЁТЕСЛИ() подсчитывает фамилии,​ нужно пользоваться полосой​ Динамический диапазон. Для​

​ в поле Источник​ не исправлять формулу,​ данных. В поле​ «&» и, вместо​ в Диспетчере имен.​​ в столбце В,​​ таблицы. Саму таблицу​ работы. На листе​нет​​ листе. А вот​​ и динамический именованный​или в меню​ Присвоить (Insert -​ его пришлось бы​ начинающиеся с выбранной​ прокрутки, что не​

​ этого при создании​ инструмента Проверки данных​ строки следует добавлять,​ Тип данных укажите​ слова «пальто» (это​Название этой таблицы можно​ выберите в первой​ сделаем на странице​

excel2.ru

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

​ 1 пометил красным​да​ дальше начинаются серьезные​ диапазон, например прайс-лист.​Данные — Проверка (Data​ Name — Define)​ заменить в ячейке​ буквы. Результат соответствует​ всегда удобно.​ Имени Список_элементов в​ указать ссылку на​ вставляя их между​ Список, в поле​ имя выделенного диапазона),​ поменять. Нажимаем на​ верхней ячейке столбца​ книги «Таблица». А​

​ где хочется видеть​Количество отображаемых строк​ отличия от предыдущего​

​ Тогда при дописывании​ — Validation)​выбрать на вкладке​ и в имени​ высоте диапазона, возвращаемой​В EXCEL не предусмотрена​

​ поле Диапазон необходимо​ этот диапазон.​ уже существующими строками. ​ Источник введите формулу​ ставим адрес верхней​ таблицу, заходим на​ А любое значение.​

​ списки сделаем на​ сп2. Если не​

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

​всегда 8​ способа.​ новых товаров к​из выпадающего списка выбираем​Данные (Data)​ диапазона на нижнее​

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

​ странице «Размеры». У​ сложно прошу помочь​любое​Во-первых, созданный выпадающий ActiveX​ прайсу, они будут​ вариант проверки​

​команду​ подчеркивание (т.е. Ssang_Yong).​​ ПОИСКПОЗ(), принимающая в​​ Выпадающего списка. При​Использование функции СЧЁТЗ() предполагает,​ шт;кг;кв.м;куб.м введены в​ после заполнения таблицы​С помощью Маркера заполнения​ первым уровнем выпадающих​

​ в разделе «Свойства»​​ ячейка не была​ нас есть такая​ в этом.​Быстрый поиск элемента по​ список может находится​​ автоматически добавляться к​​Список (List)​Проверка данных (Data validation)​Теперь создадим первый выпадающий​ качестве аргумента [искомое_значение]​ большом количестве элементов​
​ что заполнение диапазона​
​ ячейки диапазона​

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

​ с помощью выпадающих​ скопируйте ячейку вправо​ списков.​ пишем свое название​ пустой. У нас​ таблица.​KolyvanOFF​ первым буквам​

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

​ имеет смысл сортировать​​ ячеек (​A1:A4​ списков, было изменено​ и вниз (или​Кстати, если вы​
​ таблицы. Мы написали​​ – это ячейка​И мы сделали такие​: _Boroda_, согласен. Просто​нет​ разных состояниях -​ одним часто используемым​ качестве​ вариант проверки​​ марки автомобиля. Выделите​​ позицию первой встретившейся​ список элементов и​A:A​, тогда поле Источник​ значение ячейки​ вверх и вправо): выпадающие​ выделили диапазон снизу​ имя таблицы –​ А2.​

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

​ будет содержать =лист1!$A$1:$A$4​С10​ списки всех уровней будут​ вверх, то ставите​ «Товар».​

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

​Выделяем диапазон в​Внимание!​ у тебя вижу​да​ можно настраивать его​ списков является создание​

​знак равно и​и указать в​ откройте меню​ выбранной буквы. Результат​

​ элементов (т.е. один​ ведется без пропусков​Преимущество​. Например, вместо США​ сформированы автоматически. ​

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

​ имя нашего диапазона,​
​ качестве​Данные — Проверка (Data​ соответствует смещению левой​​ выпадающий список разбить​​ строк (см. файл​
​: наглядность перечня элементов​

  • ​ выберем Мексика. Естественно,​​Наполнять выпадающие списки будем​​ Вообщем, с какой​
  • ​ все столбцы имеют​ нас – это​
  • ​ столбцов (В, С,​ применять! Спасибо!​ИНДЕКС​

​ двигать его по​ (когда содержимое одного​ т.е.​Источника (Source)​

  • ​ — Validation)​
  • ​ верхней ячейки диапазона​ на 2 и​ примера, лист Динамический​

​ и простота его​
​ значение в ячейке​ из таблицы на​ ячейки выделили диапазон,​ динамические диапазоны. Это​ В2:В3). Снова через​​ D) должны полностью​​_Boroda_​нет​ листу и менять​ списка меняется в​

​=Модели​=Марки​или нажмите кнопку​ относительно ячейки​ более).​ диапазон).​ модификации. Подход годится​D10​

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

​Вуаля!​

​или просто выделить​Проверка данных (Data Validation)​A1​Например, чтобы эффективно работать​Используем функцию ДВССЫЛ()​ для редко изменяющихся​не изменится (в​ файл примера):​ указываете (первую выделенную​ добавим в столбце​ выбираем «Тип данных»​

​ в первом столбце​​shuker​нет​ режиме ввода, когда​ в другом).​4 способа создать выпадающий​ ячейки D1:D3 (если​

​на вкладке​.​ со списком сотрудников​

​Альтернативным способом ссылки на​ списков.​ ней останется один​Для наглядности различные уровни​ в диапазоне). Мы​ ячейку, то диапазон​

  • ​ – список. А​ (у нас –​
  • ​,​Возможность создания связанных выпадающих​ единственное, что можно​Этот способ представляет собой​
  • ​ список в ячейках​ они на том​Данные (Data)​
  • ​В Диспетчере имен должны​ насчитывающем более 300​ перечень элементов, расположенных​Недостатки​

​ из городов США).​ выделены Условным форматированием.​ выделили диапазон сверху​ увеличится, и это​ в строке «Источник»​ это наименование товара​shuker​ списков​ — выбирать из​ вставку на лист​ листа​ же листе, где​если у вас​ отображать 3 имени:​

​ сотрудников, то его​ на другом листе,​: если добавляются новые​ Чтобы подсказать пользователю​Заполнение таблицы на листе Списки​

​ вниз, п.э. поставим​
​ слово сразу автоматически​ пишем такую формулу​ – ячейки А2:А4​: Посмотрел, спасибо, список​нет​ него данные. Переключение​ нового объекта -​Автоматическое создание выпадающих списков​ список).​ Excel 2007 или​Наконец, с помощью Проверки​ следует сначала отсортировать​ является использование функции​ элементы, то приходится​ об ошибке, используем​ нужно производить следующим​ в формуле адрес​ попадет в выпадающий​ =ДВССЫЛ(А2)​ должны совпадать с​ появился, но не​да​ между этими режимами​ элемента управления «поле​ при помощи инструментов​А вот для зависимого​

​ новее. Затем из​​ данных создадим в​
​ в алфавитном порядке.​ ДВССЫЛ(). На листе​ вручную изменять ссылку​ Условное форматирование.​ образом:​ ячейки Е1. Формула​ список. То же​Этой формулой мы говорим​ ячейками В1:D1).​ в том месте,​нет​

​ происходит с помощью​ со списком» с​ надстройки PLEX​ списка моделей придется​ выпадающего списка​ ячейке​ Затем создать выпадающий​ Пример, выделяем диапазон​ на диапазон. Правда,​Формула в правиле Условного​Столбец Номер уровня содержит​

​ получилась такая.​ самое и со​ Excel, что список​Если наименований много,​ моя вина, чт​shuker​ кнопки​ последующей привязкой его​Выбор фото из выпадающего​ создать именованный диапазон​Тип данных (Allow)​D1​ список, содержащий буквы​ ячеек, которые будут​ в качестве источника​ форматирования ищет в​ числовые коды уровней.​=ДВССЫЛ(«Товар[«&$E1&»]»)​

excel2.ru

Вложенный связанный список в MS EXCEL

​ столбцом. Пример посмотрим​ нужно показывать, в​ то столбец можно​ оне указал точное​: Добрый день!​Режим Конструктора (Design Mode)​ к диапазонам на​

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

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

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

​Разработчик (Developer)​В Excel 2007/2010 откройте​ удалением уже использованных​(OFFSET)​и в поле​​ буквы из ячейки​​ только те фамилии,​ в Источнике указываем​ например,​

​ Если такая пара​
​ Регионов. Можно создать​ на другом листе,​ сделали. Всё. Осталось​

​ А.​

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

​:​ вкладку​ элементов​, который будет динамически​Источник (Source)​

​С1​ которые начинаются с​​ =ДВССЫЛ(«список!A1:A4»).​​A1:A100​ не найдена, то​ любое количество уровней;​

​ тогда в формулу​

​ сделать выпадающие списки.​​Здесь все просто.​​ «Как поменять местами​

​ 1. Помогите еще​ что нельзя в​Если эта кнопка нажата,​Разработчик (Developer)​Динамическая выборка данных для​ ссылаться только на​

​выделите ячейки с​
​. Формула проста: =Вложенный_диапазон.​

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

​В итоге, мы должны​ списком. Для решения​

​: при переименовании листа​ список может содержать​ заливкой.​​ из столбца Потомок​​ напишем название листа​ нужного диапазона, чтобы​ диапазона (столбца) состоит​​ в Excel» тут.​​shuker​

​ вставлять пробелы или​ настраивать параметры выпадающего​ версиях — панель​​ ИНДЕКС и ПОИСКПОЗ​​ марки. Для этого:​​ ячейки в нашем​​ получить работающий выпадающий​ такой задачи может​ – формула перестает​​ пустые строки (если,​​При заполнении ячеек данными,​ более верхнего уровня;​​ и поставим восклицательный​​ потом не писать​ из нескольких слов.​Как настроить Excel,​

excel2.ru

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

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

​: Получилось!!!! Спасибо!!!​ тире. Например Орехово-Зуево​​ списка, нажав соседнюю​​ инструментов​У кого мало времени​Нажмите​ примере). После нажатия​ список в ячейке​ быть использована структура​ работать. Как это​ например, часть элементов​ часто необходимо ограничить​Столбец Потомок связывает значений​ знак.​ его вручную.​ Например, «Зимние пальто».​ чтобы при добавлении​Anton_98rus​ выбираем из главного​ кнопку​​Формы (Forms)​​ и нужно быстро​Ctrl+F3​ на​

​D1​ Связанный список или​ можно частично обойти​ была удалена или​

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

​ возможность ввода определенным​ из 2-х соседних​Как еще можно​Первый уровень связанных выпадающих​ А в имени​ ячеек в список​​: Ребят добрый день.​​ списка а районы​Свойства (Properties)​через меню​ ухватить суть -​​или воспользуйтесь кнопкой​ОК​. Выбрав в ячейке​​ Вложенный связанный список.​ см. в статье​ список только что​​ списком значений. Например,​​ уровней. Нужно иметь​​ применить готовые шаблоны​​ списков в Excel.​ диапазона нельзя ставить​ столбца A, автоматически​ Прошу у Вас​ его уже не​​, которая откроет окно​​Вид — Панели инструментов​​ смотрим обучающее видео:​​Диспетчер имен (Name manager)​

​первый выпадающий список​С1​Если Ваш Выпадающий список​ Определяем имя листа.​ был создан). Чтобы​ имеется ячейка, куда​ ввиду, что если​ таблиц Excel, читайте​В любой пустой​ пробел. Имя диапазона​ писалось название нового​ помощи.​ отображаются.​ со списком всех​ — Формы (View​Кому интересны подробности и​на вкладке​

​ готов:​, например, букву «В»,​ стал очень длинным​Ввод элементов списка в​ пустые строки исчезли​​ пользователь должен внести​ мы начали заполнять,​​ в статье «Готовые​​ ячейке пишем «=»​​ напишем так «Зимние_пальто».​​ столбца, смотрите в​​Открыл мебельное производство​А потому все,​ возможных настроек для​ — Toolbars -​​ нюансы всех описанных​​Формулы (Formulas)​​Теперь создадим второй выпадающий​​ выпадающий список в​​ и с ним​​ диапазон ячеек, находящегося​ необходимо сохранить файл.​ название департамента, указав​ например, все страны​ таблицы Excel».​​ (знак «равно»), выделяем​​ Но формула ДВССЫЛ​ статье «Как добавить​

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

​ и делаю таблицу​ что Вы Правила​ выделенного объекта:​ Forms)​ способов — дальше​. В версиях до​ список, в котором​​ ячейке​​ стало не удобно​​ в другой книге​​Второй недостаток: диапазон источника​ где он работает.​

​ Америки, то нужно​

​Как сделать связанный​

​ ячейки шапки таблицы​ не найдет этот​ столбец в Excel​ расчета стоимости мебели,​

​ форума не читаете​​Самые нужные и полезные​​. Если этой вкладки​ по тексту.​ 2003 это была​ будут отображаться модели​

​D1​​ работать, то создание​

  • ​Если необходимо перенести диапазон​ должен располагаться на​ Логично, предварительно создать​ полностью закончить этот​​ выпадающий список, фамилии​​ – это будет​ диапазон. Тогда формулу​ автоматически».​ и дабы не​ и пример не​ свойства, которые можно​ не видно, то​Один щелчок правой кнопкой​ команда меню​ выбранной в первом​
  • ​будет содержать фамилии​ вложенного связанного списка​ с элементами выпадающего​ том же листе,​ список департаментов организации​ список, затем переходить​ в котором можно​ первый выпадающий список.​ нужно написать так.​​Как сделать в Excel​​ округлять стоимость ЛДСП​ кладете.​ и нужно настроить:​
  • ​ нажмите кнопку​ мыши по пустой​Вставка — Имя -​ списке марки. Также​

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

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

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

​ и позволить пользователю​ к следующему региону.​ выбирать по алфавиту,​Копируем это адрес. Нажимаем​ =ДВССЫЛ(ПОДСТАВИТЬ(A2;» «;»_»))​

  • ​ динамический диапазон​ для всех и​​_Boroda_​​ListFillRange​​Офис — Параметры Excel​​ ячейке под столбцом​​ Присвоить (Insert -​​ как в предыдущем​А​Часто при вводе данных​​ книгу (например, в​ список, т.к. для​ лишь выбирать значения​
  • ​ Выполнение этого требования​​ смотрите в статье​​ клавишу «Esc» -​​Если список на​
  • ​- чтобы размер​ тем самым не​​: Как я уже​​- диапазон ячеек,​-​​ с данными, команда​ ​ Name — Define)​​ случае, откройте окно​, но только те, которые​ в таблицу пользуются​ книгу Источник.xlsx), то​ правил Проверки данных нельзя​

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

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

​ Предположим, что в​

​в книге Источник.xlsx создайте​

​ другие листы или​ ускорить процесс ввода​ Выпадающие списки формируются​ алфавиту».​Теперь выделяем ячейки,​ название этого листа.​ ячеек менялся автоматически,​

​ сделать табличку с​​А без прмера​​ мышью диапазон он​ ленте (Office Button​(Choose from drop-down list)​ (например​Источник​Этот фокус основан на​ таблицу необходимо вводить​ необходимый перечень элементов;​ книги (это справедливо​

​ и уменьшить количество​ именно из этого​

​Для сложных иерархических структур​

  • ​ в которые будем​ Напишем так. =ДВССЫЛ(»Размеры!А2:А4»)​ смотрите в статье​
  • ​ выпадающими взаимосвязаными списками.​ могу сказать только​​ не даст, надо​​ — Excel Options​или нажать сочетание​Модели​нужно будет ввести​ применении функции​ фамилии, выбирая их​
  • ​в книге Источник.xlsx диапазону​ для EXCEL 2007​ опечаток.​ столбца.​
  • ​ с тремя и​ устанавливать выпадающий список.​​Нажимаем «ОК». Теперь​​ «Чтобы размер таблицы​Сама суть вопроса:​ одно — Вы​ просто вписать его​ — Show Developer​ клавиш​
  • ​) и в поле​ вот такую формулу:​ДВССЫЛ (INDIRECT)​

​ из длинного списка.​ ячеек содержащему перечень​

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

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

  • ​ Мы выделили диапазон​
  • ​ во втором столбце​​ Excel менялся автоматически».​​Мы имеем несколько​​ создаете кучу именованных​​ руками с клавиатуры​​ Tab in the​ALT+стрелка вниз​
  • ​Ссылка (Reference)​=ДВССЫЛ(F3)​​, которая умеет делать​​ Если длина списка​ элементов присвойте Имя,​​Избавимся сначала от второго​​ с помощью Проверки​ список в ячейке​ Многоуровневый связанный список​​ Е1:Е4 (окрашен в​

​ установлены выпадающие списки,​

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

  • ​Теперь нужно присвоить​ производителе(Еггер, Кроношпан,Невский ламинат)​ диапазонов (есть такой,​
  • ​ (например, Лист2!A1:A5)​ Ribbon)​. Способ не работает,​
  • ​в нижней части​или =INDIRECT(F3)​
  • ​ одну простую вещь​ более 30 элементов,​ например СписокВнеш;​
  • ​ недостатка – разместим​ данных ​B8 ​

planetaexcel.ru

Выпадающий список в ячейке листа

Видео

​ типа Предок-Родитель. Теперь​ желтый цвет). Вставляем​ которые меняются, в​ имена всем этим​

​ у каждого производителя​ на мой взгляд​LinkedCell​Найдите значок выпадающего списка​

Способ 1. Примитивный

​ если ячейку и​ окна введите руками​где F3 — адрес​ — преобразовывать содержимое​ то процесс поиска​​откройте книгу, в которой​ ​ перечень элементов выпадающего​​или с помощью элемента​на листе Таблица (заполняем​​ структуры типа: Регион-Страна-Город-Улица​​ выпадающий список как​ зависимости от того,​ спискам. У нас​ своя цветовая гамма,​ — крайне дурной,​- связанная ячейка,​ среди элементов управления​ столбец с данными​ следующую формулу:​

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

Способ 2. Стандартный

  1. ​ ячейки с первым​ любой указанной ячейки​ может быть достаточно​ предполагается разместить ячейки​
  2. ​ списка на другом​ управления формы Поле​ Регионы). ​ можно создавать в​​ обычно. Нажимаем «Проверка​ что написано в​ ​ в списках четыре​ и соответственно для​​ способ связывания вып.​ куда будет выводиться​ форм (не ActiveX!).​​ отделяет хотя бы​​=СМЕЩ($A$1;ПОИСКПОЗ($G$7;$A:$A;0)-1;1;СЧЁТЕСЛИ($A:$A;$G$7);1)​​ выпадающим списком (замените​​ в адрес диапазона,​​ утомительным (несколько облегчает​​ с выпадающим списком;​ листе.​ со списком (см.​Выражение ЕСЛИ(Таблица!B$7=Списки!$F$5; проверяет заполняем​ MS EXCEL.​ данных», выбираем «Список».​​ ячейках первого столбца.​​ диапазона (четыре столбца).​​ каждой группы цветов​​ списков). А в​
  3. ​ выбранный из списка​ Ориентируйтесь по всплывающим​ одна пустая строка​=OFFSET($A$1;MATCH($G$7;$A:$A;0)-1;1;COUNTIF($A:$A;$G$7);1)​ на свой).​ который понимает Excel.​​ ситуацию предварительная сортировка​выделите нужный диапазон ячеек,​​В правилах Проверки данных (также​​ статью Выпадающий (раскрывающийся)​​ ли мы столбец​​В статье Многоуровневый связанный список​​ В диалоговом окне​ Получилось так.​​ Легко и быстро​​ своя цена, перебрал​ названиях именованных диапазонов​​ элемент​​ подсказкам -​

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

​ или вам нужен​​Ссылки должны быть абсолютными​​Все. После нажатия на​

​ То есть, если​

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

​ этого списка).​ вызовите инструмент Проверка​ как и Условного​ список на основе​ Регионы (самый верхний​ в MS EXCEL мы​ «Проверка вводимых значений»​Копируем формулу вниз по​ сделать так.​ в интернете кучу​ тире автоматически заменяется​ListRows​Поле со списком​ товар, который еще​ (со знаками $).​ОК​ в ячейке лежит​В этом случае имеет​

Способ 3. Элемент управления

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

  1. ​ формул и все​ на нижнее подчеркивание​​- количество отображаемых​​:​ ни разу не​ После нажатия Enter​​содержимое второго списка​​ текст «А1», то​​ смысл создать два​ Источник укажите =ДВССЫЛ(«[Источник.xlsx]лист1!СписокВнеш»);​ указать ссылку на​В этой статье создадим​​ 0) или нет.​ список. Но, у​ вставляем скопированную формулу​​ двухуровневый выпадающий список​ ​ в​​ троможу(сделать не могу)​​ (при автоматической создаче​ строк​Щелкните по значку​ вводился выше:​ к формуле будут​ будет выбираться по​
  2. ​ функция выдаст в​ выпадающих списка, один​При работе с перечнем​ диапазоны другого листа​ Выпадающий список с​​ В данном случае​​ того списка было​
    Выпадающий связанный список вȎxcel
    ​ шапки таблицы. Но​ в Excel.​Excel.​Нужно:​
  3. ​ из выделенного, например).​Font​ и нарисуйте небольшой​​Выделите ячейки с данными,​​ автоматически добавлены имена​ имени диапазона, выбранного​
  • ​ результате ссылку на​​ для букв алфавита,​ элементов, расположенным в​ (см. Файл примера):​ помощью Проверки данных​
  • ​ выражение вернет значение​​ 2 недостатка:​ формулу нужно доработать.​Другой способ сделать​Выделяем диапазон ячеек​
  • ​1. в ячейке​​shuker​- шрифт, размер,​ горизонтальный прямоугольник -​ которые должны попасть​ листов — не​ в первом списке.​ ячейку А1. Если​

​ с которых начинаются​​ другой книге, файл​​Пусть ячейки, которые должны​

​ (Данные/ Работа с​ ИСТИНА;​слишком сложные формулы;​ Допишем впереди –​​ связанный выпадающий список​​ всех списков сразу​ А1 создать вып.​: Прикрепляю пример.​ начертание (курсив, подчеркивание​

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

Способ 4. Элемент ActiveX

​ будущий список.​ в выпадающий список​ пугайтесь :)​Минусы​ в ячейке лежит​ фамилии, другой –​​ Источник.xlsx должен быть​​ содержать Выпадающий список,​ данными/ Проверка данных)​​Так как предыдущее выражение​​максимальное количество уровней -​​ ДВССЫЛ, поставим кавычки​​ в Excel, смотрите​

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

​ вместе с шапкой​ список(Еггер,Кроношпан,Невский ламинат)​Дело в том,​ и т.д. кроме​Щелкните по нарисованному списку​ (например, наименованиями товаров).​Функция​такого способа:​

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

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

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

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

​ 2003 или старше​умеет выдавать ссылку​ диапазонов не могут​

  • ​ на именованный диапазон​​ на выбранную букву.​ папке, иначе необходимо​а диапазон с перечнем​Выпадающий список можно сформировать​ ЕСЛИ(), т.е. выражение СМЕЩ(Списки!$D$4;1;0;СЧЁТЕСЛИ(Списки!$B$5:$B$30;0))​ этих недостатков, но​=ДВССЫЛ(«Товар[#Заголовки]»)​ списки в Excel​
  • ​ диапазон А1:D4. На​​2.В ячейке В1​ как это название​и​Формат объекта (Format control)​
  • ​ — выберите в​​ на диапазон нужного​ выступать динамические диапазоны​
  • ​ с именем​​Создадим в столбце​ указывать полный путь​ элементов разместим на​ по разному.​
  • ​функция СМЕЩ() выбирает из​​ исходный список, содержащий​​Нажимаем «ОК».​​ легко».​ закладке «Формулы» в​

​ создать вып. список​ оно выделено жирным​BackColor​. В появившемся диалоговом​ меню​ размера, сдвинутый относительно​ задаваемые формулами типа​Маша​A​ к файлу. Вообще​ другом листе (на​Самым простым способом создания​ столбца D (Потомки)​

​ названия стран, городов​Так как в самой​Здесь мы рассмотрим​​ разделе «Определенные имена»​​ выбора цвета​ шрифтом.​- цвет текста​ окне задайте​Вставка — Имя -​ исходной ячейки на​СМЕЩ (OFFSET)​и т.д. Такой,​​отсортированный по алфавиту​​ ссылок на другие​ листе Список в​ Выпадающего списка является​ все значения, у​ и улиц получается​

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

Итоговая сравнительная таблица всех способов

​ таблице с данными​​ другой вариант,​ ​ нажимаем функцию «Создать​​3. какую формулу​ ​_Boroda_​​ и фона, соответственно​ ​Формировать список по диапазону​​ Присвоить​
​ заданное количество строк​ ​. Для первичного (независимого)​ ​ своего рода, «перевод​ ​ перечень фамилий, см.​
​ листы лучше избегать​ файле примера).​ ​ ввод элементов списка​ ​ которых уровень равен​ ​ немного громоздким и​
​ диапазоны динамичные, то​ ​как легко​ ​ из выделенного фрагмента».​
​ вписать чтоб в​: Что значит «не​ ​Большим и жирным плюсом​ ​- выделите ячейки​ ​(Insert — Name -​
​ и столбцов. В​​ списка их использовать​ ​ стрелок» ;)​ ​ файл примера.​ ​ или использовать Личную​
​Для создания выпадающего списка,​ непосредственно в поле​ ​ 0. Из этих​ ​ его нужно наполнять​ ​ если мы добавим​

planetaexcel.ru

Связанные (зависимые) выпадающие списки (Формулы/Formulas)

​сделать связанные выпадающие списки​​ В появившемся диалоговом​
​ ячейке С1 появлялась​ подходит»? Я ж​ этого способа является​ с наименованиями товаров,​ Define),​ более понятном варианте​ можно, а вот​Возьмем, например, вот такой​Через меню Формулы/ Определенные​ книгу макросов Personal.xlsx​ элементы которого расположены​
​ Источник инструмента Проверка​ значений формируется выпадающий список.​ придерживаясь определенных правил.​ столбец, это слово​ в Excel​

​ окне оставляем галочку​​ ценна согласно стоимости​ написал — «автоматически​ возможность быстрого перехода​
​ которые должны попасть​если Excel 2007​ синтаксис этой функции​ вторичный список должен​ список моделей автомобилей​ имена/ Присвоить имя​ или Надстройки.​ на другом листе,​ данных.​Рассмотрим как формируется выпадающий список в​В результате мы должны​ автоматически увеличится диапазон​. Ещё один способ​ только у строки​

​ цвета​​ заменяется». И еще​
​ к нужному элементу​ в список​ или новее -​ таков:​ быть определен жестко,​ Toyota, Ford и​

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

​Файл прикрепил​​ я написал, что​ в списке при​Связь с ячейкой​

​ откройте вкладку​​=СМЕЩ(начальная_ячейка; сдвиг_вниз; сдвиг_вправо; размер_диапазона_в_строках;​

​ без формул. Однако,​​ Nissan:​

​ Фамилии =Лист1!$A$2:$A$153.​​ имя диапазону в​​ подхода. Один основан​​B1​С8 ​
​ 4-х уровневый связанный​ отобразится в выпадающем​ смотрите в статье​Нажимаем «ОК». Всё, имена​На форуме запрещено​ это дурной способ.​
​ вводе первых букв​
​- укажите ячейку​Формулы (Formulas)​ размер_диапазона_в_столбцах)​
​ это ограничение можно​Выделим весь список моделей​Для создания Выпадающего списка,​ файле Источник.xlsx, то​ на использовании Именованного​

​необходимо создать выпадающий​​на листе Таблица (заполняем​ список:​ списке. Например, добавим​ «Связанные выпадающие списки​ присвоены. На закладке​ задавать новые вопросы​Держите нормальным способом​ с клавиатуры(!), чего​ куда нужно выводить​и воспользуйтесь кнопкой​Таким образом:​ обойти, создав отсортированный​ Тойоты (с ячейки​ содержащего все буквы​ формулу нужно изменить​

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

​ «Формулы» нажимаем функцию​​ в чужих темах.​​ сделанное​​ нет у всех​

​ порядковый номер выбранного​​Диспетчер имен (Name Manager)​начальная ячейка — берем​ список соответствий марка-модель​ А2 и вниз​ алфавита, с которых​ на =ДВССЫЛ(«[Источник.xlsx]лист1!$A$1:$A$4»)​ функции ДВССЫЛ().​ единиц измерений. Выделим​В этом случае формула​ с помощью одной​

​ так.​​Способ, который мы​

​ «Диспетчер имен».​​ Читаем Правила, создаём​shuker​ остальных способов. Приятным​
​ пользователем элемента.​, затем​ первую ячейку нашего​ (см. Способ 2).​ до конца списка)​ начинаются фамилии в​СОВЕТ:​Используем именованный диапазон​ ячейку​ будет несколько другая,​ большой Именованной формулы:​
​Второй уровень связанных выпадающих​
​ сейчас рассмотрим удобен​Здесь перечислены все наши​ свою тему. Эта​: Спасибо огромное! Буду​ моментом, также, является​Количество строк списка​Создать​ списка, т.е. А1​Имена вторичных диапазонов должны​ и дадим этому​
​ столбце​
​Если на листе​Создадим Именованный диапазон Список_элементов,​B1​
​ т.к. в ней​=ЕСЛИ(Таблица!B$7=Списки!$F$5;​
​ списков в​ тем, что при​ диапазоны списков. Проверили​
​ тема закрыта​ пробовать перенести все​ возможность настройки визуального​- сколько строк​. Введите имя (можно​
​сдвиг_вниз — нам считает​
​ совпадать с элементами​ диапазону имя​А​ много ячеек с​ содержащий перечень элементов​и вызовем Проверку​

excelworld.ru

​ сработают относительные ссылки:​

Итак, как сделать два связанных списка в Excel: категория, подкатегория и категория более нижнего уровня. Своими словами в данном случае нижний уровень — это «подподкатегория» если она вообще существует… Но для лучшего понимания данного обучающего материала, предположим, что существует.

Два связанных выпадающих списка с формулой массива

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

Два связанных выпадающих списка.

Итак, мы имеем:

  • тип автомобиля: Легковой, Фургон и Внедорожник (Категория)
  • производитель: Fiat, Volkswagen i Suzuki (Подкатегория) и
  • модель: … немножечко их есть :-) (Подподкатегория)

В то же время мы имеем следующие данные:

следующие данные.

Этот список должен быть отсортирован в следующей очередности:

  1. Тип.
  2. Производитель.
  3. Модель.

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

Типа и Производителя.

Дело в том, что эти списки не должны иметь дубликатов записей по Типу и Производителю, находящихся в списке Моделей. Вы можете создать их с помощью инструмента «Удалить дубликаты» (например, это показано в этом видео продолжительностью около 2 минут). Когда мы это сделали, тогда …



Первый и второй связанный выпадающий список: Тип и Производитель

Для ячеек, которые должны стать раскрывающимися списками в меню «Данные» выбираем «Проверка данных» и как тип данных выбираем «Список».

Для Типа как источник данных мы просто указываем диапазон B7:B9.

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

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

используем формулу.

Модель — описание для этой записи сделаем таким же самым образом.

Третий связывающий выпадающий список: Модель

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

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

Для определения положения Легковой Fiat, мы, конечно, будем использовать функцию ПОИСКПОЗ. Смотрите:

ПОИСКПОЗ(B4&C4;F5:F39&G5:G39;0)

Вышеописанное означает, что мы хотим знать позицию Легкового Fiatа (отсюда и связь B4&C4). Где? В нашем воображаемом вспомогательном столбце, то есть: F5:F39&G5:G39. И здесь самая большая сложность всей формулы.

Остальное уже проще, а наибольшего внимания требует функция СЧЁТЕСЛИМН, которая проверяет, сколько есть Легковых Fiatов. В частности, она проверяет, сколько раз в списке встречаются такие записи, которые в столбце F5:F39 имеют значение Легковой, а в столбце G5:G39 — Fiat. Функция выглядит так:

СЧЁТЕСЛИМН(F5:F39;B4;G5:G39;C4)

А вся формула для именного диапазона раскрывающегося списка это:

Если вы планируете использовать эту формулу в нескольких ячейках — не забудьте обозначить ячейки как абсолютные ссылки!

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

  1. Создаем новое имя. Для этого выберите инструмент: «ФОРМУЛЫ»-«Определенные имена»-«Диспетчер имен»-«Создать».
  2. Диспетчер имен.

  3. При создании имени в поле «Имя:» вводим слово – модель, а в поле «Диапазон:» вводим выше указанную формулу и нажимаем на всех открытых диалоговых окнах ОК:
  4. Модель и формула.

  5. Перейдите на ячейку D4 чтобы там создать выпадающий список, в котором на этот раз в поле ввода «Источник:» следует указать ссылку на выше созданное имя с формулой =модель.
  6. Источник ссылка на имя.

Скачать зависимые выпадающие списки в Excel

Когда вы перейдете в меню «Данные», «Проверка данных» и выберите как Тип данных «список», а в поле «Источник» вставьте не саму формулу, а ссылку на имя «=модель» именного диапазона с этой формулой. Такой подход обеспечит стабильность работы третьего выпадающего списка.

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

Выпадающий список в 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, связанные выпадающие списки

Содержание

  • Создание связанных таблиц
    • Способ 1: прямое связывание таблиц формулой
    • Способ 2: использование связки операторов ИНДЕКС — ПОИСКПОЗ
    • Способ 3: выполнение математических операций со связанными данными
    • Способ 4: специальная вставка
    • Способ 5: связь между таблицами в нескольких книгах
  • Разрыв связи между таблицами
    • Способ 1: разрыв связи между книгами
    • Способ 2: вставка значений
  • Вопросы и ответы

Связанные таблицы в Microsoft Excel

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

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

Создание связанных таблиц

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

Способ 1: прямое связывание таблиц формулой

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

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

Таблица заработной платы в Microsoft Excel

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

Таблица со ставками сотрудников в Microsoft Excel

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

  1. На первом листе выделяем первую ячейку столбца «Ставка». Ставим в ней знак «=». Далее кликаем по ярлычку «Лист 2», который размещается в левой части интерфейса Excel над строкой состояния.
  2. Переход на второй лист в Microsoft Excel

  3. Происходит перемещения во вторую область документа. Щелкаем по первой ячейке в столбце «Ставка». Затем кликаем по кнопке Enter на клавиатуре, чтобы произвести ввод данных в ячейку, в которой ранее установили знак «равно».
  4. Связывание с ячейкой второй таблицы в Microsoft Excel

  5. Затем происходит автоматический переход на первый лист. Как видим, в соответствующую ячейку подтягивается величина ставки первого сотрудника из второй таблицы. Установив курсор на ячейку, содержащую ставку, видим, что для вывода данных на экран применяется обычная формула. Но перед координатами ячейки, откуда выводятся данные, стоит выражение «Лист2!», которое указывает наименование области документа, где они расположены. Общая формула в нашем случае выглядит так:

    =Лист2!B2

  6. Две ячейки двух таблиц связаны в Microsoft Excel

  7. Теперь нужно перенести данные о ставках всех остальных работников предприятия. Конечно, это можно сделать тем же путем, которым мы выполнили поставленную задачу для первого работника, но учитывая, что оба списка сотрудников расположены в одинаковом порядке, задачу можно существенно упростить и ускорить её решение. Это можно сделать, просто скопировав формулу на диапазон ниже. Благодаря тому, что ссылки в Excel по умолчанию являются относительными, при их копировании происходит сдвиг значений, что нам и нужно. Саму процедуру копирования можно произвести с помощью маркера заполнения.

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

  8. Маркер заполнения в Microsoft Excel

  9. Все данные из аналогичного столбца на Листе 2 были подтянуты в таблицу на Листе 1. При изменении данных на Листе 2 они автоматически будут изменяться и на первом.

Все данные столбца второй таблицы перенесены в первую в Microsoft Excel

Lumpics.ru

Способ 2: использование связки операторов ИНДЕКС — ПОИСКПОЗ

Но что делать, если перечень сотрудников в табличных массивах расположен не в одинаковом порядке? В этом случае, как говорилось ранее, одним из вариантов является установка связи между каждой из тех ячеек, которые следует связать, вручную. Но это подойдет разве что для небольших таблиц. Для массивных диапазонов подобный вариант в лучшем случае отнимет очень много времени на реализацию, а в худшем – на практике вообще будет неосуществим. Но решить данную проблему можно при помощи связки операторов ИНДЕКСПОИСКПОЗ. Посмотрим, как это можно осуществить, связав данные в табличных диапазонах, о которых шел разговор в предыдущем способе.

  1. Выделяем первый элемент столбца «Ставка». Переходим в Мастер функций, кликнув по пиктограмме «Вставить функцию».
  2. Вставить функцию в Microsoft Excel

  3. В Мастере функций в группе «Ссылки и массивы» находим и выделяем наименование «ИНДЕКС».
  4. Переход в окно аргуметов функции ИНДЕКС в Microsoft Excel

  5. Данный оператор имеет две формы: форму для работы с массивами и ссылочную. В нашем случае требуется первый вариант, поэтому в следующем окошке выбора формы, которое откроется, выбираем именно его и жмем на кнопку «OK».
  6. Выбор формы функции ИНДЕКС в Microsoft Excel

  7. Выполнен запуск окошка аргументов оператора ИНДЕКС. Задача указанной функции — вывод значения, находящегося в выбранном диапазоне в строке с указанным номером. Общая формула оператора ИНДЕКС такова:

    =ИНДЕКС(массив;номер_строки;[номер_столбца])

    «Массив» — аргумент, содержащий адрес диапазона, из которого мы будем извлекать информацию по номеру указанной строки.

    «Номер строки» — аргумент, являющийся номером этой самой строчки. При этом важно знать, что номер строки следует указывать не относительно всего документа, а только относительно выделенного массива.

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

    Ставим курсор в поле «Массив». После этого переходим на Лист 2 и, зажав левую кнопку мыши, выделяем все содержимое столбца «Ставка».

  8. Аргумент Массив в окне аргументов функции ИНДЕКС в Microsoft Excel

  9. После того, как координаты отобразились в окошке оператора, ставим курсор в поле «Номер строки». Данный аргумент мы будем выводить с помощью оператора ПОИСКПОЗ. Поэтому кликаем по треугольнику, который расположен слева от строки функций. Открывается перечень недавно использованных операторов. Если вы среди них найдете наименование «ПОИСКПОЗ», то можете кликать по нему. В обратном случае кликайте по самому последнему пункту перечня – «Другие функции…».
  10. Окно аргументов функции ИНДЕКС в Microsoft Excel

  11. Запускается стандартное окно Мастера функций. Переходим в нем в ту же самую группу «Ссылки и массивы». На этот раз в перечне выбираем пункт «ПОИСКПОЗ». Выполняем щелчок по кнопке «OK».
  12. Переход в окно аргуметов функции ПОИСКПОЗ в Microsoft Excel

  13. Производится активация окошка аргументов оператора ПОИСКПОЗ. Указанная функция предназначена для того, чтобы выводить номер значения в определенном массиве по его наименованию. Именно благодаря данной возможности мы вычислим номер строки определенного значения для функции ИНДЕКС. Синтаксис ПОИСКПОЗ представлен так:

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

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

    «Просматриваемый массив» — аргумент, представляющий собой ссылку на массив, в котором выполняется поиск указанного значения для определения его позиции. У нас эту роль будет исполнять адрес столбца «Имя» на Листе 2.

    «Тип сопоставления» — аргумент, являющийся необязательным, но, в отличие от предыдущего оператора, этот необязательный аргумент нам будет нужен. Он указывает на то, как будет сопоставлять оператор искомое значение с массивом. Этот аргумент может иметь одно из трех значений: -1; 0; 1. Для неупорядоченных массивов следует выбрать вариант «0». Именно данный вариант подойдет для нашего случая.

    Итак, приступим к заполнению полей окна аргументов. Ставим курсор в поле «Искомое значение», кликаем по первой ячейке столбца «Имя» на Листе 1.

  14. Аргумент Искомое значение в окне аргументов функции ПОИСКПОЗ в Microsoft Excel

  15. После того, как координаты отобразились, устанавливаем курсор в поле «Просматриваемый массив» и переходим по ярлыку «Лист 2», который размещен внизу окна Excel над строкой состояния. Зажимаем левую кнопку мыши и выделяем курсором все ячейки столбца «Имя».
  16. Аргумент Просматриваемый массив в окне аргументов функции ПОИСКПОЗ в Microsoft Excel

  17. После того, как их координаты отобразились в поле «Просматриваемый массив», переходим к полю «Тип сопоставления» и с клавиатуры устанавливаем там число «0». После этого опять возвращаемся к полю «Просматриваемый массив». Дело в том, что мы будем выполнять копирование формулы, как мы это делали в предыдущем способе. Будет происходить смещение адресов, но вот координаты просматриваемого массива нам нужно закрепить. Он не должен смещаться. Выделяем координаты курсором и жмем на функциональную клавишу F4. Как видим, перед координатами появился знак доллара, что означает то, что ссылка из относительной превратилась в абсолютную. Затем жмем на кнопку «OK».
  18. Окно аргуметов функции ПОИСКПОЗ в Microsoft Excel

  19. Результат выведен на экран в первую ячейку столбца «Ставка». Но перед тем, как производить копирование, нам нужно закрепить ещё одну область, а именно первый аргумент функции ИНДЕКС. Для этого выделяем элемент колонки, который содержит формулу, и перемещаемся в строку формул. Выделяем первый аргумент оператора ИНДЕКС (B2:B7) и щелкаем по кнопке F4. Как видим, знак доллара появился около выбранных координат. Щелкаем по клавише Enter. В целом формула приняла следующий вид:

    =ИНДЕКС(Лист2!$B$2:$B$7;ПОИСКПОЗ(Лист1!A4;Лист2!$A$2:$A$7;0))

  20. Преобразование ссылки в абсолютную в Microsoft Excel

  21. Теперь можно произвести копирование с помощью маркера заполнения. Вызываем его тем же способом, о котором мы говорили ранее, и протягиваем до конца табличного диапазона.
  22. Маркер заполнения в программе Microsoft Excel

  23. Как видим, несмотря на то, что порядок строк у двух связанных таблиц не совпадает, тем не менее, все значения подтягиваются соответственно фамилиям работников. Этого удалось достичь благодаря применению сочетания операторов ИНДЕКСПОИСКПОЗ.

Значения связаны благодаря комбинации функций ИНДЕКС-ПОИСКПОЗ в Microsoft Excel

Читайте также:
Функция ИНДЕКС в Экселе
Функция ПОИСКПОЗ в Экселе

Способ 3: выполнение математических операций со связанными данными

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

Посмотрим, как это осуществляется на практике. Сделаем так, что на Листе 3 будут выводиться общие данные заработной платы по предприятию без разбивки по сотрудникам. Для этого ставки сотрудников будут подтягиваться из Листа 2, суммироваться (при помощи функции СУММ) и умножаться на коэффициент с помощью формулы.

  1. Выделяем ячейку, где будет выводиться итог расчета заработной платы на Листе 3. Производим клик по кнопке «Вставить функцию».
  2. Переход в Мастер функций в Microsoft Excel

  3. Следует запуск окна Мастера функций. Переходим в группу «Математические» и выбираем там наименование «СУММ». Далее жмем по кнопке «OK».
  4. Переход в окно аргуметов функции СУММ в Microsoft Excel

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

    =СУММ(число1;число2;…)

    Поля в окне соответствуют аргументам указанной функции. Хотя их число может достигать 255 штук, но для нашей цели достаточно будет всего одного. Ставим курсор в поле «Число1». Кликаем по ярлыку «Лист 2» над строкой состояния.

  6. Окно аргметов функции СУММ в Microsoft Excel

  7. После того, как мы переместились в нужный раздел книги, выделяем столбец, который следует просуммировать. Делаем это курсором, зажав левую кнопку мыши. Как видим, координаты выделенной области тут же отображаются в поле окна аргументов. Затем щелкаем по кнопке «OK».
  8. Суммирование данных с помощью функции СУММ в Microsoft Excel

  9. После этого мы автоматически перемещаемся на Лист 1. Как видим, общая сумма размера ставок работников уже отображается в соответствующем элементе.
  10. Общая сумма ставок работников в Microsoft Excel

  11. Но это ещё не все. Как мы помним, зарплата вычисляется путем умножения величины ставки на коэффициент. Поэтому снова выделяем ячейку, в которой находится суммированная величина. После этого переходим к строке формул. Дописываем к имеющейся в ней формуле знак умножения (*), а затем щелкаем по элементу, в котором располагается показатель коэффициента. Для выполнения вычисления щелкаем по клавише Enter на клавиатуре. Как видим, программа рассчитала общую заработную плату по предприятию.
  12. Общая зарплата по предприятию в Microsoft Excel

  13. Возвращаемся на Лист 2 и изменяем размер ставки любого работника.
  14. Изменение ставки работника в Microsoft Excel

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

Сумма заработной платы по предприятию пересчитана в Microsoft Excel

Способ 4: специальная вставка

Связать табличные массивы в Excel можно также при помощи специальной вставки.

  1. Выделяем значения, которые нужно будет «затянуть» в другую таблицу. В нашем случае это диапазон столбца «Ставка» на Листе 2. Кликаем по выделенному фрагменту правой кнопкой мыши. В открывшемся списке выбираем пункт «Копировать». Альтернативной комбинацией является сочетание клавиш Ctrl+C. После этого перемещаемся на Лист 1.
  2. Копирование в Microsoft Excel

  3. Переместившись в нужную нам область книги, выделяем ячейки, в которые нужно будет подтягивать значения. В нашем случае это столбец «Ставка». Щелкаем по выделенному фрагменту правой кнопкой мыши. В контекстном меню в блоке инструментов «Параметры вставки» щелкаем по пиктограмме «Вставить связь».
    Вставка связи через контекстное меню в Microsoft Excel

    Существует также альтернативный вариант. Он, кстати, является единственным для более старых версий Excel. В контекстном меню наводим курсор на пункт «Специальная вставка». В открывшемся дополнительном меню выбираем позицию с одноименным названием.

  4. Переход в специальную вставку в Microsoft Excel

  5. После этого открывается окно специальной вставки. Жмем на кнопку «Вставить связь» в нижнем левом углу ячейки.
  6. Окно специальной вставки в Microsoft Excel

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

Значения вставлены с помощью специальной вставки в Microsoft Excel

Урок: Специальная вставка в Экселе

Способ 5: связь между таблицами в нескольких книгах

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

  1. Выделяем диапазон данных, который нужно перенести в другую книгу. Щелкаем по нему правой кнопкой мыши и выбираем в открывшемся меню позицию «Копировать».
  2. Копирование данных из книги в Microsoft Excel

  3. Затем перемещаемся к той книге, в которую эти данные нужно будет вставить. Выделяем нужный диапазон. Кликаем правой кнопкой мыши. В контекстном меню в группе «Параметры вставки» выбираем пункт «Вставить связь».
  4. Вставка связи из другой книги в Microsoft Excel

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

Связь из другой книги вставлена в Microsoft Excel

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

Информационное сообщение в Microsoft Excel

Изменения в таком массиве, связанном с другой книгой, можно произвести только разорвав связь.

Разрыв связи между таблицами

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

Способ 1: разрыв связи между книгами

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

  1. В книге, в которой подтягиваются значения из других файлов, переходим во вкладку «Данные». Щелкаем по значку «Изменить связи», который расположен на ленте в блоке инструментов «Подключения». Нужно отметить, что если текущая книга не содержит связей с другими файлами, то эта кнопка является неактивной.
  2. Переход к изменениям связей в Microsoft Excel

  3. Запускается окно изменения связей. Выбираем из списка связанных книг (если их несколько) тот файл, с которым хотим разорвать связь. Щелкаем по кнопке «Разорвать связь».
  4. Окно изменения связей в Microsoft Excel

  5. Открывается информационное окошко, в котором находится предупреждение о последствиях дальнейших действий. Если вы уверены в том, что собираетесь делать, то жмите на кнопку «Разорвать связи».
  6. Информационное предупреждение о разрыве связи в Microsoft Excel

  7. После этого все ссылки на указанный файл в текущем документе будут заменены на статические значения.

Ссылки заменены на статические значения в Microsoft Excel

Способ 2: вставка значений

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

  1. Выделяем диапазон, в котором желаем удалить связь с другой таблицей. Щелкаем по нему правой кнопкой мыши. В раскрывшемся меню выбираем пункт «Копировать». Вместо указанных действий можно набрать альтернативную комбинацию горячих клавиш Ctrl+C.
  2. Копирование в программе Microsoft Excel

  3. Далее, не снимая выделения с того же фрагмента, опять кликаем по нему правой кнопкой мыши. На этот раз в списке действий щелкаем по иконке «Значения», которая размещена в группе инструментов «Параметры вставки».
  4. Вставка как значения в Microsoft Excel

  5. После этого все ссылки в выделенном диапазоне будут заменены на статические значения.

Значения вставлены в Microsoft Excel

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

Вы применяли функцию ВПР, чтобы переместить данные столбца из одной таблицы в другой? Так как в Excel теперь есть встроенная модель данных, функция ВПР устарела. Вы можете создать связь между двумя таблицами на основе совпадающих данных в них. Затем можно создать листы Power View или сводные таблицы и другие отчеты с полями из каждой таблицы, даже если они получены из различных источников. Например, если у вас есть данные о продажах клиентам, вам может потребоваться импортировать и связать данные логики операций со временем, чтобы проанализировать тенденции продаж по годам и месяцам.

Все таблицы в книге указываются в списках полей сводной таблицы и Power View.

Браузер не поддерживает видео.

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

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

  2. Вы можете отформатировать данные как таблицу или импортировать внешние данные в виде таблицы на новом.

  3. Присвойте каждой из таблиц понятное имя: На вкладке Работа с таблицами щелкните Конструктор > Имя таблицы и введите имя.

  4. Убедитесь, что столбец в одной из таблиц имеет уникальные значения без дубликатов. Excel может создавать связи только в том случае, если один столбец содержит уникальные значения.

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

  5. Щелкните Данные> Отношения.

Если команда Отношения недоступна, значит книга содержит только одну таблицу.

  1. В окне Управление связями нажмите кнопку Создать.

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

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

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

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

  6. Нажмите кнопку ОК.

Дополнительные сведения о связях между таблицами в Excel

  • Примечания о связях

  • Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании

  • «Могут потребоваться связи между таблицами»

    • Шаг 1. Определите, какие таблицы указать в связи

    • Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблицы к другой

Примечания о связях

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

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

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

  • Типы данных в двух столбцах должны быть совместимы. Подробные сведения см. в статье Типы данных в моделях данных.

  • Другие способы создания связей могут оказаться более понятными, особенно если неизвестно, какие столбцы использовать. Дополнительные сведения см. в статье Создание связи в представлении диаграммы в Power Pivot.

Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании

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

  1. Запустите надстройку Power Pivot в Microsoft Excel и откройте окно Power Pivot.

  2. Нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace. В мастере импорта таблиц откроется домашняя страница Microsoft Azure Marketplace.

  3. В разделе Price (Цена) нажмите Free (Бесплатно).

  4. В разделе Category (Категория) нажмите Science & Statistics (Наука и статистика).

  5. Найдите DateStream и нажмите кнопку Subscribe (Подписаться).

  6. Введите свои учетные данные Майкрософт и нажмите Sign in (Вход). Откроется окно предварительного просмотра данных.

  7. Прокрутите вниз и нажмите Select Query (Запрос на выборку).

  8. Нажмите кнопку Далее.

  9. Чтобы импортировать данные, выберите BasicCalendarUS и нажмите Готово. При быстром подключении к Интернету импорт займет около минуты. После выполнения вы увидите отчет о состоянии перемещения 73 414 строк. Нажмите Закрыть.

  10. Чтобы импортировать второй набор данных, нажмите Получение внешних данных > Из службы данных > Из Microsoft Azure Marketplace.

  11. В разделе Type (Тип) нажмите Data Данные).

  12. В разделе Price (Цена) нажмите Free (Бесплатно).

  13. Найдите US Air Carrier Flight Delays и нажмите Select (Выбрать).

  14. Прокрутите вниз и нажмите Select Query (Запрос на выборку).

  15. Нажмите кнопку Далее.

  16. Нажмите Готово для импорта данных. При быстром подключении к Интернету импорт займет около 15 минут. После выполнения вы увидите отчет о состоянии перемещения 2 427 284 строк. Нажмите Закрыть. Теперь у вас есть две таблицы в модели данных. Чтобы связать их, нужны совместимые столбцы в каждой таблице.

  17. Убедитесь, что значения в столбце DateKey в таблице BasicCalendarUS указаны в формате 01.01.2012 00:00:00. В таблице On_Time_Performance также есть столбец даты и времени FlightDate, значения которого указаны в том же формате: 01.01.2012 00:00:00. Два столбца содержат совпадающие данные одинакового типа и по крайней мере один из столбцов (DateKey) содержит только уникальные значения. В следующих действиях вы будете использовать эти столбцы, чтобы связать таблицы.

  18. В окне Power Pivot нажмите Сводная таблица, чтобы создать сводную таблицу на новом или существующем листе.

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

  20. Разверните таблицу BasicCalendarUS и нажмите MonthInCalendar, чтобы добавить его в область строк.

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

  22. В списке полей, в разделе «Могут потребоваться связи между таблицами» нажмите Создать.

  23. В поле «Связанная таблица» выберите On_Time_Performance, а в поле «Связанный столбец (первичный ключ)» — FlightDate.

  24. В поле «Таблица» выберитеBasicCalendarUS, а в поле «Столбец (чужой)» — DateKey. Нажмите ОК для создания связи.

  25. Обратите внимание, что время задержки в настоящее время отличается для каждого месяца.

  26. В таблице BasicCalendarUS перетащите YearKey в область строк над пунктом MonthInCalendar.

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

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

  1. Таблица BasicCalendarUS должна быть открыта в окне Power Pivot.

  2. В главной таблице нажмите Сортировка по столбцу.

  3. В поле «Сортировать» выберите MonthInCalendar.

  4. В поле «По» выберите MonthOfYear.

Сводная таблица теперь сортирует каждую комбинацию «месяц и год» (октябрь 2011, ноябрь 2011) по номеру месяца в году (10, 11). Изменить порядок сортировки несложно, потому что канал DateStream предоставляет все необходимые столбцы для работы этого сценария. Если вы используете другую таблицу логики операций со временем, ваши действия будут другими.

«Могут потребоваться связи между таблицами»

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

Кнопка "Создать", отображаемая при необходимости создать связь

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

Шаг 1. Определите, какие таблицы указать в связи

Если ваша модель содержит всего лишь несколько таблиц, понятно, какие из них нужно использовать. Но для больших моделей вам может понадобиться помощь. Один из способов заключается в том, чтобы использовать представление диаграммы в надстройке Power Pivot. Представление диаграммы обеспечивает визуализацию всех таблиц в модели данных. С помощью него вы можете быстро определить, какие таблицы отделены от остальной части модели.

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

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

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

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

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

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

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

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

Подробнее о связях таблиц см. в статье Связи между таблицами в модели данных.

К началу страницы


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

Обычный

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

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

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

– это такой

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

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

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

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

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

,

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

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


  • Отдел



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

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

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

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

    город

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

    улицу

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

    номер дома

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

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

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

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

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

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

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

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

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

можно реализовать в 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 значений)). Это привело к тому, что

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

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

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

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

создать

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

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

Регионов

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

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

для их

Стран

.

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

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

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

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

.

Посмотрим, какие есть связанные (зависимые) выпадающие списки, например, в MS Excel. У нас есть таблица нет. 2. Он состоит из трех столбцов с названиями видов продукции: Сладости, Бисквиты и Торты. В каждой из этих колонок находится непосредственно список самих этих товаров.

Пример

Нам нужно создать два выпадающих списка, в первом из которых мы выберем тип товара (Сладости, Бисквиты или Торты). А во втором раскрывающемся списке вы сможете напрямую выбрать название продукта. В этом случае второй раскрывающийся список будет соответствовать типу продукта, который будет выбран в первом раскрывающемся списке. Например, если в первом раскрывающемся списке выбран тип продукта Торты, второй раскрывающийся список будет содержать список названий тортов: Торт A, Торт B и т.д.

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

Сначала назовем диапазон ячеек, содержащих имена столбцов. В нашем примере это ячейки C4; B4; Е4 (сладости, печенье и торты). Мы называем этот ассортимент: Продукция.

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

На вкладке «Данные» находим кнопку «Проверить данные. 

Контроль данных

Нажмите здесь. Появится диалоговое окно Validate Input Values, в которое мы вводим данные:

Тип данных. Выберите вариант — Список

Один источник. Здесь после знака равенства «=» мы пишем наше указанное имя. В нашем примере: = Товары.

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

Щелкните ОК. У нас есть выпадающий список с названием типа товара.

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

Теперь создадим второй выпадающий список.

Сначала мы присваиваем определенное Имя ячейкам, содержащим названия продуктов. Нам нужно назвать диапазон C5: C14 (Candy A, Candy B…), D5: D14 (Liver A, Cookie B…), E5: E14 (Cake A, Cake B…). Заданные имена должны совпадать с именами столбцов из первого раскрывающегося списка. Имя, указанное для диапазона C5: C14 (Candy A, Candy B…), должно быть Candy, для диапазона D5: D14 (Liver A, Cookie B…) — Cookie, для диапазона E5: E14 (Cake А, Торт Б…) — Торты.

Теперь выберите ячейку для второго раскрывающегося списка. В нашем примере это H4. Для наглядности сделаем ячейку зеленой и напишем на ней: «Заголовок».

Мы вызываем функцию раскрывающегося списка и вводим данные в диалоговое окно Validate Input Values:

Тип данных. Выберите вариант — Список

Один источник. Здесь после знака равенства нужно ввести функцию КОСВЕННО и указать адрес ячейки, в которой находится первый выпадающий список. В скобках.

Это выглядит так: = КОСВЕННО (G4)

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

Щелкните ОК. Появится второй раскрывающийся список. Список имен, который будет зависеть от того, что выбрано в первом раскрывающемся списке. У нас есть связанные (зависимые) выпадающие списки в MS Excel.Выпадающие списки, связанные в Excel

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

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

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, поскольку эта марка была выбрана ранее.

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

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

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