Excel подсказка при вводе из списка

Обновлено: 01.05.2024

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

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

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

Как и многое в Excel создать такой список можно разными способами. У каждого из них есть свои плюсы и минусы.

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

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

Первый вариант выпадающего списка с поиском (динамические массивы)

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

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

Поможет в этом функция ПОИСК ( SEARCH ), которая ищет заданный набор символов и выдает либо порядковый номер первого символа в тексте, либо ошибку, если символы обнаружены не были.

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

Что мы получили в итоге?

Цифра "1" указывает нам позицию введенных символов в выбранном нами тексте (строка начинается с этих символов).

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

Если же введем « ива », то получим ошибку ЗНАЧ! , которая указывает на то, что такой комбинации символов в тексте не найдено.

Так работает функция ПОИСК и нам лишь остается указать весь диапазон, на который она должна распространяться. Для этого откорректируем формулу и подставим сюда весь диапазон - выбираем первую его ячейку (А2), а затем нажимаем сочетание клавиш Ctrl + Shift + стрелка вниз . Будет выбран весь неразрывный диапазон значений. В моем случае А2:А30. Нажимаем Enter и получаем диапазон значений, который представляет собой динамический массив . На это также указывает синий контур, обрамляющий значения.

Динамические массивы в Excel появились несколько лет назад, но до сих пор они доступны лишь пользователям Microsoft Office 365 и в онлайн-версии офисного пакета. В других версиях и редакциях Excel динамических массивов пока нет и вряд ли они там появится. Скорее всего в коробочной редакции Excel их стоит ждать лишь в следующей версии офисного пакета в 22-ом году.

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

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

Фактически нас интересуют только ячейки с числами, при этом сами значения неважны. Поэтому можем переконвертировать полученные значения в формат ИСТИНА/ЛОЖЬ .

Для этого воспользуемся функцией ЕЧИСЛО ( ISNUMBER ) и обернем ей созданную ранее формулу. В результате если в ячейке будет находиться число, то функция выдаст ИСТИНУ , иначе ЛОЖЬ .

Осталось лишь отфильтровать значения, ведь нас интересует только ИСТИНА . Воспользуемся функцией ФИЛЬТР ( FILTER ), которая позволяет работать с динамическими массивами.

Обернем созданную ранее формулу функцией ФИЛЬТР .

Первый аргумент функции - массив . Укажем диапазон с именами А2:А30. Далее нужно указать то, что нужно включить в новый диапазон, а это вычисляет ранее созданная формула. В качестве третьего аргумента зададим значение, которое будет выводиться в случае отсутствия искомых символов в тексте. Например, напишем « не найдено ».

Все, формула готова!

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

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

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

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

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

Шаг 1. Определяем, кто нам нужен

Сначала нам нужно понять, какие из исходных ячеек нужно показывать в списке, т.е. определить содержится ли введённый в выпадающем списке текст (например, жанр "детектив") в названии фильма. Для этого добавим слева от исходных данных еще один столбец с функцией ПОИСК (SEARCH ) , которая ищет заданную подстроку в тексте и выдает либо порядковый номер символа, где он был обнаружен, либо ошибку, если его там нет:

Ищем вхождения функцией ПОИСК

Теперь завернем нашу формулу в функцию проверки ЕЧИСЛО (ISNUMBER) , которая превратит числа в логическую ИСТИНУ (TRUE) , а ошибки - в ЛОЖЬ (FALSE) :

Превращаем в ИСТИНУ и ЛОЖЬ

Теперь сделаем так, чтобы ЛОЖЬ превратилась в 0, а вместо ИСТИНА в столбце появились последовательно возрастающие индексы-числа 1,2,3. и т.д. Это можно сделать с помощью добавления к нашей же формуле ещё парочки функций:

Создаем индексы

Здесь функция ЕСЛИ (IF) проверяет что мы имеем (ИСТИНУ или ЛОЖЬ), и

  • если была ИСТИНА, то выводит максимальное значение из всех вышестоящих чисел + 1
  • если была ЛОЖЬ, то выводит 0

Шаг 2. Отбираем в отдельный список

Дальше - проще. Теперь банальной функцией ВПР (VLOOKUP) просто выведём все найденные названия (я добавил столбец с порядковыми номерами для удобства):

Извлекаем нужные элементы

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

Тестируем отбор

Шаг 3. Создаем именованный диапазон

Теперь создадим именованный диапазон, который будет ссылаться на отобранные фильмы. Для этого выбрем на вкладке Формулы команды Диспетчер имен - Создать (Formulas - Name Manager - Create) :

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

Имя диапазона может быть любым (например, Фильмы), а самое главное - это функция СМЕЩ (OFFSET) , которая и делает всю работу. Напомню её синтаксис, если вы подзабыли:

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

Синтаксис СМЕЩ

  • В качестве начальной ячейки задаём первую ячейку списка отобранных элементов (E2).
  • Сдвиги вниз и вправо у нас отсутствуют, т.е. равны нулю.
  • Высота диапазона у нас соответствует максимальному значению индекса из столбца А.
  • Ширина диапазона - 1 столбец.

Осталось сделать выпадающий список.

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

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

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

