
Excel__базы_ данных_
.pdf
Рис. 18. Диалоговое окно Пользовательский автофильтр.
В диалоговом окне Пользовательский автофильтр возможно задание двух условий, записанных через операторы сравнения =, <, >,... и объединенных логическим И либо ИЛИ. Выбрать нужный оператор сравнения можно из раскрывающегося списка, а значение, с которым будут сравниваться элементы, можно легко записать, если пользоваться масками
(рис. 19).
Рис. 19. Диалоговое окно Пользовательский автофильтр, с заданными критериями.
На рис. 20 представлены записи база данных, которые удовлетворяют критерию, заданному на рис. 18. То есть отобраны студенты, которые учатся ни специальности Финансы или на специальности Менеджмент.
21

Рис. 20. Записи базы данных, удовлетворяющие критерию, заданному на рис. 19
В Excel в дополнение к операторам сравнения имеются следующие критерии выбора: Начинается (не начинается) с заданного текста, Заканчивается (не заканчивается) заданным текстом и Содержит (не
содержит) заданный текст.
Использование формы для фильтрации данных
Самым простым способом отбора информации является использование формы данных. Чаще всего требуется найти определенные записи в списках.
Чтобы установить фильтр для информации, отображающейся в форме, надо выполнить следующие данные.
1.Щелкните по любой ячейке списка и вызовите команду Форма из меню Данные.
2.В открывшейся форме данных (рис. 21) нажмите кнопку Критерии, после чего появится диалоговое окно, которое будет иметь название, совпадающее с именем рабочего листа (рис. 22).
3.Введите в текстовые поля критерии, по которым должен производиться отбор. Например, для того, чтобы просмотреть студентов, проживающих в г.Луганске, в текстовое поле Место жительства введем Луганск (рис. 23).
22

Рис. 21. Форма.
Рис. 22. Диалоговое окно для задания критериев
Рис. 23. Задание критериев.
23

4.Нажмите кнопку Далее, чтобы просмотреть записи, удовлетворяющие заданному критерию.
5.Вы вернетесь в предыдущий диалог, в котором будут отображены значения полей найденных записей. Для просмотра всех записей пользуйтесь кнопками Далее и Назад (рис. 24).
Рис. 24. Запись, удовлетворяющая заданному критерию.
6. Закончив просмотр найденных записей, щелкните по кнопке Закрыть.
Если какую-либо из записей, удовлетворяющих заданным критериям, вы хотите удалить, щелкните по кнопке Удалить. Для начала нового поиска нужно щелкнуть по кнопке Добавить.
Если при заполнении формы данных вы вводите значения в несколько полей, то поиск будет проведен по нескольким критериям. При задании нескольких критериев в форме, критерии всегда связываются условием И. С помощью формы нельзя создать условие ИЛИ.
Расширенный фильтр
Команда Данные → Фильтр→ Расширенный фильтр позволяет оформить критерий для фильтрации в виде таблицы и вывести отфильтрованные записи в любой диапазон рабочего листа.
24
Расширенный фильтр по сравнению с автофильтром обладает следующими преимуществами:
1)позволяет создавать критерии с условиями по нескольким полям;
2)позволяет создавать критерии с тремя и более условиями;
3)позволяет создавать вычисляемые критерии;
4)позволяет копию полученной в результате фильтрации выборки помещать в другое место рабочего листа.
Порядок работы с расширенным фильтром таков.
I. Сначала следует создать таблицу-критерий. Для этого под исходной таблицей введите названия столбцов, по которым вы собираетесь произвести фильтрацию (рис. 25). Названия столбцов лучше всего вводить копированием из соответствующей строки исходной таблицы, поскольку необходимо совпадение (с точностью до пробела) названий столбцов в таблице критериев
ив исходной таблице. Строкой ниже под названиями введите с клавиатуры критерии отбора (см рис. 25). В качестве критериев могут выступать текстовые записи, совпадающие со значениями ячеек (для столбцов с текстом), либо числа или условия, содержащие операторы сравнения (для столбцов с числами). Таблица-критерий может размещаться, вообще говоря, в любом месте листа (выше или ниже списка, либо на другом рабочем листе), но удобнее ее помещать все же под исходной таблицей.
При создании таблицы-критерия необходимо помнить о следующих соглашениях:
1)таблица-критерий должен состоять не менее чем из двух строк (первая строка – заголовки столбцов, по которым надо провести фильтрацию, последующие – соответствующие критерии);
2)если условия располагаются в одной строке, то это означает одновременность их выполнения, т.е. считается, что между ними поставлена логическая операция И;
25

3)для истинности критерия, состоящего из условий, располагающихся в разных строках, требуется выполнение хотя бы одного из них, т.е. считается, что они соединены логической операцией ИЛИ;
4)в таблице-критерии не должно быть пустых строк.
Рис. 25. Список и таблица критериев.
II. Активизируйте любую ячейку исходной таблицы и выполните команду Данные→ Фильтр → Расширенный фильтр. В результате появится диалоговое окно Расширенный фильтр (рис. 26), в котором нужно задать параметры расширенного фильтра.
III.В поле Исходный диапазон диалогового окна Расширенный фильтр нужно ввести диапазон фильтруемой таблицы (программа обычно сама правильно устанавливает исходный диапазон), а в поле Диапазон условий необходимо задать диапазон таблицы-критерия (в данном случае $А$18:$G$19).
26

Рис. 26. Диалоговое окно Расширенный фильтр.
Результат фильтрации по умолчанию будет размещен на месте исходной таблицы. Если вы хотите, чтобы результат был помещен в другом месте листа или Рабочей книги, щелкните по переключателю Скопировать результат в другое место. Затем в поле Поместить результат в диапазон введите диапазон вставки отфильтрованной таблицы.
Если вы желаете, чтобы в результирующей таблице не появлялись повторяющиеся записи, щелкните по флажку Только уникальные записи.
IV. Закройте диалоговое окно Расширенный фильтр щелчком по кнопке ОК. Если вы правильно указали диапазон и критерии фильтрации, то на листе появится результирующая таблица (рис. 27).
Рис. 27. Результирующая таблица.
27
Отменить действие расширенного фильтра можно командой Данные → Фильтр → Отобразить все. При этом вы вернетесь к состоянию таблицы до фильтрации, но таблица-критерий будет присутствовать.
Создание вычисляемых критериев при работе с Расширенным фильтром
Расширенный фильтр с вычисляемыми критериями позволяет реализовать запрос практически любой сложности.
Вычисляемый критерий представляет собой формулу, в которой обязательно имеется ссылка (для реализации каких-либо вычислений) на соответствующую ячейку первой записи списка. Так как эта формула является логическим выражением, то в ячейке, ее содержащей, отображается результат вычисления (ИСТИНА либо ЛОЖЬ) для первой записи списка (рис. 29). А в результате процесса фильтрации в списке будут скрыты те записи, для которых при вычислении формулы получается значение ЛОЖЬ.
При создании вычисляемых критериев необходимо помнить о следующих правилах:
1)заголовок столбца над вычисляемым критерием не должен совпадать ни с каким из имен полей списка, он может быть либо пустым, либо содержать текст, поясняющий назначение условия;
2)в самом условии ссылки на ячейки внутри списка должны быть записаны в относительной форме;
3)ссылки на ячейки вне списка должны быть абсолютными.
Для реализации сложных запросов необходимо ознакомиться хотя бы с самыми распространенными функциями MS Excel: математическими, текстовыми, даты и времени. Кроме того, существует еще специальный класс функций, предназначенных для анализа списков.
Использование текстовых функций при формировании вычисляемых критериев
28
Текстовые функции дают возможность выполнять самые разнообразные преобразования текстовых данных. К наиболее часто используемым из них относятся следующие:
ЗНАЧЕН(текст) – преобразует числовые данные, введенные на рабочем листе в текстовом формате (т.е. заключенные в кавычки), в числовые значения.
ТЕКСТ(значение; формат) – преобразует число в текст по заданному формату.
ДЛСТР(текст) – возвращает длину строки - количество символов в параметре текст, включая пробелы между словами.
ПРАВСИМВ(текст; колич_симв) – извлекает заданное количество колич_симв последних (самых правых) символов из текстовой строки текст.
ЛЕВСИМВ(текст; колич_симв) – извлекает заданное количество колич_симв первых (самых левых) символов (рис. 29) из текстовой строки текст.
ПСТР(текст; нач_позиция; колич_симв) – извлекает из исходной строки текст, начиная с указанной позиции нач_позиция, подстроку заданной длины колич_симв.
СЖПРОБЕЛЫ(текст) – удаляет из текста все начальные и хвостовые пробелы, из внутренних же удаляются все пробелы, за исключением одиночных.
НАЙТИ(иск_текст; просм_текст; нач_позиция)
и ПОИСК(иск_текст; просм_текст; нач_позиция) – осуществляют поиск внутри строки некоторого образца, т.е. заданной подстроки, и возвращают порядковый номер символа строки, с которого начинается найденный образец. При подсчете всегда учитываются все символы, включая пробелы и знаки препинания. Обе функции выполняют сходные действия, различие заключается в том, что функция НАЙТИ() учитывает регистр, а функция ПОИСК() допускает символы шаблона.
29

ЗАМЕНИТЬ(старый_текст; нач_позиция; колич_симв; новый_текст) – заменяет заданный фрагмент текста старый_текст другой строкой новый_текст.
СЦЕПИТЬ(текст1; текст2; …) – соединяет несколько строк в одну (конкатенация).
Пусть, например, нам необходим из списка студентов (рис. 28), расположенного на Лист1 рабочей книги, выбрать студентов, обучающихся на специальности «Финансы» экономического факультета. Специальность, по которой обучается студент указана в названии группы (три первые символа). Критерий для реализации данного запроса разместим на отдельном листе рабочей книги (рис. 29). В ячейку В3 таблицы критериев поместим формулу =ЛЕВСИМВ(Лист1!F5;3)="Фин". Результаты фильтрации показаны на рис. 30.
Рис. 28
Рис. 29.
30