В этом упражнении мы рассмотрим, как работают обе команды фильтрации.
1. Создайте новый лист Excel. Для того чтобы посмотреть, как работает фильтр, на лист нужно поместить данные. Получите их из уже известного вам источника: выберите команду Данные ► Внешние данные ► Создать запрос и создайте запрос к базе данных MS Acess Northwind.mdb. Откройте для запроса таблицу OrderDetails, выберите в запрос все поля, не устанавливайте правила отбора и сортировки, а просто ведите данные в Excel.
2. Начните с команды Данные ► Фильтр ► Автофильтр. В случае, когда вы выделяете тот или иной столбец данных, фильтр будет назначен только для этого столбца. Если вы не выделили ни одного столбца, то при выполнении этой команды фильтр будет назначен для всех столбцов, содержащих данные в таблице. Установите фильтр для всех столбцов таблицы с данными. После этого в первых ячейках столбцов (при импорте данных из базы данных там размещаются имена полей) появятся раскрывающиеся списки (рис. 10.9). В каждый список входят все значения, которые в качестве данных присутствуют в ячейках данного столбца, а также три дополнительных пункта: (Все), (Первые 10...) и (Условие...).
Рис. 10.9. Раскрывающиеся списки фильтров
3. Если выбрать одно из значений в списке, то под действия фильтра подпадают только те записи, в которых в данном поле присутствует это и только это значение. Например, если вы выберете в столбце OrderlD значение 10937, вы увидите, что по счету с таким номером было закуплено два вида продуктов и этому номеру соответствуют две записи в таблице (рис. 10.10).
Рис. 10.10. Отфильтрованные записи
4. Выбор пункта (Все) позволяет снять фильтр по данному столбцу и вновь вывести все значения. Пункт (Первые 10...) выводит первые десять записей в таблице, отфильтрованные по первым десяти значениям соответствующего поля. Наиболее интересен функционально пункт (Условие...). После выбора этого пункта на экран выводится окно задания пользовательского фильтра (рис. 10.11). Для текущего поля можно установить два условия, связанные между собой операциями И либо ИЛИ. Кроме того, вы можете применять знаки подстановки * и? в задании условия.
5. Установите для поля OrderlD условия больше 11074, или, меньше 10250. Затем для поля Discount установите условие не равно 0. Таким образом, можно осуществлять наложение условий по нескольким столбцам. Выберите для столбцов OrderlD и Discount пункт (Все). Таблица вернется к исходному состоянию.
Рис. 10.11. Настройка пользовательского фильтра
6. Применение команды Расширенный фильтр также рассмотрим на примере. Для того чтобы применить эту команду, нужно сначала создать диапазон условий. Для этого скопируйте заголовки существующих данных на новое место (диапазон А1...Е1 скопируйте в диапазон G1...K1). Теперь задайте условие, для начала — одно. Введите в ячейку G2 (под заголовком OrderlD) выражение <10251.
ВНИМАНИЕ -----------------------------------------------------------------------------------
Для применения расширенного фильтра в заголовки диапазона задания условий нужно обязательно помещать существующие названия отбираемых по условию полей.
7. Выберите команду Да иные ► Фильтр ► Расширенный фильтр. На экран будет выведено окно настройки расширенного фильтра (рис. 10.12).
Рис. 10.12. Настройка расширенного фильтра
8. В группе Обработка оставьте установленным переключатель фильтровать список на месте, в качестве исходного диапазона задайте столбцы от А до Б (это, как обычно, можно сделать, вводя значения вручную или воспользовавшись кнопкой), в качестве диапазона условий задайте диапазон G1...K2. Щелкните на кнопке ОК. Имеющийся список будет отфильтрован. Для того чтобы снять фильтр и снова увидеть все записи, выберите команду Данные ► Фильтр ► Отобразить все.
9. Теперь займемся копированием данных, отобранных при помощи фильтра, в новое место. Выберите команду Данные ► Фильтр ► Расширенный фильтр и в группе Обработка открывшегося окна настройки расширенного фильтра установите переключатель скопировать результат в другое место. При этом становится доступным поле Поместить результат в диапазон. Введите в это поле значение $G$4: $К$4, в поле диапазона условий введите значение G1: К2 и щелкните на кнопке ОК. Отфильтрованные данные будут помещены в указанный вами диапазон (рис. 10.13). Обратите внимание на то, что если в качестве диапазона данных указать меньшее количество столбцов, то «лишние» столбцы просто будут отброшены и не войдут в конечный результат.
Рис. 10.13. Копирование отфильтрованных данных
10. Введите в ячейку G3 значение 10256, а в ячейку КЗ значение <0,15. Удалите все значения в диапазоне G4...K15, подготовив место для выполнения нового запроса. Выберите команду Данные ► Фильтр ► Расширенный фильтр и в группе Обработка открывшегося окна настройки расширенного фильтра установите переключатель скопировать результат в другое место. Введите в поле Поместить результат в диапазон значение $G$4: $K$4, в поле диапазона условий поместите значение G1: КЗ и щелкните на кнопке ОК. Отфильтрованные данные будут помещены в указанный вами диапазон (рис. 10.14).
Результаты выполнения фильтрации говорят нам, что значения расширенного фильтра в одном и том же столбце объединяются оператором ИЛИ, а в разных столбцах — оператором И.
Рис. 10.14. Новое копирование отфильтрованных данных
Формы
Команда Данные ► Форма выводит на экран форму для работы с данными. Для того чтобы эта команда была корректно выполнена, нужно перед ее выполнением выделить диапазон данных, в который должны войти заголовки столбцов. В принципе, форма — всего лишь более удобный способ редактирования и представления записей, особенно в том случае, когда полей в таблице много и они содержат большое количество данных.