Часто задаваемые вопросы

 

    ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

https://faq-ru.ru             

 

Как выбрать из выпадающего списка несколько элементов


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

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

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

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

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

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

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

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



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

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

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

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

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

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

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

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

  1. Сформируем именованный диапазон. Путь: «Формулы» - «Диспетчер имен» - «Создать». Вводим уникальное название диапазона – ОК.
  2. Создаем раскрывающийся список в любой ячейке. Как это сделать, уже известно. Источник – имя диапазона: =деревья.
  3. Снимаем галочки на вкладках «Сообщение для ввода», «Сообщение об ошибке». Если этого не сделать, Excel не позволит нам вводить новые значения.
  4. Вызываем редактор Visual Basic. Для этого щелкаем правой кнопкой мыши по названию листа и переходим по вкладке «Исходный текст». Либо одновременно нажимаем клавиши Alt + F11. Копируем код (только вставьте свои параметры).
  5. 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  
  6. Сохраняем, установив тип файла «с поддержкой макросов».
  7. Переходим на лист со списком. Вкладка «Разработчик» - «Код» - «Макросы». Сочетание клавиш для быстрого вызова – Alt + F8. Выбираем нужное имя. Нажимаем «Выполнить».

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

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

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

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

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

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

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

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

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

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

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

    1. Создаем стандартный список с помощью инструмента «Проверка данных». Добавляем в исходный код листа готовый макрос. Как это делать, описано выше. С его помощью справа от выпадающего списка будут добавляться выбранные значения.
    2. 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  
    3. Чтобы выбранные значения показывались снизу, вставляем другой код обработчика.
    4. 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  
    5. Чтобы выбираемые значения отображались в одной ячейке, разделенные любым знаком препина

exceltable.com

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

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

Давайте рассмотрим несколько типовых вариантов реализации такого списка с мультивыбором.

Вариант 1. Горизонтальный

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

Выпадающие списки в ячейках С2:С5 в данном примере создаются стандартным образом, т.е.

  1. выделить ячейки С2:С5
  2. на вкладке или в меню Данные (Data) выбрать команду Проверка данных (Data Validation)
  3. в открывшемся окне выбрать вариант Список (List) и указать в качестве диапазона Источник (Source) ячейки с исходными данными для списка A1:A8

Затем в модуль листа нужно добавить макрос, который и будет делать всю основную работу, т.е. добавлять выбранные значения справа от зеленых ячеек. Для этого щелкните правой кнопкой мыши по ярлычку листа с выпадающими списками и выберите команду Исходный текст (Source code). В открывшееся окно редактора Visual Basic нужно вставить следующий код:

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
 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
 

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

Вариант 2. Вертикальный

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

Делается совершенно аналогично, но немного меняется код макроса обработчика:

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

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

Вариант 3. С накоплением в той же ячейке

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

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

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
 

При желании, можно заменить символ-разделитель (запятую) в 9-й строке кода на свой (например, пробел или точку с запятой).

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

www.planetaexcel.ru

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

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

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

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

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

Ставим курсор на  следующую пустую ячейку под списком кликаем правой кнопкой мыши;  из контекстного меню выбираем команду. Или используем сочетание клавиш «Alt+ Стрелка вниз». Такой способ выбора из списка использовать приходиться не слишком часто. Наименования ведь редко повторяются.

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

 Как в эксель сделать выпадающий список с другого листа?

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

Выделяем нужную область и в верхней левом верхнем углу присваиваем  ей имя «Список_Кондит». У нас есть теперь первый ИМЕНОВАННЫЙ диапазон в нашей книге эксель. Чтобы  потом диапазонами управлять,  нужно открыть вкладку «Формулы» и найти там  «Диспетчер имен»:

Следующий шаг — идем обратно в наш лист где создана  основная таблица. Выделяем в графе нужные строки.  Идем во вкладку «Данные»- «Проверка данных». В строке «тип данных» выбираем «Список»….

А в строке «Источник»  копируем адрес нашего диапазона из «диспетчера имен»…

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

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

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

Сначала сделаем в листе «база» наши  будущие списки. У нас  будет три категории товара — полуфабрикаты, рыба и хлебобулочные. И мы заполним ими   три графы.

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

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

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

Ставим курсор в строку из  «Полуфабрикаты,  затем открываем вкладку «Главная» и жмем на  кнопку «Форматировать как таблицу». Дизайн выбираем любой.  Задаем по столбцу нужный вертикальный диапазон, включая  только строки с наименованиями;  ничего кроме диапазона не меняем.

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

Повторяем действо для граф «Рыба» и «Хлебобулочные».

Завешающий этап.  Встаем в  нужную строку таблицы, как обычно идем в «Данные»-«Проверка данных», выбираем тип «Список» и в качестве диапазона указываем на  соседнюю ячейку , т.е на ранее созданный список, но…

… с использованием в «Источнике» функции ДВССЫЛ. «=ДВССЫЛ($Е$6)». Эта функция возвращает ссылку на наши диапазоны т.е. предыдущие списки, а не содержимое ячейки.  Мы работаем с данными, в функцию просто их подставили. Наименование вводится вручную.

Обратите внимание на «источник». Указана абсолютная адресация столбца и ячейки (через знаки «$»). Чтобы распространить в таком виде на остальные строки, нужно будет указывать для каждой строки свой источник данных. Это долго. Можно аккуратно убрать абсолютную адресацию руками из «источника» и после скопировать ячейку на остальные строки ниже. Тогда «формула»  распространится корректно.

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

 

Делаем выпадающий список в ячейке  эксель с выбором по первой букве

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

В режиме конструктора вставим в наш документ элемент управления Active X «Поле со списком«:

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

  • ListFillRange —  сюда вставляем наш именованный диапазон из «диспетчера имен»;
  • LinkedCell — связанная ячейка, куда будет выводиться выбранный из списка элемент — нужно, если данные ее будут использоваться в других таблицах, формулах и т.д;
  • ListRows — количество отображаемых строк в списке;
  • Font —  выбираем шрифт, размер, стиль;
  • ForeColor и BackColor — цвет текста и фона;
  • ListRow —  количество возвращаемых  строк в списке;
  • PrintObject —  определяет — выводить элемент управления на печать или нет (истина или ложь)

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

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

Автор публикации

не в сети 2 часа

admin

0 Комментарии: 59Публикации: 340Регистрация: 04-09-2015

fast-wolker.ru

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

Видео

 У кого мало времени и нужно быстро ухватить суть - смотрим обучающее видео:

Кому интересны подробности и нюансы всех описанных способов - дальше по тексту.

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

Один щелчок правой кнопкой мыши по пустой ячейке под столбцом с данными, команда контекстного меню Выбрать из раскрывающегося списка (Choose from drop-down list) или нажать сочетание клавиш ALT+стрелка вниз. Способ не работает, если ячейку и столбец с данными отделяет хотя бы одна пустая строка или вам нужен товар, который еще ни разу не вводился выше:

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

  1. Выделите ячейки с данными, которые должны попасть в выпадающий список (например, наименованиями товаров).
  2. Если у вас Excel 2003 или старше - выберите в меню Вставка - Имя - Присвоить (Insert - Name - Define), если Excel 2007 или новее - откройте вкладку Формулы (Formulas) и воспользуйтесь кнопкой Диспетчер имен (Name Manager), затем Создать. Введите имя (можно любое, но обязательно без пробелов и начать с буквы!) для выделенного диапазона (например Товары). Нажмите ОК.
  3. Выделите ячейки (можно сразу несколько), в которых хотите получить выпадающий список и выберите в меню (на вкладке) Данные - Проверка (Data - Validation). Из выпадающего списка Тип данных (Allow) выберите вариант Список (List) и введите в строчку Источник (Source) знак равенства и имя диапазона (т.е. =Товары).

Нажмите ОК.

Все! Наслаждайтесь!

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

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

Этот способ представляет собой вставку на лист нового объекта - элемента управления "поле со списком" с последующей привязкой его к диапазонам на листе. Для этого:

  1. В Excel 2007/2010 откройте вкладку Разработчик (Developer). В более ранних версиях - панель инструментов Формы (Forms) через меню Вид - Панели инструментов - Формы (View - Toolbars - Forms). Если этой вкладки не видно, то нажмите кнопку Офис - Параметры Excel - флажок Отображать вкладку Разработчик на ленте (Office Button - Excel Options - Show Developer Tab in the Ribbon)
  2. Найдите значок выпадающего списка среди элементов управления форм (не ActiveX!). Ориентируйтесь по всплывающим подсказкам - Поле со списком:

    Щелкните по значку и нарисуйте небольшой горизонтальный прямоугольник - будущий список.
  3. Щелкните по нарисованному списку правой кнопкой мыши и выберите команду Формат объекта (Format control). В появившемся диалоговом окне задайте
    • Формировать список по диапазону - выделите ячейки с наименованиями товаров, которые должны попасть в список
    • Связь с ячейкой - укажите ячейку куда нужно выводить порядковый номер выбранного пользователем элемента.
    • Количество строк списка - сколько строк показывать в выпадающем списке. По умолчанию - 8, но можно больше, чего не позволяет предыдущий способ.

После нажатия на ОК списком можно пользоваться.

Чтобы вместо порядкового номера элемента выводилось его название можно дополнительно использовать функцию ИНДЕКС (INDEX), которая умеет выводить содержимое нужной по счету ячейки из диапазона:

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

Этот способ частично напоминает предыдущий. Основное отличие в том, что на лист добавляется не элемент управления, а элемент ActiveX "Поле со списком" из раскрывающегося набора под кнопкой Вставить (Insert) с вкладки Разработчик (Developer):

Механизм добавления тот же - выбираем объект из списка и рисуем его на листе. А вот дальше начинаются серьезные отличия от предыдущего способа.

Во-первых, созданный выпадающий ActiveX список может находится в двух принципиально разных состояниях - режиме отладки, когда можно настраивать его параметры и свойства, двигать его по листу и менять размеры и - режиме ввода, когда единственное, что можно - выбирать из него данные. Переключение между этими режимами происходит с помощью кнопки Режим Конструктора (Design Mode) на вкладке Разработчик (Developer):

Если эта кнопка нажата, то мы можем настраивать параметры выпадающего списка, нажав соседнюю кнопку Свойства (Properties), которая откроет окно со списком всех возможных настроек для выделенного объекта:

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

  • ListFillRange - диапазон ячеек, откуда берутся данные для списка. Выделить мышью диапазон он не даст, надо просто вписать его руками с клавиатуры (например, Лист2!A1:A5)
  • LinkedCell - связанная ячейка, куда будет выводиться выбранный из списка элемент
  • ListRows - количество отображаемых строк
  • Font - шрифт, размер, начертание (курсив, подчеркивание и т.д. кроме цвета)
  • ForeColor и BackColor - цвет текста и фона, соответственно

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

При использовании этого способа, также возможно указывать в качестве ListFillRange не только одномерные диапазоны. Можно, например задать диапазон из двух столбцов и нескольких строк, указав дополнительно, что выводить нужно два столбца (свойство ColumnCount=2). Тогда можно получить весьма привлекательные результаты, окупающие все потраченные на дополнительные настройки усилия:

 

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

  Способ 1. Примитивный Способ 2. Стандартный Способ 3. Элемент управления Способ 4. Элемент ActiveX
Сложность низкая средняя высокая высокая
Возможность настройки шрифта, цвета и т.д. нет нет нет да
Количество отображаемых строк всегда 8 всегда 8 любое любое
Быстрый поиск элемента по первым буквам нет нет нет да
Необходимость использования дополнительной функции ИНДЕКС нет нет да нет
Возможность создания связанных выпадающих списков нет да нет нет

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

www.planetaexcel.ru

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

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

В этой статье

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

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

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

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

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

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

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

  • разрешить выбор нескольких элементов списка;

  • разрешить ввод в список собственного значения;

  • по умолчанию отображать большинство элементов списка в форме или все элементы;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Поместите курсор в то место шаблона формы, куда вы хотите вставить элемент управления.

  2. Если область задач Элементы управления не отображается, щелкните Другие элементы управления в меню Вставка или нажмите клавиши ALT+I, C.

  3. В области задач Элементы управления сделайте одно из следующего:

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

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

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

  4. В разделе Вставить элементы управления выберите элемент Список с множественным выбором.

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

  6. В шаблоне формы слева от списка с множественным выбором или над ним введите текст подписи, добавив после него двоеточие (:).

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

  8. Откройте вкладку Данные.

  9. Выполните одно из следующих действий для заполнения списка.

    Ввод значений списка вручную

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

    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 рядом с полем Отображаемое имя, щелкните поле, содержащее значения, которые выводятся в списке, и нажмите кнопку ОК.

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

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

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

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

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

  • Чтобы одновременно изменить ширину нескольких списков, выберите их, нажмите клавиши ALT+ВВОД, откройте вкладку Размер, а затем в поле Ширина введите новое значение.

  • Чтобы одновременно изменить цвет фона для нескольких списков, выберите их. В меню Формат нажмите кнопку Границы и заливка и внесите необходимые изменения на вкладке Заливка.

  • Чтобы настроить шрифт, который используется для текста рядом с флажками в списке со множественным выбором, используйте поля Шрифт и Размер шрифта на панели инструментов Форматирование. Чтобы одновременно изменить шрифт и размер шрифта для всех таких списков в шаблоне формы, щелкните список с нужным форматированием, а затем в меню Формат нажмите кнопку Применить шрифт ко всем элементам управления "Список с множественным выбором".

  • Если вы хотите изменить интервал между списком с множественным выбором и объектами вокруг него, поэкспериментируйте с параметрами полей на вкладке Размер в диалоговом окне Свойства: Список с множественным выбором. С помощью полей можно точнее задать интервал, чем с помощью разрывов абзацев.

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

support.office.com

Создание раскрывающегося списка - Служба поддержки Office

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

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

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

  2. Выделите ячейки, для которых нужно ограничить ввод данных.

  3. На вкладке Данные в группе Инструменты нажмите кнопку Проверка данных или Проверить.

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

  4. Откройте вкладку Параметры и во всплывающем меню Разрешить выберите пункт Список.

  5. Щелкните поле Источник и выделите на листе список допустимых элементов.

    Диалоговое окно свернется, чтобы было видно весь лист.

  6. Нажмите клавишу ВВОД или кнопку Развернуть , чтобы развернуть диалоговое окно, а затем нажмите кнопку ОК.

    Советы: 

    • Значения также можно ввести непосредственно в поле Источник через запятую.

    • Чтобы изменить список допустимых элементов, просто измените значения в списке-источнике или диапазон в поле Источник.

    • Можно указать собственное сообщение об ошибке, которое будет отображаться при вводе недопустимых данных. На вкладке Данные нажмите кнопку Проверка данных или Проверить, а затем откройте вкладку Сообщение об ошибке.

См. также

Применение проверки данных к ячейкам

  1. На новом листе введите данные, которые должны отображаться в раскрывающемся списке. Желательно, чтобы элементы списка содержались в таблице Excel.

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

  3. На ленте откройте вкладку Данные и нажмите кнопку Проверка данных.

  4. На вкладке Параметры в поле Разрешить выберите пункт Список.

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

    Фрукты;Овощи;Зерновые культуры;Молочные продукты;Перекусы

  6. Если можно оставить ячейку пустой, установите флажок Игнорировать пустые ячейки.

  7. Установите флажок Список допустимых значений

  8. Откройте вкладку Сообщение для ввода.

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

  9. Откройте вкладку Сообщение об ошибке.

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

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

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

support.office.com

Выбор из списка в excel нескольких значений

Microsoft Excel: выпадающие списки

​Смотрите также​ свободен, т.е. не​ таблицы функция МИН​ это выбирать из​4 способа создать выпадающий​на вкладке​ на свой).​ Toyota, Ford и​ с установленным​ Target As Range)​ квадратные скобки. Этот​ в ячейку с​

​ именованные диапазоны для​B5:B22​

Создание дополнительного списка

​ основе Проверки данных​ функцию «=ДВССЫЛ» и​ включить. Для этого,​При работе в программе​ исчерпал запас допустимых​ выберет наименьший номер​

​ исходной таблицы (указывается​ список в ячейках​Формулы (Formulas)​Все. После нажатия на​ Nissan:​.MultiSelect = fmMultiSlectMulti​On Error Resume​ файл должен быть​ этим списком. И​ их Стран.​;​ рассмотрим на конкретном​ адрес первой ячейки.​ переходим во вкладку​ Microsoft Excel в​

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

​tatanya​ Next​ открыт. Если книга​ данные автоматически добавлялись​Чтобы не создавать десятки​вызываем инструмент Проверка данных;​ примере.​ Например, =ДВССЫЛ($B3).​ «Файл» программы Excel,​ таблицах с повторяющимися​ один столбец и​ строка будет содержать​

​ – A6:A18) значения​Автоматическое создание выпадающих списков​ 2003 это была​содержимое второго списка​ Тойоты (с ячейки​: Я понимаю, что​If Not Intersect(Target,​ с нужными значениями​

​ в диапазон.​ имен, нужно изменить​устанавливаем тип данных –​Задача​Как видим, список создан.​ а затем кликаем​ данными, очень удобно​ введем в него​ первое наименьшее число,​ соответственные определенным числам.​ при помощи инструментов​ команда меню​

​ будет выбираться по​ А2 и вниз​ нужен макрос, но​ Range("C2:C5")) Is Nothing​ находится в другой​Сформируем именованный диапазон. Путь:​ сам подход при​ Список;​: Имеется перечень Регионов,​

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

​Теперь, чтобы и нижние​ по надписи «Параметры».​ использовать выпадающий список.​ формулу, которая будет​ которое встречается в​ ИНДЕКС работает с​ надстройки PLEX​Вставка - Имя -​ имени диапазона, выбранного​ до конца списка)​ я в этом​ And Target.Cells.Count =​ папке, нужно указывать​ «Формулы» - «Диспетчер​

