13.5 Фильтрация данных 13.5.1 Возможности фильтрации Фильтрация списка представляет собой один из способов управления данными списка, заключающийся в скрытии всех записей, кроме тех, которые отвечают условиям, заданным пользователем. Для отбора записей, удовлетворяющих определенным условиям, используется фильтр. При отборе записей по условиям фильтра Excel не различает строчные и прописные буквы.
Microsoft Excel предоставляет две команды фильтрации: Автофильтр, предназначенный для простых критериев, и Расширенный фильтр, использующийся для более сложных критериев.
Создайте базу данных товаров (см. табл. 13.2)
Таблица 13.2
Код товара
Наименование товара
Модель
Цена
2101
Видеокамера цифровая
Panasonic NV-GS76GCS
16 990
21019
Видеокамера цифровая
Samsung VР-D455 i
12 990
21017
Видеокамера цифровая
Samsung VР-D 462 Bi
11 990
2103
Видеокамера цифровая
Panasonic NV-GS6EES
8 990
21065
Микроволновая печь
Panasonic NN-C2003GZPE
16 490
21021
Микроволновая печь
Samsung С-100/R
4 490
21059
Мобильный телефон
Nokia 8800
39 999
21003
Мобильный телефон
Voxtel 3ID
13 999
21005
Ноутбук
Toshiba Satellite L10-194
44 990
21067
Ноутбук
ASUS A6Q
43 990
21069
Ноутбук
ASUS A3L
28 990
21065
Ноутбук
Compaq Р0840Е5 пэс6110
23 990
21061
Принтер лазерный
НР LJ1020
5 290
21063
Принтер струйный
ЕРSON SТ РНOТО R200
4 490
21013
Телевизор 21-40 см
Toshiba 15СS72R
4 590
21057
Телевизор 21-40 см
Panasonic 15РМ50
3 990
21043
Телевизор 21-40 см
Philips 14РТ-1347/01
3 690
21015
Телевизор 21-40 см
Toshiba 14CJ1RS
2 790
21031
Телевизор 21-40 см
Rolsen C 1470
2 390
21029
Телевизор 54-55 см
Rolsen С 21S880
5 490
21049
Телевизор 54-55 см
Panasonic ТС-21Z8ORQ
4 990
21009
Телевизор 54-55 см
Toshiba 21 СS1R
3 990
21001
Телевизор 54-55 см
Витязь 54 CTV
2890
21046
Телевизор 64-82 см
Panasonic ТX-29Р580
12 990
21039
Телевизор 64-82 см
Philips 29РТ-307
11 990
21047
Телевизор 64-82 см
Panasonic ТX-25FJ20T
10 690
21027
Телевизор 64-82 см
Rolsen C26R21
6 990
21007
Телевизор LCD (16:9)
Toshiba 32WL55
74 990
21041
Телевизор LCD (16:9)
Philips 20PF4111
54 990
21037
Телевизор LCD (4:3)
Philips 32PF3320
21 980
13.5.2 Автофильтр Для того чтобы использовать функциональные возможности средства Автофильтр, необходимо последовательно выполнить операции:
Установить курсор на любой ячейке списка → Данные → Фильтр → Автофильтр
В строке заголовков таблицы справа появляются кнопки со стрелкой Вниз, нажатие которых приводит к открытию меню условий отбора для соответствующего поля. Данное меню (рис. 13.14) содержит список всех уникальных значений, содержащихся в данном столбце, команды сортировки таблицы в соответствии со значениями поля по возрастанию и по убыванию, а также перечень критериев поиска:
Все — отображает все содержащиеся в столбце элементы; Первые 10... — отображает первые 10 строк с максимальными или минимальными значениями ячеек текущего поля.; Условие... — отображает элементы, удовлетворяющие одному или двум условиям.
Последний критерий (Условие) используется при задании пользовательского автофильтра (рис. 13.16). При этом задается критерий отбора, состоящий из двух условий, связанных между собой логическими операторами И или ИЛИ. Каждое из условий включает две части. В первой части задаются операторы сравнения (равно, не равно, больше, больше или равно, меньше, меньше или равно) или принадлежности (начинается с, не начинается с, заканчивается на, не заканчивается на, содержит, не содержит).
Рис. 13.14 Фрагмент окна списка при задании автофильтра с раскрытым меню отбора значений поля
Во второй — выбирается из списка либо вводится одно из значений фильтруемого поля, являющееся числовой, текстовой или логической константой.
При вводе значения константы можно указывать не все ее содержимое, а только часть, в виде шаблона, применяя символ * для кодирования любого количества символов и символ ? для кодирования любого допустимого одиночного символа, который к тому же может быть опущен.
Рис. 13.16 Диалоговое окно Пользовательский автофильтр
После фильтрации списка номера отфильтрованных строк выводятся контрастным цветом (по умолчанию голубым), изменяется также цвет стрелки поля, к которому был применен фильтр, а в строке состояния появляется сообщение о количестве найденных строк.
При необходимости фильтрации списка по нескольким полям сначала, используя команду Автофильтр, список фильтруется по одному полю, а затем полученный список фильтруется по другому полю и т.д.
13.5.3 Расширенный фильтр Расширенный фильтр гораздо более гибкий инструмент работы с данными, чем автофильтр. Однако перед тем как использовать его, необходимо создать диапазон критериев, в котором описываются все условия поиска.
Диапазон критериев должен соответствовать следующим требованиям:
Диапазон должен включать как минимум две строки. Причем в первой строке размещаются названия полей списка. Другая строка (или строки) содержит критерии отбора записей, определенные пользователем. Во избежание ошибок названия полей списка следует скопировать, а не вводить вручную.
Значения условий фильтрации, размещенных в одной строке, объединены логическим оператором И.
Если на значения поля необходимо наложить несколько условий отбора, соединенных оператором И, то в области названия поля необходимо повторить имя этого поля нужное количество раз.
Значения условий, заданных в разных строках, связаны опера
тором ИЛИ.
Пустая строка критерия означает, что условия отбора нет.
Диапазон условий может находиться в любом месте рабочего листа или даже на отдельном рабочем листе. Однако при этом диапазон условий должен быть отделен от исходного списка хотя бы одной пустой строкой или столбцом.
Диапазон условий может содержать не все поля списка, а только те, которые используются при создании условий фильтрации.
После того как создан диапазон условий, можно использовать средства расширенного фильтра. Для этого следует последовательно выполнить операции:
Установить курсор в любую ячейку списка → Команда Данные → фильтр → Расширенный фильтр
В итоге на экране появится одноименное диалоговое окно (рис. 13.17), в котором следует указать необходимые данные.
Рис. 13.17 Диалоговое окно Расширенный фильтр
Прежде всего, следует установить переключатель обработки на одно из возможных значений, определяющих, куда поместить результат: фильтровать список на месте (действует по умолчанию) или скопировать результат в другое место.
Затем в текстовом поле Исходный диапазон следует задать адрес обрабатываемой базы данных (путем выделения всех ее ячеек, включая заголовки полей). Этот адрес, как правило, устанавливается по умолчанию, и пользователь может его подтвердить либо изменить по своему усмотрению.
В текстовом поле Диапазон условий следует задать соответствующие ссылки на ячейки, содержащие условия отбора записей (диапазон критериев).
Если был выбран переключатель Скопировать результат в другое место, то активизируется текстовое поле Поместить результат в диапазон, в котором необходимо ввести адрес левой верхней ячейки диапазона результата фильтрации.
После заполнения предложенной формы ввод параметров фильтрации подтверждается кнопкой ОК. Excel отфильтрует список в соответствии с заданными условиями, не отображая записи, не удовлетворяющие критериям фильтра.
Примечания При использовании расширенного фильтра целесообразнее помещать диапазоны условий выше и правее исходной базы данных, если она содержит не более 1020 столбцов и не более 200250 записей. В противном случае диапазон условий целесообразнее размещать на новом листе.
Результат выборки расширенного фильтра предпочтительнее помещать в новое место под диапазоном условий. Если выборка размещается на том же листе, что и исходная база данных, то для облегчения сравнительного анализа их следует располагать на одном уровне по горизонтали.
После изменения значений диапазона условий результат выборки расширенного фильтра автоматически не изменяется. Требуется его повторное применение.