Просмотр новых публикаций

Последние сообщения с форума

Уэнсдэй (сериал 2022 – ...)
kishnin81, Кинообзор онлайн
0 Ответов
kishnin81
Легкий способ по смене ника на FunPay
kishnin81, Прочие статьи
1 Ответов
leeshyrank113
Riot Games Checker by HDF crack
kishnin81, Crack soft
3 Ответов
markgeologov
Соник 3 (2024)
kishnin81, Кинообзор онлайн
0 Ответов
kishnin81
Джокер: Безумие на двоих (2024)
kishnin81, Кинообзор онлайн
0 Ответов
kishnin81

Внимание! Если Вы видите рекламму на нашем ресурсе, установите для вашего браузера расширение Adblock Plus | AdBlocker Ultimate | Блокировщик рекламы |

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

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


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

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

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

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

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

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



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



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


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

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

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

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



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


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

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

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

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


 

У нас:
 

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

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

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

 

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



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

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

Скачать пример
 



Пароль к архивам: ComInet


27.02.2021 01:59 丨 Просмотров: 196 Комментарий: (0)


Автор материала
...
Логин на сайте: ...
Группа: ...
Статус: ...

Категория

Поделись с друзьями

Комментариев: 0
avatar