​ построении Связанного списка.​в поле Источник вводим:​ состоящий из названий​ ячейки приобрели те​В открывшемся окне переходим​ С его помощью​

​ выводить номера свободных​ столбце B6:B18. На​ учетом критериев определённых​Выбор фото из выпадающего​ Присвоить (Insert -​ в первом списке.​ и дадим этому​ ничего не понимаю,​ 1 Then​ путь полностью.​ имен» - «Создать».​ Рассмотрим этот подход​ =ДВССЫЛ(A5)​ четырех регионов. Для​

​ же свойства, как​ в подраздел «Настройка​ можно просто выбирать​ сотрудников:​ основании этого номера​

​ во втором (номер​ списка​ Name - Define)​Минусы​

​ диапазону имя​ а мне очень​Application.EnableEvents = False​Возьмем три именованных диапазона:​ Вводим уникальное название​ в другой статье:​Важно, чтобы при создании​

​ каждого Региона имеется​ и в предыдущий​ ленты», и ставим​ нужные параметры из​=ЕСЛИ(F2-G2​

​ строки функции ИНДЕКС​ строки внутри таблицы)​

my-excel.ru

5 способов создания выпадающего списка в ячейке Excel

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

Как нам это может пригодиться?

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

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

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

1 - Самый быстрый способ.

Как проще всего добавить выпадающий список? Всего один щелчок правой кнопкой мыши по пустой клетке под столбцом с данными, затем команда контекстного меню "Выберите из раскрывающегося списка" (Choose from drop-down list). А можно просто стать в нужное место и нажать сочетание клавиш Alt+стрелка вниз. Появится отсортированный перечень уникальных ранее введенных значений.
Способ не работает, если нашу ячейку и столбец с записями отделяет хотя бы одна пустая строка или вы хотите ввести то, что еще не вводилось выше. На нашем примере это хорошо видно.

2 - Используем меню.

Давайте рассмотрим небольшой пример, в котором нам нужно постоянно вводить в таблицу одни и те же наименования товаров. Выпишите в столбик данные, которые мы будем использовать (например, названия товаров). В нашем примере - в диапазон G2:G7.

Выделите ячейку таблицы (можно сразу несколько), в которых хотите использовать ввод из заранее определенного перечня. Далее в главном меню выберите на вкладке Данные – Проверка... (Data – Validation). Далее нажмите пункт Тип данных (Allow) и выберите вариант Список (List). Поставьте курсор в поле Источник (Source) и впишите в него адреса с эталонными значениями элементов - в нашем случае G2:G7. Рекомендуется также использовать здесь абсолютные ссылки (для их установки нажмите клавишу F4).

Бонусом здесь идет возможность задать подсказку и сообщение об ошибке, если автоматически вставленное значение вы захотите изменить вручную. Для этого существуют вкладки Подсказка по вводу (Input Message) и Сообщение об ошибке (Error Alert).

В качестве источника можно использовать также и именованный диапазон.

К примеру, диапазону I2:I13, содержащему названия месяцев, можно присвоить наименование "месяцы". Затем имя можно ввести в поле "Источник".

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

Но вы можете и не использовать диапазоны или ссылки, а просто определить возможные варианты прямо в поле "Источник". К примеру, написать там -

Да;Нет

Используйте для разделения значений точку с запятой, запятую, либо другой символ, установленный у вас в качестве разделителя элементов. (Смотрите Панель управления - Часы и регион - Форматы - Дополнительно - Числа.)

3 - Создаем элемент управления.

Вставим на лист новый объект – элемент управления "Поле со списком" с последующей привязкой его к данным на листе Excel. Делаем:

  1. Откройте вкладку Разработчик (Developer). Если её не видно, то в Excel 2007 нужно нажать кнопку Офис – Параметры – флажок Отображать вкладку Разработчик на ленте (Office Button – Options – Show Developer Tab in the Ribbon) или в версии 2010–2013 щелкните правой кнопкой мыши по ленте, выберите команду Настройка ленты (Customize Ribbon) и включите отображение вкладки Разработчик (Developer) с помощью флажка.
  2. Найдите нужный значок среди элементов управления (см.рисунок ниже).

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

Но нам ведь нужен не этот номер, а соответствующее ему слово. Используем функцию ИНДЕКС (INDEX в английском варианте). Она позволяет найти в списке значений одно из них соответственно его порядковому номеру. В качестве аргументов ИНДЕКС укажите диапазон ячеек (F5:F11) и адрес с полученным порядковым номером (F2).

Формулу в F3 запишем, как показано на рисунке:

=ИНДЕКС(F5:F11;F2)

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

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

4 - Элемент ActiveX

Действуем аналогично предыдущему способу, но выбираем иконку чуть ниже - из раздела "Элементы ActiveX".

Определяем перечень допустимых значений (1). Обратите внимание, что здесь для показа можно выбирать сразу несколько колонок. Затем выбираем адрес, по которому будет вставлена нужная позиция из перечня (2).Указываем количество столбцов, которые будут использованы как исходные данные (3), и номер столбца, из которого будет происходить выбор для вставки на лист (4). Если укажете номер столбца 2, то в А5 будет вставлена не фамилия, а должность. Можно также указать количество строк, которое будет выведено в перечне. По умолчанию - 8. Остальные можно прокручивать мышкой (5).

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

5 - Список с автозаполнением

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

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

Способ 1. Укажите заведомо большой источник.

Самая простая и несложная хитрость. В начале действуем по обычному алгоритму действий: в меню выбираем на вкладке Данные – Проверка ... (Data – Validation). Из перечня Тип данных (Allow) выберите вариант Список (List). Поставьте курсор в поле Источник (Source).  Зарезервируем в списке набор с большим запасом: например, до 55-й строки, хотя занято у нас только 7. Обязательно не забудьте поставить галочку в чекбоксе "Игнорировать пустые ...". Тогда ваш "резерв" из пустых значений не будет вам мешать.

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

Конечно, в качестве источника можно указать и весь столбец:

=$A:$A

Но обработка такого большого количества ячеек может несколько замедлить вычисления.

Способ 2. Применяем именованный диапазон.

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

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

Выделим имеющийся в нашем распоряжении перечень имен A2:A10. Затем присвоим ему название, заполнив поле "Имя", находящееся левее строки формул. Создадим в С2 перечень значений. В качестве источника для него укажем выражение

=имя

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

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

Главное неудобство пользования таким списком заключается в том, что используемый нами диапазон - статический. Автоматически его размеры измениться не могут. Согласитесь, не слишком удобный и технологичный способ. Слишком много ручных операций.

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

Способ 3. "Умная" таблица нам в помощь.

Начиная с 2007 года таблица для Excel - уже не просто набор строк и столбцов. Если вы просто расположите показатели с привычном для нас табличном виде, то он не будет считать их таблицей. Существует специальное форматирование, после чего диапазон начинает вести себя как единое целое, приобретая целый ряд интересных свойств. В частности, он начинает сам отслеживать свои размеры, динамически изменяясь при корректировке данных.

Любой набор значений в таблице может быть таким образом преобразован. Например, A1:A8. Выделите их мышкой. Затем преобразуйте в таблицу, используя меню Главная - Форматировать как таблицу (Home - Format as Table). Укажите, что в первой строке у вас находится название столбца. Это будет "шапка" вашей таблицы. Внешний вид может быть любым: это не более чем внешнее оформление и ни на что больше оно не влияет.

Как уже было сказано выше, "умная" таблица хороша для нас тем, что динамически меняет свои размеры при добавлении в нее информации. Если в строку ниже нее вписать что-либо, то она тут же присоединит к себе её. Таким образом, новые значения можно просто дописывать. К примеру, впишите в A9 слово "кокос", и таблица тут же расширится до 9 строк.

Следовательно, автоматическое обновление набора используемой информации в списке можно организовать, если использовать содержимое какого-либо столбца "умной" таблицы.

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

=Таблица1[Столбец1]

и не считает его формулой. Хотя в обычных выражениях на листе вашей рабочей книги это вполне будет работать. Эта конструкция обозначает ссылку на первый столбец. Но в поле "Источник" она почему-то игнорируется.

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

Формула теперь будет выглядеть следующим образом:

=ДВССЫЛ("Таблица5[Продукт]")

Таблица5 - имя, автоматически присвоенное "умной таблице". У вас оно может быть другим. На вкладке меню Конструктор (Design) можно изменить стандартное имя на свое (но без пробелов!). По нему мы сможем потом адресоваться к нашей таблице на любом листе книги.

"Продукт" - название нашего первого и единственного столбца, присвоено по его заголовку.

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

Теперь если в A9 вы допишете еще один фрукт (например, кокос), то он тут же автоматически появится и в нашем перечне. Аналогично будет, если мы что-то удалим. Задача автоматического увеличения выпадающего списка значений решена.

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

А вот еще полезная для вас информация:

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

mister-office.ru

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

Предположим, что у нас есть справочник с именами сотрудников и таблица, куда этих сотрудников нужно вносить:


Задача состоит из двух частей:

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

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

Шаг 1. Создаем умную таблицу

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

Для этого выделим весь справочник (ячейки A1:A7) и нажмём сочетание клавиш Ctrl+T или выберем Главная - Форматировать как таблицу (Home - Format as Table). В следующем окне можно смело жать ОК:

Шаг 2. Создаем динамический именованный диапазон

Теперь создадим именованный диапазон, указывающий на заполненные именами ячейки в нашем справочнике. Для этого выделим в справочнике уже только имена без шапки (ячейки A2:A7) и в левой части строки формул (там будет имя таблицы) введём имя для нашего диапазона (например Люди):


После ввода имени обязательно нужно нажать на клавишу Enter - слово Люди исчезнет из этого поля, но диапазон будет создан.

Хитрость тут в том, что поскольку мы выделяли столбец уже в "умной" таблице, то и именованный диапазон у нас получился завязанным на колонку [Справочник], а не на конкретные выделенные ячейки. Убедиться в этом можно, если выбрать на вкладке Формулы команду Диспетчер имен (Formulas - Name Manager) и посмотреть куда ссылается имя Люди:


Таким образом, при дописывании новых имен к справочнику будет расширяться наша "умная" Таблица1, а за ней и наш именованный диапазон Люди.

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

Выделяем жёлтые ячейки и жмем на вкладке Данные (Data) кнопку Проверка данных (Data Validation) 

Далее выбираем из выпадающего списка Тип данных (Allow) позицию Список (List) и вводим в строку Источник (Source) ссылку на созданный на шаге 1 именованный диапазон (не забудьте перед именем диапазона поставить знак равенства!):


Чтобы Excel позволил нам в будущем ввести в список и новые имена, снимем галочки на вкладках Сообщение для ввода (Input Message) и Сообщение об ошибке (Error Alert) и нажмем ОК. Выпадающий список готов!

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


Шаг 4. Добавляем простой макрос

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

Щёлкаем правой кнопкой мыши по ярлычку нашего листа и выбираем Просмотреть код (View Source). Откроется модуль листа в редакторе Visual Basic, куда надо скопировать такой код:

Private Sub Worksheet_Change(ByVal Target As Range)
 Set p = Range("Люди")
 If Target.Cells.Count > 1 Then Exit Sub
 If IsEmpty(Target) Then Exit Sub
 If Not Intersect(Target, Range("D2:D10")) Is Nothing Then
 If WorksheetFunction.CountIf(p, Target) = 0 Then
 r = MsgBox("Добавить новое имя в справочник?", vbYesNo)
 If r = vbYes Then p.Cells(p.Rows.Count + 1) = Target
 End If
 End If
 End Sub
 

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


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

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

www.planetaexcel.ru

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

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

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

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

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

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

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

Подробнее... Выбор фото из выпадающего списка

Хотите выбирать наименование товара из выпадающего списка и получать в соседней ячейке фотографию выбранного продукта? Или выбирать человека из списка и получить рядом его фотографию? Причем без всякого программирования - только с помощью формул?

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

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

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

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

Подробнее... Связанные (зависимые) выпадающие списки

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


www.planetaexcel.ru

Добавление и удаление элементов раскрывающегося списка

Изменение раскрывающегося списка, основанного на таблице Excel

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

  • Чтобы добавить элемент, перейдите в конец списка и введите новый элемент.

  • Чтобы удалить элемент, нажмите кнопку Удалить.

    Совет: Если удаляемый элемент находится в середине списка, щелкните его правой кнопкой мыши, выберите пункт Удалить, а затем нажмите кнопку ОК, чтобы сдвинуть ячейки вверх.

  1. Откройте лист, содержащий именованный диапазон для раскрывающегося списка.

  2. Выполните одно из указанных ниже действий.

    • Чтобы добавить элемент, перейдите в конец списка и введите новый элемент.

    • Чтобы удалить элемент, нажмите кнопку Удалить.

      Совет: Если удаляемый элемент находится в середине списка, щелкните его правой кнопкой мыши, выберите пункт Удалить, а затем нажмите кнопку ОК, чтобы сдвинуть ячейки вверх.

  3. На вкладке Формулы нажмите кнопку Диспетчер имен.

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

  5. Щелкните поле Диапазон, а затем на листе выберите все ячейки, содержащие записи для раскрывающегося списка.

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

Совет: Чтобы определить именованный диапазон, выделите его и найдите его имя в поле Имя. Сведения о поиске именованных диапазонов см. в статье Поиск именованных диапазонов.

  1. Откройте лист, содержащий данные для раскрывающегося списка.

  2. Выполните одно из указанных ниже действий.

    • Чтобы добавить элемент, перейдите в конец списка и введите новый элемент.

    • Чтобы удалить элемент, нажмите кнопку Удалить.

      Совет: Если удаляемый элемент находится в середине списка, щелкните его правой кнопкой мыши, выберите пункт Удалить, а затем нажмите кнопку ОК, чтобы сдвинуть ячейки вверх.

  3. На листе с раскрывающимся списком выделите содержащую список ячейку.

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

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

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

  1. На листе с раскрывающимся списком выделите содержащую список ячейку.

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

  3. На вкладке Параметры щелкните поле Источник и измените нужные элементы списка. Элементы должны быть разделены точкой с запятой, без пробелов между ними следующим образом: Да;Нет;Возможно

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

Изменение раскрывающегося списка, основанного на таблице Excel

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

  • Чтобы добавить элемент, перейдите в конец списка и введите новый элемент.

  • Чтобы удалить элемент, нажмите кнопку Удалить.

    Совет: Если удаляемый элемент находится в середине списка, щелкните его правой кнопкой мыши, выберите пункт Удалить, а затем нажмите кнопку ОК, чтобы сдвинуть ячейки вверх.

  1. Откройте лист, содержащий именованный диапазон для раскрывающегося списка.

  2. Выполните одно из указанных ниже действий.

    • Чтобы добавить элемент, перейдите в конец списка и введите новый элемент.

    • Чтобы удалить элемент, нажмите кнопку Удалить.

      Совет: Если удаляемый элемент находится в середине списка, щелкните его правой кнопкой мыши, выберите пункт Удалить, а затем нажмите кнопку ОК, чтобы сдвинуть ячейки вверх.

  3. На вкладке Формулы нажмите кнопку Диспетчер имен.

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

  5. Щелкните поле Диапазон, а затем на листе выберите все ячейки, содержащие записи для раскрывающегося списка.

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

Совет: Чтобы определить именованный диапазон, выделите его и найдите его имя в поле Имя. Сведения о поиске именованных диапазонов см. в статье Поиск именованных диапазонов.

  1. Откройте лист, содержащий данные для раскрывающегося списка.

  2. Выполните одно из указанных ниже действий.

    • Чтобы добавить элемент, перейдите в конец списка и введите новый элемент.

    • Чтобы удалить элемент, нажмите кнопку Удалить.

      Совет: Если удаляемый элемент находится в середине списка, щелкните его правой кнопкой мыши, выберите пункт Удалить, а затем нажмите кнопку ОК, чтобы сдвинуть ячейки вверх.

  3. На листе с раскрывающимся списком выделите содержащую список ячейку.

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

  5. В диалоговом окне на вкладке Параметры щелкните поле Источник, а затем на листе с записями для раскрывающегося списка выделите содержимое ячеек в Excel, в которых находятся эти записи. После выделения ячеек вы увидите, как изменится диапазон списка в поле "Источник".

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

  1. На листе с раскрывающимся списком выделите содержащую список ячейку.

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

  3. На вкладке Параметры щелкните поле Источник и измените нужные элементы списка. Элементы должны быть разделены точкой с запятой, без пробелов между ними следующим образом: Да;Нет;Возможно

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

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

  1. Выделите ячейки, в которых расположен раскрывающийся список.

  2. Выберите пункт Данные > Проверка данных.

  3. На вкладке Параметры щелкните в поле Источник. Затем выполните одно из указанных ниже действий.

    • Если поле "Источник" содержит записи раскрывающегося списка, разделенные запятыми, введите новые записи или удалите ненужные. После завершения записи должны быть разделены запятыми без пробелов. Например: Фрукты,Овощи,Мясо,Закуски.

    • Если поле "Источник" содержит ссылку на диапазон ячеек (например, =$A$2:$A$5), нажмите кнопку Отмена, а затем добавьте или удалите записи из этих ячеек. В этом примере можно добавить или удалить записи в ячейках А2–А5. Если окончательный список записей оказался больше или меньше исходного диапазона, вернитесь на вкладку Параметры и удалите содержимое поля Источник. Затем щелкните и перетащите указатель, чтобы выделить новый диапазон, содержащий записи.

    • Если поле "Источник" содержит именованный диапазон, например, "Отделы", необходимо изменить сам диапазон с помощью классической версии Excel.

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

support.office.com


Смотрите также

faq-ru.ru

  Карта сайта, XML.