
Поиск с помощью формы данных
Форма данных представляет собой средство для поиска и редактирования записей, которые удовлетворяют простому или множественному критерию сравнения. В форме данных условия в критерии должны соответствовать логической операции и. Здесь нельзя использовать логическую операцию или и конструировать вычисляемые критерии. В форме данных при вводе критерия для поиска некоторого фрагмента текста всегда считается, что шаблон поиска заканчивается символом *.
Поиск с помощью формы данных производится следующим образом:
Поместите указатель ячейки в любое место внутри списка.
Выберите команду Данные | Форма, затем нажмите кнопку Критерии (рис. 8.4).
Рис. 8.4. Поиск с помощью формы данных
3. В открывшемся окне введите критерии поиска в необходимых полях. Для перехода к записи, удовлетворяющей критерию, следует нажать кнопку Далее или Назад.
Поиск с помощью автофильтра
Автофильтр позволяет вывести на рабочий лист все записи, удовлетворяющие заданному критерию. Автофильтр предлагает три метода фильтрации данных:
□ установку необходимых значений полей для поиска точного соответствия (рис. 8.5);
Рис. 8.5. Поиск с помощью автофильтра по точному соответствию
П применение пользовательского автофильтра Условие— позволяет осуществить поиск близкого соответствия на основе критериев и/или (рис. 8.6);
□ использование команды Первые 10 (рис. 8.7) для отбора некоторого количества наибольших или наименьших элементов списка (в основном необходимо хотя бы одно поле с числами).
Рис.
8.6. Поиск с помощью пользовательского
автофильтра
Поиск с помощью автофильтра производится в следующем порядке:
Установите указатель ячейки в список данных.
Выполните команду Данные | Фильтр | Автофильтр. Возле каждого поля строки заголовка появятся раскрывающиеся списки в виде кнопки с треугольником.
Перейдите к необходимому полю.
Выберите необходимый критерий поиска или воспользуйтесь пользовательским автофильтром Условие.
Для включения в критерий другого поля возвратитесь к пункту 1.
Поиск с помощью расширенного фильтра
Расширенный фильтр позволяет одновременно или по отдельности применять операции и, или и составлять вычисляемые кри-
Поиск с помощью расширенного фильтра предполагает использование следующей методики:
1. Подготовить диапазон критериев для расширенного фильтра:
верхняя строка должна содержать заголовки полей, по которым будет производиться отбор (точное соответствие заголовкам полей списка);
условия критериев поиска записываются в пустые строки под подготовленной строкой заголовка, причем следует учитывать, что:
0 выполнение условия и требует располагать критерии поиска рядом в одной строке;
D выполнение условия или требует располагать критерии в разных строках;
а поиск по вычисляемому критерию включает формулы (пользовательские или функции MS Excel), в которых аргументами являются поля списка. Вычисляемый критерий располагается под некоторым заголовком, например, Условие, который не должен совпадать ни с одним именем поля списка. Ссылки на список используются относительные. Они указывают на верхние записи в диапазоне данных списка. Ссылки на ячейки вне списка берутся абсолютными. Вычисляемый критерий может включать несколько функций и зависеть от нескольких полей. Результатом вычисления критерия должно быть логическое значение истина или ложь (расширенный фильтр отбирает записи, соответствующие критерию истина);
п в случае сложного условия поиск данных осуществляется по составному критерию с применением отбора по и и или. Критерий следует составлять с помощью логических функций и (), или (), не ().
Поместить указатель ячейки в список (или выделить весь необходимый список).
Выполнить команду Данные | Фильтр | Расширенный фильтр. В диалоговом окне Расширенный фильтр (рис. 8.8):
указать в области Обработка место, куда будут помещаться результаты выборки данных;
в поле Исходный диапазон пометить весь список, подлежащий фильтрации (как правило, после помещения указателя ячейки в список данный диапазон выделяется по умолчанию);
в поле Диапазон условий указать подготовленный диапазон условий отбора записей (удобно выделить мышью на рабочем листе);
если отобранные записи необходимо поместить в другое место, в поле Поместить результат в диапазон указать соответствующее место для отобранных данных;
для отбора уникальных записей (без повторений) необходимо установить флажок Только уникальные записи.
Результаты расширенной фильтрации отображаются на данном эабочем листе или копируются в другое место.
Рис. 8.8. Окно Расширенный фильтр
ПРИМЕР
Определить, имеются ли в предложенном списке (см. рис. 8.1) белые машины, год выпуска которых больше 1995 и цена которых находится в диапазоне от 3000 до 16 000 у. е., или черные Мерседесы, пробег которых более 23 000 км, но менее 150 000 км.
Решение
Откройте список, подлежащий фильтрации (список располагается в диапазоне А1:ЛЗЗ, строка заголовка— в диапазоне А1:Л).
Сформируйте диапазон критериев для расширенного фильтра в соответствии с рис. 8.9.
Рис. 8.9. Диапазон критериев для расширенного фильтра к задаче про белые и черные машины
Выполните команду Данные | Фильтр | Расширенный фильтр.
Отфильтрованные данные приведены на рис. 8.10.
Рис. 8.10. Данные к задаче про белые и черные машины, отобранные расширенным фильтром
ПРИМЕР
Определить, имеются ли в списке (см. рис. 8.1) машины, год выпуска которых больше 1990 и пробег которых более 100 00 км, но менее 100 000 км, или черные Мерседесы, цена которых более 20 000 у. е., но менее 30 000 у. е.
Решение
Откройте список, подлежащий фильтрации (список располагается в диапазоне А1:ЛЗЗ, строка заголовка— в диапазоне А1:Л).
Сформируйте вычисляемый критерий для расширенного фильтра в диапазоне МЗ:М4 (рис. 8.11). В ячейку МЗ введите Условие. В ячейку М4 введите формулу:
HOTM(M(G2>10000;G2<100000;D2>1990);И(С2="Мерседес"; Г2="черный";Н2>20000;Н2О0000) )
Рис. 8.11. Вычисляемый критерий для расширенного фильтра к задаче о пробеге
Выполните команду Данные | Фильтр | Расширенный фильтр.
Отфильтрованные данные представлены на рис. 8.12.
Рис. 8.12. Данные к задаче о пробеге, отобранные расширенным фильтром
ПРИМЕР
Определить автомобили белого или красного цвета, цена которых меньше средней цены для всех автомобилей и пробег которых больше либо равен среднему пробегу для всех автомобилей (см. рис. 8.1).
Решение
Откройте список, подлежащий фильтрации (список располагается в диапазоне А1:ЛЗЗ, строка заголовка— в диапазоне А1:Л).
Сформируйте вычисляемый критерий для расширенного фильтра в диапазоне L1:L2 (рис. 8.13). В ячейку L1 введите условие. В ячейку L2 введите формулу:
=И (Mm(F2="белый";F2="красный");Н2<СРЗНАЧ($Н$2:$Н$133); G2>=CP3HA4($G$2:$G$133))
Рис. 8.13. Диапазон для вычисляемого критерия, включающего среднюю цену и средний пробег автомобилей
Выполните команду Данные | Фильтр | Расширенный фильтр.
Отфильтрованные данные представлены на рис. 8.14.
Рис. 8.14. Данные к задаче о средней цене и среднем пробеге автомобилей, отобранные расширенным фильтром
ПРИМЕР
Определить города, давление воздуха в которых больше максимального значения для города Гродно, или города, осадки в которых — дождь или снег, а их количество превышает среднее для всех видов осадков не более чем на 23%.
Решение
1. Откройте список, подлежащий фильтрации (предположим, что этот список располагается в диапазоне B1:J49, строка заголовка — в диапазоне В1:Л).
Рис. 8.15. Диапазон для вычисляемого критерия для задачи, содержащей условия по осадкам
2. Сформируйте вычисляемый критерий для расширенного фильтра в диапазоне L1:L2 (рис. 8.15). В ячейку L1 введите Условие. В ячейку L2 введите формулу:
=ИЛИ(И(02о"Гродно";Н2>МАКС($Н$26:$Н$33));И(Ш1И(Е2="дождь"; Е2="снег");ИЛИ(И((F2-CyMMECJM ($Е$2:$Е$4 9;"дождь"; $F$2:$F$49)/СЧЕТЕСЛИ($Е$2:$Е$49;"дождь"))/
(СУММЕСЛИ($Е$2:$Е$49;"дождь";$F$2:$F$49)/ СЧЕТЕСЛИ($Е$2:$Е$4 9;"дождь"))*100>0;
(F2-CyMMECnH($E$2:$E$4 9;"flOWb";$F$2:$F$49) / СЧЕТЕСЛИ($Е$2:$Е$4 9;"дождь"))/(СУММЕСЛИ($Е$2:$Е$4 9;"дождь";
$F$2:$F$49)/СЧЕТЕСЛИ($Е$2:$Е$49;"дождь"))*100<23);
И((F2-CyMMECJB4($E$2:$E$49;"cHer";$F$2:$F$49) /
СЧЕТЕСЛИ($Е$2:$Е$49;"снег"))/(СУММЕСЛИ($Е$2:$E$49;"снег";
$F$2:$F$49)/СЧЕТЕСЛИ($Е$2:$Е$49;"снег"))*100>0;
{F2-СУММЕСЛИ($E$2:$E$4 9;"снег";$F$2:$F$4 9)
/СЧЕТЕСЛИ($E$2:$E$49;"снег"))/(СУММЕСЛИ($E$2:$E$49;"снег";
$F$2:$F$49)/СЧЕТЕСЛИ($Е$2:$Е$49;"снег"))*100<23))))
Выполните команду Данные | Фильтр | Расширенный фильтр.
Отфильтрованные данные представлены на рис. 8.16.
Рис. 8.16. Данные, отобранные расширенным фильтром, к задаче с условиями по осадкам