Вот и всё. Можно жать на ОК и наслаждаться результатом:

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

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

Вып.список на динамических массивах

Всё, что мы делали на Шагах 1-3 заменяется одной(!) формулой, где новая функция ФИЛЬТР (FILTER) отбирает из исходного диапазона A2:A251 только те фильмы, которые содержат заданную подстроку.

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

И всё. Никаких именованных диапазонов и медленных СМЕЩ, никаких танцев с дополнительными столбцами и формулами. Песня!



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

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

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


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


В нашем случае ФИО детей будут выводиться в столбце А, а выпадающий список будет напротив каждой фамилии в соответствующей ячейке столбца B: B1, B2, B3 и т.д.

Шаг 3. Сделаем первый выпадающий список.

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


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


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


И в Источнике указываем диапазон ячеек, которые будут значениями выпадающего списка (то есть откуда в выпадающем списке будут браться варианты выбора). В нашем случае это столбец H.

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


Окно свернется до полосочки.


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


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


Для минимальной настройки выпадающего списка в Excel этого достаточно. Теперь просто нажимаем ОК и в дальнейшем не удаляем столбец со значениями для списка (в нашем случае столбец H).

Также данные для списка можно писать в Источнике через точку с запятой (по-русски) и через запятую (латинскими символами):


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

Как пользоваться выпадающим списком Execl?

Теперь в выбранной на шаге 3 ячейке появился выпадающий список, но, если ячейка не активна, его не видно.


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



Можно выбирать любое значение из списка.

Шаг 4. Создаем такие же списки в других ячейках.

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

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

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

Дополнительные настройки выпадающего списка

Дополнение 1. Подсказка при вводе данных в таблицу







— Как удалить данные из ячейки, если в ней выпадающий список, а нужно сделать пустую ячейку.

— Нужно щелкнуть по ячейке и нажать клавишу DEL.

— Как добавить в список новые значения для выбора или удалить ненужные?

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

— Как вообще удалить выпадающий список, а не только одно значение?

— Зайдите Данные — Проверка данных — Тип данных: Любое значение.


— Как сделать выпадающий список с данными, расположенными на другой странице?

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


Как сделать выпадающий список из данных, расположенных на другом листе? Нужно диапазону с вариантами выпадающего списка присвоить имя (Выделить диапазон — Формулы — Присвоить имя).



А затем на Шаге 3 в качестве источника указать это имя диапазона.


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

Видеоурок по теме

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


Понравился материал?
Хотите прочитать позже?
Сохраните на своей стене и
поделитесь с друзьями

Вы можете разместить на своём сайте анонс статьи со ссылкой на её полный текст


Ошибка в тексте? Мы очень сожалеем,
что допустили ее. Пожалуйста, выделите ее
и нажмите на клавиатуре CTRL + ENTER.

Кстати, такая возможность есть
на всех страницах нашего сайта

avatar

0 Спам Жаль что у самих преподавателей нет желания разрешить конфликт. Им дана власть н

Девиз: поднемите руки выше!
по

Отправляя материал на сайт, автор безвозмездно, без требования авторского вознаграждения, передает редакции права на использование материалов в коммерческих или некоммерческих целях, в частности, право на воспроизведение, публичный показ, перевод и переработку произведения, доведение до всеобщего сведения — в соотв. с ГК РФ. (ст. 1270 и др.). См. также Правила публикации конкретного типа материала. Мнение редакции может не совпадать с точкой зрения авторов.

Для подтверждения подлинности выданных сайтом документов сделайте запрос в редакцию.

О работе с сайтом

Мы используем cookie.

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

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

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

Вот и моя демонстрационная excel-таблица. Как её заполнять?

Вот и моя демонстрационная excel-таблица. Как её заполнять?

Подсказки в MS Excel

Первый способ вставки подсказки

Самый проcтой способ вставить примечание в лист MS Excel

Самый проcтой способ вставить примечание в лист MS Excel

Примечания вставлено

Удалить примечания можно только из контекстного меню мыши

Удалить примечания можно только из контекстного меню правой кнопки мыши

Второй способ вставки подсказки

Ещё один способ ввести подсказку интересен нам только с точки зрения того, о чем пойдет разговор дальше (фильтрации ввода), тем не менее знать о нем полезно.

Примечания в Excel с помощью проверки данных

Примечания в Excel с помощью проверки данных

Проверка по числу введенных символов

Проверка по числу введенных символов в MS Excel

Проверка по числу введенных символов в MS Excel

Слишком длинный текст! Excel стоит на страже и не пропустит такой очевидной ошибки

Слишком длинный текст! Excel стоит на страже и не пропустит такой очевидной ошибки

Проверка по числу

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

Проверка по числу в Excel

Проверка по числу в Excel

Фильтрация на ввод чисел работает ничуть не хуже

Фильтрация на ввод чисел работает ничуть не хуже

Выбор из имеющегося списка значений

А теперь, сделаем проверку по выпадающему списку в MS Excel

А теперь, сделаем проверку по выпадающему списку в MS Excel. Данные введем вручную, через точку с запятой.

проверка ввода данных в эксель

Выбор из списка на листе MS Excel

Выбор из списка на листе MS Excel. Других данных ввести не удастся.

Читайте также: