Фильтрация списка
Фильтрация применяется в случаях, когда необходимо из общего списка выбрать и отобразить на экране только те записи, которые удовлетворяют заданным условиям отбора.
Excel предоставляет пользователю два способа фильтрации: с помощью автофильтра и с помощью расширенного фильтра.
Первый способ применяется в случаях, когда необходимо быстро отфильтровать данные с заданием одного или двух простых условий отбора. Эти условия накладываются на содержимое ячеек отдельного столбца.
Второй способ рекомендуется использовать в следующих случаях:
когда условие отбора должно одновременно применяться к ячейкам двух и более столбцов;
когда к ячейкам одного столбца необходимо применить три и более условий отбора:
когда в условии отбора используется значение, полученное в результате вычисления заданной формулы.
Чтобы обработать таблицу с помощью автофильтра, необходимо вначале выбрать в качестве активной любую ее ячейку. После этого в меню Данные \ Фильтр (Data\Filter) выполнить команду Автофильтр (AutoFilter). Как только команда будет выполнена, в
168
первой строке таблицы рядом с именем каждого поля появятся кнопки со стрелками. Нажатие любой из этих кнопок приводит к открытию соответствующего набора строк. Каждая строка набора представляет собой одно из неповторяющихся значений ячеек выбранного столбца. Дополнительно к значениям в каждом наборе будут присутствовать строки с именами [Все] ([АН]), [Первые 10...] ([Тор 10...]) и [Условие...] ([Custom...]).
Чтобы отфильтровать список по одному из имеющихся значений поля, достаточно выбрать это значение из развернувшегося набора строк. В списке остаются только те записи, которые содержат выбранное значение в данном столбце. Номера строк отфильтрованных таким образом записей и стрелка кнопки выбранного столбца будут высвечиваться синим цветом. Эти записи можно снова подвергнуть фильтрации по этому же или другому полю и г. д.
Если для фильтрации по определенному полю выбрать строку [Первые 10...] ([Тор 10...]), то на экране появится диалоговое окно Наложение условия по списку (Тор 10 AutoFilter), в котором пользователь имеет возможность изменить условие: выбрать от 1 до 500 наибольших или наименьших элементов этого поля.
После этого па экране монитора отображается выбранное количество записей, отвечающих заданному условию.
Чтобы отфильтровать список по двум и более значениям, встречающимся в столбце, необходимо выбрать строку [Условие...] ([Custom...]). В появившимся диалоговом окне Пользовательский автофильтр (Custom AutoFilter) можно задать это условие отбора. Для этого используются операторы сравнения (>, =,
Для того чтобы после выполненной "автофильтрации" вернуться к отображению на экране всех записей списка, можно использовать следующие приемы:
Последовательно нажимать кнопки с синими стрелками (т.е. кнопки полей, по которым была выполнена фильтрация) и в открывающихся при этом наборах строк выбирать строку [Все] ([АИ]).
Выполнить команду Показать все (Show All) меню Данные \ Фильтр (Data \ Filter).
Отказаться от применения Автофильтра. Для этого следует еще раз выполнить команду Автофильтр (AutoFilter) меню Данные \ Фильтр (Data \ Filter). Все кнопки автофильтра, которые были в первой строке списка, исчезнут, и на экране высветится таблица в ее первоначальном виде.
При использовании
расширенного фильтра условие отбора задается в отдельном диапазоне ячеек текущего рабочего листа, который называется диапазоном критериев. Он может размещаться в любом месте рабочего листа. Рекомендуется отделять диапазон критериев от фильтруемого списка по крайней мере одной пустой строкой (столбцом). В этом случае исключается ошибочное восприятие программой ячеек диапазона критериев в качестве элементов списка.
Диапазон критериев оформляется следующим образом: в первой строке записываются (или копируются) имена полей списка, для которых задаются условия отбора, а во второй и последующих строках вводятся непосредственно сами условия отбора.
С использованием рис. 13.1 рассмотрим некоторые примеры задания условий отбора (диапазонов критериев) расширенного фильтра.
Пример 1. Условие отбора накладывается на содержимое двух и более столбцов списка. Пусть необходимо из списка н выделить записи, которые одновременно содержат в
169
поле "Должность" значение "Инженер-программист", в поле "ФИО сотрудника" - "Сидоров М.А.", а в поле "Дата получения премии" - все даты позже 15.02.97. В этом случае диапазон критериев будет выглядеть следующим образом:
|
А |
С |
F |
55 |
ФИО сотрудника |
Должность |
Дата получения премии |
56 |
Сидоров М.А. |
Инженер- программист |
> 15.02.97 |
Обратите внимание на следующее:
1. Диапазон критериев начинается с 55 строки (отделен от списка рис. 13.1 одной пустой строкой).
2. Все условия отбора размещены в одной строке. Тем самым задается их взаимодействие по схеме "И" (требуется одновременное их выполнение).
Для соединения условий отбора по схеме "ИЛИ" необходимо каждое из них разместить в отдельной строке:
|
А |
С |
F |
59 |
ФИО сотрудника |
Должность |
Дата получения премии |
60 |
Сидоров М.А. |
|
|
61 |
|
Инженер-программист |
|
62 |
|
|
>15.02.97 |
При задании оформленного таким образом диапазона критериев из списка будут выбраны все записи, содержащие либо значение "Сидоров М.А." в столбце "ФИО сотрудника", либо "Инженер-программист" в столбце "Должность", либо имеющие значение ">15.02.97" в столбце "Дата получения премии". Именно так задаются разные условия отбора на несколько полей списка одновременно.
Для задания сложного условия отбора необходимо вводить его составные части в отдельные строки диапазона критериев. Например, для следующего диапазона критериев:
|
А |
С |
63 |
ФИО сотрудника |
Размер премии |
64 |
Петров С.А. |
>300 |
65 |
Иванов А.С. |
>300 |
из списка будут отобраны записи, содержащие значения "Петров С.А." и "Иванов А.С." в столбце "ФИО сотрудника" и имеющие размер премии более 300 рублей.
170
Пример 2. Три и более условий отбора накладываются на содержимое одного столбца списка.
Диапазон критериев в этом случае оформляется в виде столбца, в котором в смежных ячейках записаны условия отбора.
Например, для рассматриваемого списка следующий диапазон критериев:
|
А |
67 |
ФИО сотрудника |
68 |
Линьков С.А. |
69 |
Петрова И.В. |
70 |
Липецких АЛ. |
задает отбор записей, содержащих в столбце "ФИО сотрудника" значения либо "Линьков С.А.", либо "Петрова И.В.", либо "Липецких А.Л.".
Пример 3. В условии отбора используется возвращаемое формулой значение.
В этом случае диапазон критериев и указываемая в нем формула должны удовлетворять следующим требованиям:
формула может иметь в своем составе несколько функций и зависеть от нескольких полей списка, но должна обязательно иметь в качестве результата логическую величину ИСТИНА (True) или ЛОЖЬ (False);
ссылки в формуле могут указывать как па ячейки списка, так и на другие ячейки рабочего листа. При этом ссылки на ячейки списка должны быть относительными, а на ячейки вне списка - абсолютными;
вычисляемый критерий должен иметь имя поля, не совпадающее ни с одним из имен полей списка;
формула должна ссылаться хотя бы на одно поле списка;
при задании ссылки на все значения ячеек столбца необходимо указывать относительную ссылку на первую ячейку этого столбца.
Оформленный таким образом критерий называется вычисляемым. В результате фильтрации из списка выбираются записи, для которых проверяемое условие истинно. Например, следующий вычисляемый критерий,
|
А |
72 |
Всего руб. |
73 |
=E2+G2>800 |
заданный для списка на рис. 13.1, позволяет найти фамилии сотрудников, которые имеют сумму оклада и премии более 800 рублей.
Обратите внимание, что формула помещена под именем поля ("Всего руб."), не совпадающим ни с одним из имен полей списка на рис. 13.1. В качестве имени поля можно использовать любой уникальный текст.
171
Приведем примеры задания формул в критериях для списка на рис. 13.1, выполняющих сравнение содержимого ячеек в пределах записи:
=E2=G2
=E2
В примерах в соответствии с требованиями по оформлению диапазонов критерий указаны относительные ссылки на первые ячейки двух полей: "Оклад (руб.)" и "Размер премии (руб.)".
Более сложные критерии используют ссылки на ячейки нескольких записей списка или на ячейки вне списка, например: =Е2=$В$72 - сравнение значений ячеек в поле "Оклад (руб.)" с значением внешней по отношению к списку ячейки $В$72.
Логические функции И, ИЛИ, НЕ расширяют возможности вычисляемых критериев. Например, формула =И(С2="Инженер";Р2>1.02.98) в критерии задает отбор записей, содержащих в поле "Должность" значение "Инженер" и в поле "Дата получения премии" - значение дат позже 1.02.98.
После создания диапазона критериев можно непосредственно выполнить саму операцию фильтрации с использованием расширенного фильтра. Для этого необходимо выполнить следующие действия:
Активизировать одну из ячеек списка.
Выполнить команду Расширенный фильтр (Advanced Filter) меню Данные \ Фильтр (Data\ Filter).
В ноле Диапазон критериев (Criteria Range) появившегося диалогового окна Расширенный фильтр (Advanced Filter) указать ссылку на данный диапазон критериев.
Нажать на ОК.
Замечания.
При задании критериев строчные и прописные буквы не различаются.
При задании критериев можно использовать символы "*" и "?" в соответствии с правилами оформления шаблонов: "*" - любая последовательность символов,"?" - один символ в заданной позиции.
Отфильтрованные записи можно поместить в любое место текущего рабочего листа. Для этого в диалоговом окне Расширенный фильтр (Advanced Filter) нужно установить переключатель в положение Скопировать результат в другое место (Copy to Another Location) и в тюле Поместить результат в диапазон: (List Range:) указать место размещения отфильтрованных записей списка.
172
168 :: 169 :: 170 :: 171 :: 172 :: Содержание
Содержание раздела