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

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

  • автор:

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

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

Ваш браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

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

  1. На новом листе введите данные, которые должны отображаться в раскрывающемся списке. Желательно, чтобы элементы списка содержались в таблице Excel. В противном случае можно быстро преобразовать список в таблицу, выбрав любую ячейку в диапазоне и нажав клавиши CTRL+T.
  • Почему данные следует поместить в таблицу? Потому что в этом случае при добавлении и удалении элементов все раскрывающиеся списки, созданные на основе этой таблицы, будут обновляться автоматически. Дополнительные действия не требуются.
  • Теперь следует отсортировать данные в диапазоне или таблице в раскрывающемся списке.

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

  • На вкладке Параметры в поле Разрешить выберите Список.
  • Выберите в поле Источник , а затем выберите диапазон списка. В примере данные находятся на листе «Города» в диапазоне A2:A9. Обратите внимание на то, что строка заголовков отсутствует в диапазоне, так как она не является одним из вариантов, доступных для выбора. Параметры списка проверки данных
  • Если пользователи не могут оставить ячейку пустой, проверка пустое поле Игнорировать.
  • Установите флажок в раскрывающемся списке В ячейке .
  • Перейдите на вкладку Входное сообщение .
    • Если вы хотите, чтобы при выборе ячейки отображалось сообщение, проверка поле Показывать входное сообщение при выделении ячейки и введите заголовок и сообщение в полях (не более 225 символов). Если вы не хотите, чтобы сообщение отображалось, снимите этот флажок. Вкладка
  • Перейдите на вкладку Оповещение об ошибке .
    • Если вы хотите, чтобы при вводе сообщения, которого нет в списке, проверка поле Показывать оповещение об ошибке после ввода недопустимых данных, выберите параметр в поле Стиль и введите заголовок и сообщение. Если вы не хотите, чтобы сообщение отображалось, снимите этот флажок. Параметры сообщения об ошибке для раскрывающегося списка проверки данных
  • Не знаете, какой вариант выбрать в поле Стиль ?
    • Чтобы отобразить сообщение, которое не мешает пользователям вводить данные, отсутствуют в раскрывающемся списке, выберите Сведения или Предупреждение. Сведения покажут сообщение с этим значком В сообщении отображается значок информации, но это не мешает людям выбирать элементы из раскрывающегося списка, а предупреждение — сообщение с этим значком В сообщении отображается значок предупреждения, но это не мешает людям выбирать элементы из раскрывающегося списка.
    • Чтобы запретить пользователям вводить данные, которые отсутствуют в раскрывающемся списке, выберите Остановить.

      Примечание: Если вы не добавили заголовок и текст, по умолчанию выводится заголовок «Microsoft Excel» и сообщение «Введенное значение неверно. Набор значений, которые могут быть введены в ячейку, ограничен».

      Работа с раскрывающимся списком

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

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

      Если вы решили изменить элементы раскрывающегося списка, см. статью Добавление и удаление элементов раскрывающегося списка.

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

      Добавление списка со множественным выбором

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

      В этой статье

      • Применение списка с множественным выбором
      • Взаимодействие с пользователем
      • Совместимость
      • Вставка списка с множественным выбором
      • Советы по макету

      Применение списка с множественным выбором

      Используйте список с множественным выбором, если вы хотите:

      • разрешить выбор нескольких элементов списка;
      • разрешить ввод в список собственного значения;
      • по умолчанию отображать большинство элементов списка в форме или все элементы;
      • отображать значения, полученные из фиксированного списка, источника данных шаблона формы или внешнего источника данных, например базы данных или списка Microsoft Windows SharePoint Services.

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

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

      Связанные элементы управления

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

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

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

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

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

      Взаимодействие с пользователем

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

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

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

      Совместимость

      В InfoPath вы можете создать шаблон формы с поддержкой веб-браузера. При разработке таких шаблонов списки с множественным выбором будут недоступны на панели задач Элементы управления, так как они не отображаются в веб-браузерах.

      Добавление списка со множественным выбором

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

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

      Элементы управления могут быть связанными или свободными. Если элемент управления связан, он подключен к полю или группе в источнике данных, поэтому данные, вводимые в элемент управления, сохраняются в XML-файле самой формы. Когда элемент управления является свободным, он не подключен к полю или группе, а данные, вводимые в него, не сохраняются. Если выбрать элемент управления или навести на него указатель мыши, в его правом верхнем углу , отобразится текст и значок привязки. В тексте указаны группа или поле в источнике данных, к которым привязан элемент управления. Значок указывает на то, правильно ли элемент управления привязан к полю или группе. Если привязка правильная, выводится зеленый значок. Если с привязкой что-то не так, вы увидите синий или красный значок.

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

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

      Если структура шаблона формы основана на существующем XML-файле, базе данных или веб-службе, InfoPath наследует поля и группы в области задач Источник данных из существующего источника данных.

      Добавление списка со множественным выбором

      1. Поместите курсор в то место шаблона формы, куда вы хотите вставить элемент управления.
      2. Если область задач Элементы управления не отображается, щелкните Другие элементы управления в меню Вставка или нажмите клавиши ALT+I, C.
      3. В области задач Элементы управления сделайте одно из следующего:
      4. Чтобы автоматически создать повторяющееся поле в источнике данных, привязанном к списку с множественным выбором, установите флажок Автоматически создавать источник данных.
      5. Чтобы привязать список с множественным выбором к существующему повторяющемуся полю, снимите флажок Автоматически создавать источник данных.

      Примечание: Если флажок недоступен, источник данных заблокирован. Например, если вы создали структуру шаблона формы на основе схемы XML, возможно, через InfoPath не удастся добавить новые поля или группы в источник данных. Это ограничение помогает предотвратить случайное внесение в схему изменений, которые могут сделать ее недопустимой.

      1. Нажмите кнопку Добавить.
      2. В поле Значение введите текст, который вы хотите сохранять, если пользователь выбирает эту запись.
      3. В поле Отображаемое имя введите текст, который вы хотите отобразить для этой записи, и нажмите кнопку ОК.
      4. Повторите действия 1–3 для каждой записи, которую требуется добавить в список.
      5. Чтобы проверить изменения, нажмите кнопку Просмотр на стандартной панели инструментов или нажмите клавиши CTRL+SHIFT+B.

      Использование значений из другой части формы

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

      1. В разделе Элементы списка щелкните Подставить значения из источника данных формы. Элементы в списке должны быть связаны с конкретной повторяющейся группой или повторяющемся полем шаблона формы.
      2. Нажмите кнопку Выбрать XPath рядом с полем Элементы, а затем в диалоговом окне Выбор поля или группы щелкните повторяющееся поле или повторяющуюся группу с полями, которые будут предоставлять значения для списка, и нажмите кнопку ОК.
      3. Нажмите кнопку Выбрать XPath рядом с полем Значение, щелкните поле, содержащее возможные значения для элементов списка, и нажмите кнопку ОК. Одно из этих значений будет сохранено в XML при выборе пользователем элемента в списке.
      4. Нажмите кнопку Выбрать XPath рядом с полем Отображаемое имя, щелкните поле, содержащее значения, которые выводятся в списке, и нажмите кнопку ОК.

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

      Использование значений из базы данных, веб-службы, XML-документа или сайта SharePoint

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

      1. Щелкните Искать значения во внешнем источнике данных.
      2. Выполните одно из следующих действий:
        • Если вы уже добавили подключение к данным, щелкните его в поле Подключение к данным.
        • Чтобы добавить новое подключение к данным, нажмите кнопку Добавить, а затем следуйте инструкциям мастера подключения к данным. Элементы в списке должны быть связаны с конкретной повторяющейся группой или повторяющемся полем.
      3. Нажмите кнопку Выбрать XPath рядом с полем Элементы, а затем в диалоговом окне Выбор поля или группы щелкните поле или группу с полями, которые будут предоставлять значения для списка, и нажмите кнопку ОК.
      4. Нажмите кнопку Выбрать XPath рядом с полем Значение, щелкните поле, содержащее возможные значения для элементов списка, и нажмите кнопку ОК. Одно из этих значений будет сохранено в XML при выборе пользователем элемента в списке.
      5. Нажмите кнопку Выбрать XPath рядом с полем Отображаемое имя, щелкните поле, содержащее значения, которые выводятся в списке, и нажмите кнопку ОК.

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

      Советы по макету

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

      • Чтобы одновременно изменить ширину нескольких списков, выберите их, нажмите клавиши ALT+ВВОД, откройте вкладку Размер, а затем в поле Ширина введите новое значение.
      • Чтобы одновременно изменить цвет фона для нескольких списков, выберите их. В меню Формат нажмите кнопку Границы и заливка и внесите необходимые изменения на вкладке Заливка.
      • Чтобы настроить шрифт, который используется для текста рядом с флажками в списке со множественным выбором, используйте поля Шрифт и Размер шрифта на панели инструментов Форматирование. Чтобы одновременно изменить шрифт и размер шрифта для всех таких списков в шаблоне формы, щелкните список с нужным форматированием, а затем в меню Формат нажмите кнопку Применить шрифт ко всем элементам управления «Список с множественным выбором».
      • Если вы хотите изменить интервал между списком с множественным выбором и объектами вокруг него, поэкспериментируйте с параметрами полей на вкладке Размер в диалоговом окне Свойства: Список с множественным выбором. С помощью полей можно точнее задать интервал, чем с помощью разрывов абзацев.

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

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

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

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

      Путь: меню «Данные» — инструмент «Проверка данных» — вкладка «Параметры». Тип данных – «Список».

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

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

      1. Вручную через «точку-с-запятой» в поле «Источник». Ввод значений.
      2. Ввести значения заранее. А в качестве источника указать диапазон ячеек со списком. Проверка вводимых значений.
      3. Назначить имя для диапазона значений и в поле источник вписать это имя.

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

      Любой из вариантов даст такой результат.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      Private Sub Worksheet_Change(ByVal Target As Range) Dim lReply As Long If Target.Cells.Count > 1 Then Exit Sub If Target.Address = "$C$2" Then If IsEmpty(Target) Then Exit Sub If WorksheetFunction.CountIf(Range("Деревья"), Target) = 0 Then lReply = MsgBox("Добавить введенное имя " & _ Target & " в выпадающий список?", vbYesNo + vbQuestion) If lReply = vbYes Then Range("Деревья").Cells(Range("Деревья").Rows.Count + 1, 1) = Target End If End If End If End Sub 
    • Сохраняем, установив тип файла «с поддержкой макросов». Сообщение об ошибке.
    • Переходим на лист со списком. Вкладка «Разработчик» — «Код» — «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».
    • Макрос.

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

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

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

      Когда значения для выпадающего списка расположены на другом листе или в другой книге, стандартный способ не работает. Решить задачу можно с помощью функции ДВССЫЛ: она сформирует правильную ссылку на внешний источник информации.

      1. Делаем активной ячейку, куда хотим поместить раскрывающийся список.
      2. Открываем параметры проверки данных. В поле «Источник» вводим формулу: =ДВССЫЛ(“[Список1.xlsx]Лист1!$A$1:$A$9”).

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

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

      Возьмем три именованных диапазона:

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

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

      1. Создадим первый выпадающий список, куда войдут названия диапазонов. Список диапазонов.
      2. Когда поставили курсор в поле «Источник», переходим на лист и выделяем попеременно нужные ячейки. Таблица со списком.
      3. Теперь создадим второй раскрывающийся список. В нем должны отражаться те слова, которые соответствуют выбранному в первом списке названию. Если «Деревья», то «граб», «дуб» и т.д. Вводим в поле «Источник» функцию вида =ДВССЫЛ(E3). E3 – ячейка с именем первого диапазона. Второй раскрывающийся список.

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

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

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

      Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Е2:Е9")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(0, 1)) = 0 Then Target.Offset(0, 1) = Target Else Target.End(xlToRight).Offset(0, 1) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub 
      Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("Н2:К2")) Is Nothing And Target.Cells.Count = 1 Then Application.EnableEvents = False If Len(Target.Offset(1, 0)) = 0 Then Target.Offset(1, 0) = Target Else Target.End(xlDown).Offset(1, 0) = Target End If Target.ClearContents Application.EnableEvents = True End If End Sub 

      Private Sub Worksheet_Change( ByVal Target As Range)
      On Error Resume Next
      If Not Intersect(Target, Range( «C2:C5» )) Is Nothing And Target.Cells.Count = 1 Then
      Application.EnableEvents = False
      newVal = Target
      Application.Undo
      oldval = Target
      If Len(oldval) <> 0 And oldval <> newVal Then
      Target = Target & «,» & newVal
      Else
      Target = newVal
      End If
      If Len(newVal) = 0 Then Target.ClearContents
      Application.EnableEvents = True
      End If
      End Sub

      Не забываем менять диапазоны на «свои». Списки создаем классическим способом. А всю остальную работу будут делать макросы.

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

      1. На вкладке «Разработчик» находим инструмент «Вставить» – «ActiveX». Здесь нам нужна кнопка «Поле со списком» (ориентируемся на всплывающие подсказки). Вставить ActiveX.
      2. Щелкаем по значку – становится активным «Режим конструктора». Рисуем курсором (он становится «крестиком») небольшой прямоугольник – место будущего списка. Элемент ActiveX.
      3. Жмем «Свойства» – открывается перечень настроек. Свойства ActiveX.
      4. Вписываем диапазон в строку ListFillRange (руками). Ячейку, куда будет выводиться выбранное значение – в строку LinkedCell. Для изменения шрифта и размера – Font.

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

      • Excel Formula Examples
      • Создать таблицу
      • Форматирование
      • Функции Excel
      • Формулы и диапазоны
      • Фильтр и сортировка
      • Диаграммы и графики
      • Сводные таблицы
      • Печать документов
      • Базы данных и XML
      • Возможности Excel
      • Настройки параметры
      • Уроки Excel
      • Макросы VBA
      • Скачать примеры

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

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

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

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

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

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

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

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

      Так, например, если мы выберем категорию Развлечения, то в списке подкатегорий должно быть: Кинотеатр, Театр, Бассейн. Очень быстрое решение, если в своем домашнем бюджете вы хотите проанализировать более подробную информацию.

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

      Признаюсь, что в предложенном мной варианте домашнего бюджета я ограничиваюсь только категорией, поскольку для меня такого разделения расходов вполне достаточно (название расходов / доходов рассматривается как подкатегория). Однако, если вам нужно разделить их на подкатегории, то метод, который я описываю ниже, будет идеальным. Смело используйте!

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

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

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

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

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

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

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

      Можно было бы также использовать таблицы с первого изображения. Разумеется, формулы были бы разными. Однажды даже я нашел в сети такое решение, но оно мне не понравилось, потому что там была фиксированная длина списка: а значит, иногда список содержал пустые поля, а иногда и не отображал все элементы. Конечно, я могу избежать этого ограничения, но признаюсь, что мне больше нравится мое решение, поэтому к тому решению я больше не возвращался.

      Ну хорошо. Теперь, по очереди я опишу шаги создания зависимого выпадающего списка.

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

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

      Присвоим имена двум диапазонам. Список всех категорий и рабочий список категорий. Это будут диапазоны A3:A5 (список категорий в зеленой таблице на первом изображении) и G3:G15 (список повторяющихся категорий в фиолетовой рабочей таблице).

      Для того чтобы назвать список категорий:

      Категория.

      1. Выберите диапазон A3:A5.
      2. В поле имени (поле слева от строки формулы) введите название «Категория».
      3. Подтвердите с помощью клавиши Enter.

      Такое же действие совершите для диапазона рабочего списка категорий G3:G15, который вы можете вызвать «Рабочий_Список». Этот диапазон мы будем использовать в формуле.

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

      Это будет просто:

      Список.

      1. Выберите ячейку, в которую вы хотите поместить список. В моем случае это A12.
      2. В меню «ДАННЫЕ» выберите инструмент «Проверка данных». Появится окно «Проверка вводимых значений».
      3. В качестве типа данных выберите «Список».
      4. В качестве источника введите: =Категория (рисунок ниже).
      5. Подтвердите с помощью OK.

      Проверка вводимых значений – Категория.

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

      Раскрывающийся список для категории.

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

      Сейчас будет весело. Создавать списки мы умеем — только что это сделали для категории. Только единственный вопрос: «Как сказать Excelю выбрать только те значения, которые предназначены для конкретной категории?» Как вы, наверное, догадываетесь, я буду использовать здесь рабочую таблицу и, конечно же, формулы.

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

      В источник списка введите следующую формулу:

      Вид окна «Проверка вводимых значений»:

      формула.

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

      Как видите, весь трюк зависимого списка состоит в использовании функции СМЕЩ. Ну хорошо, почти весь. Помогают ей функции ПОИСКПОЗ и СЧЕТЕСЛИ. Функция СМЕЩ позволяет динамически определять диапазоны. Вначале мы определяем ячейку, от которой должен начинаться сдвиг диапазона, а в последующих аргументах определяем его размеры.

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

      Поскольку рабочая таблица отсортирована по Категории, то диапазон, который должен быть источником для раскрывающегося списка, будет начинаться там, где впервые встречается выбранная категория. Например, для категории Питание мы хотим отобразить диапазон H6:H11, для Транспорта — диапазон H12: H15 и т. д. Обратите внимание, что все время мы перемещаемся по столбцу H, а единственное, что изменяется, это начало диапазона и его высота (то есть количество элементов в списке).

      Начало диапазона будет перемещено относительно ячейки H2 на такое количество ячеек вниз (по числу), сколько составляет номер позиции первой встречающейся категории в столбце Категория. Проще будет понять на примере: диапазон для категории Питание перемещен на 4 ячейки вниз относительно ячейки H2 (начинается с 4 ячейки от H2). В 4-ой ячейке столбца Подкатегория (не включая заголовок, так как речь идет о диапазоне с именем Рабочий_Список), есть слово Питание (его первое появление). Мы используем этот факт собственно для определения начала диапазона. Послужит нам для этого функция ПОИСКПОЗ (введенная в качестве второго аргумента функции СМЕЩ):

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

      Конечно же, обе функции уже включены в функцию СМЕЩ, которая описана выше. Кроме того, обратите внимание, что как в функции ПОИСКПОЗ, так и в СЧЕТЕСЛИ, есть ссылка на диапазон названный Рабочий_Список. Как я уже упоминал ранее, не обязательно использовать имена диапазонов, можно просто ввести $H3: $H15. Однако использование имен диапазонов в формуле делает ее проще и легко читаемой.

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

      Одна формула, ну не такая уж и простая, но облегчающая работу и защищает от ошибок при вводе данных!

      Два варианта использования этого трюка я уже представил. Интересно, как вы его будете использовать?

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *