Файл: А.Г. Пимонов Информационные системы в экономике (Часть I).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.05.2024

Просмотров: 45

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

10 3.3. Сортировка списков

Под сортировкой списка, как и любого другого набора объектов, принято понимать расположение его записей в определенном порядке. Записи можно располагать в порядке возрастания-убывания числовых полей, в алфавитном (обратном алфавитному) порядке текстовых полей, в хронологическом порядке полей типа «дата и время». Поле, по которому производится сортировка, называется ключевым полем, или ключом сортировки. Возможности сортировки реализуются с помощью кнопок Сортировка по возрас-

танию и Сортировка по убыванию панели инструментов Стандарт-

ная, либо через команду меню Данные/Сортировка, которая позволяет отсортировать список за один прием максимум по трем полям (первичный ключ, вторичный и т.д.). В случае необходимости можно произвести сортировку и более, чем по трем столбцам. В этой ситуации список сортируется последовательно, начиная с наименее важного поля. Сортировать можно и часть списка, предварительно ее выделив. После сортировки изменяется расположение строк списка, поэтому, если результаты сортировки по какимлибо причинам вас не устраивают, это действие необходимо незамедлитель-

но отменить с помощью кнопки Отменить панели инструментов

Стандартная.

3.4.Анализ списков с помощью фильтров

Вконечном итоге основное назначение любой базы данных – это оперативный поиск необходимой информации по какому-либо запросу. Под запросами принято понимать задачи на поиск информации в базе данных. При этом часть базы данных, удовлетворяющая запросу, называется выборкой. В Excel запросы реализованы с помощью фильтров. Фильтрация списка – это процесс, в результате которого в списке скрываются все строки, не удовлетворяющие критериям фильтрации, а остаются видимыми только те (остается выборка), которые соответствуют условиям запроса.

Рис. 5. Выборка студентов, родившихся в 1971 году

11

Excel располагает двумя командами фильтрации, которые становятся доступными через пункт меню Данные/Фильтр: Автофильтр и Расширен-

ный фильтр. С помощью автофильтра реализуются простые запросы, содержащие не более двух условий поиска. Расширенный (усиленный) фильтр позволяет выполнять запросы практически любой сложности.

Для установки автофильтра на все поля списка достаточно обратиться к пункту меню Данные/Фильтр/Автофильтр. Можно установить авто-

фильтр и для одного поля. Для

 

этого достаточно его предвари-

 

тельно

 

выделить:

активизировав

 

заголовок

соответствующего

 

столбца,

нажать

комбинацию

 

клавиш Shift, Ctrl+, после чего

 

справа

 

от

заголовка появится

 

кнопка

 

 

 

, щелчок по ко-

 

 

 

 

Рис.4. Критерий для выборки

 

 

 

торой

раскрывает

список значе-

студентов, родившихся в 1971 году

ний данного столбца. Эти значения можно использовать для фильтрации. Кроме того, можно настроить автофильтр, выбрав из этого списка эле-

мент (Условие…), после чего можно создать критерий (настроить пользовательский автофильтр), состоящий не более чем из двух условий, соединенных знаками операций И, ИЛИ. Каждое из этих условий представляет собой выражение логического типа, содержащее любые операции отношения (<, <=, =, <>, >, >=). Пусть, например, нам необходим список студентов, родившихся в 1971 году. Пользовательский автофильтр для решения этой задачи приведен на рис. 4, а результаты фильтрации – на рис. 5.


Рис.6. Критерий с использованием символов шаблона

12

При создании текстовых критериев можно использовать символы шаблона: «*» – для обозначения последовательности любых символов произвольной длины, и «?» – для обозначения единичного символа, стоящего на определенном месте. Для включения символов шаблона в критерий в качестве обычных символов перед ними надо ставить тильду «~». Пусть, например, нам необходим список студентов, чьи имена начинаются с буквы «А» и заканчиваются буквой «а», или имена состоят из восьми любых букв. Один из возможных вариантов пользовательского автофильтра для решения этой задачи приведен на рис. 6, а результаты фильтрации – на рис.7.

Расширенный фильтр по сравнению с автофильтром обладает следующими преимуществами:

1)позволяет создавать критерии с условиями по нескольким полям;

2)позволяет создавать критерии с тремя и более условиями;

3)позволяет создавать вычисляемые критерии;

4)позволяет копию полученной в результате фильтрации выборки поме-

 

 

щать в другое место

Рис.7. Результаты фильтрации по критерию рис.6

 

рабочего листа.

При работе с расширенным фильтром необходимо определить три области (рис. 8):

1) исходный диапазон (интервал списка) – область базы данных ($A$1:$H$26);

2) диапазон условий (интервал критериев) – область, содер-

жащая критерии фильтрации, которые могут находиться и на отдельном листе (Критерии!$A$2:$D$4);

13 3) диапазон результата (интервал извлечения) – область, в которую необ-

ходимо скопировать выборку (можно указать только адрес левого верхнего угла), она не задается в случае фильтрации списка на том же самом месте.

Назначение флажка Только

 

 

 

 

уникальные записи (рис. 8) очевидно.

 

 

Установка этого флажка при копи-

 

 

ровании выборки в интервал извле-

 

 

чения позволяет убрать из нее все

 

 

повторяющиеся записи. При отсут-

 

 

ствии диапазона условий с помощью

 

 

этого флажка можно избавиться от

 

 

повторяющихся записей в исходном

 

 

 

Рис. 8. Окно диалога Расширенный

списке.

 

фильтр

При создании интервала крите-

 

 

 

риев (рис. 9) необходимо пом-

 

 

 

 

 

 

нить о следующих соглашениях:

 

 

 

1) диапазон условий должен

 

 

 

состоять не менее чем из двух

Рис. 9. Пример интервала критериев

строк (первая строка – заголовки, которые рекомендуется просто копировать из заголовков столбцов

списка, последующие – соответствующие критерии);

2)если условия располагаются в одной строке, то это означает одновременность их выполнения, т.е. считается, что между ними поставлена логическая операция И;

3)для истинности критерия, состоящего из условий, располагающихся в разных строках, требуется выполнение хотя бы одного из них, т.е. считается, что они соединены логической операцией ИЛИ;

4)интервал критериев должен располагаться выше или ниже списка, либо на другом рабочем листе;

5)в интервале критериев не должно быть пустых строк.


14

При формировании текстовых критериев необходимо помнить о том,

что:

1) если в ячейке содержится только один символ (рис. 10 – колонка A), то такому условию удовлетворяют любые тексты, начинающиеся с этого символа;

Рис. 10. Содержимое интервала критериев рис. 9

2)если содержимое ячейки представляет собой текстовую константу вида ”>БУКВА” или ”<БУКВА”, то такому условию соответствует любой текст, начинающийся с этой и последующих БУКВ, или начинающийся с предшествующих ей БУКВ;

3)для поиска текста на полное совпадение содержимое ячейки с критерием должно иметь вид =”=ТЕКСТ”;

4)в текстовых критериях можно использовать символы шаблона. Вычисляемый критерий представляет собой формулу (рис. 10), в кото-

рой обязательно имеется ссылка (для реализации каких-либо вычислений) на соответствующую ячейку первой строки списка. Так как эта формула является логическим выражением, то в ячейке, ее содержащей, отображается результат вычисления (ИСТИНА либо ЛОЖЬ) для первой записи списка (рис.9). А в результате процесса фильтрации в списке будут скрыты те записи, для которых при вычислении формулы получается значение ЛОЖЬ. При создании вычисляемых критериев необходимо помнить о следующих правилах:

1)заголовок столбца над вычисляемым критерием не должен совпадать ни с каким из имен полей списка, он может быть либо пустым, либо содержать текст, поясняющий назначение условия;

2)в самом условии ссылки на ячейки внутри списка должны быть записаны в относительной форме;

3)ссылки на ячейки вне списка должны быть абсолютными.

15

Пусть, например, перед нами стоит следующая задача. Необходимо выдать список студентов мужского пола, родившихся летом, или же студенток, год рождения которых является високосным. Содержимое интервала критериев, созданного для реализации этого запроса, приведено на рис. 10. Верхняя строка интервала содержит заголовки критериев, первый из которых совпадает с заголовком поля, а оставшиеся три уникальны. В ячейки B3, C3, D4 записаны формулы (вычисляемые критерии).

Выборка, полученная в результате фильтрации по критериям рис. 10, приведена на рис. 11.

Рис. 11. Выборка, соответствующая критериям рис. 10

Расширенный фильтр с вычисляемыми критериями позволяет реализовать запрос практически любой сложности. Пусть, например, перед нами стоит следующая задача. Необходимо сформировать выборку, в которую бы входили студенты:

1)названные в честь отца;

2)самые младшие по возрасту;

3)самые старшие.

Интервал критериев для реализации этого запроса приведен на рис. 12,

аполученная выборка – на рис. 13.

Однако для реализации такого рода сложных запросов необходимо ознакомиться хотя бы с самыми распространенными функциями рабочего листа Excel: математическими, текстовыми, даты и времени. Кроме того, существует еще специальный класс функций, предназначенных для анализа списков.


16

Рис. 12. Критерии для реализации сложного запроса

Рис. 13. Выборка, соответствующая критериям рис. 12

3.5. Использование текстовых функций при формировании вычисляемых критериев

Текстовые функции дают возможность выполнять самые разнообразные преобразования текстовых данных. К наиболее часто используемым из них относятся следующие:

1.ЗНАЧЕН(текст) − преобразует числовые данные, введенные на рабочем листе в текстовом формате (т.е. заключенные в кавычки) в числовые значения.

2.ТЕКСТ(значение; формат) − преобразует число в текст по заданному формату.

3.ДЛСТР(текст) − возвращает длину строки (рис. 12) количество символов в параметре текст, включая пробелы между словами.

4.ПРАВСИМВ(текст; колич_симв) − извлекает заданное количество колич_симв последних (самых правых) символов из текстовой строки текст.

5.ЛЕВСИМВ(текст; колич_симв) − извлекает заданное количество колич_симв первых (самых левых) символов (рис. 12) из текстовой строки текст.

17 6. ПСТР(текст; нач_позиция; колич_симв) − извлекает из исход-

ной строки текст, начиная с указанной позиции нач_позиция, подстроку заданной длины колич_симв.

Пусть, например, необходимо выбрать студентов, у которых в студенческом билете среди трех последних имеются хотя бы две подряд идущие одинаковые цифры. Интервал критериев для реализации данного запроса представлен на рис. 14. Выборка, полученная в результате фильтрации по критериям рис. 14, приведена на рис. 15.

Рис. 14. Критерии для реализации запроса

Рис. 15. Выборка, соответствующая критериям рис. 14

7.СЖПРОБЕЛЫ(текст) − удаляет из текста все начальные и хвостовые пробелы, из внутренних же удаляются все пробелы, за исключением одиночных.

8.НАЙТИ(иск_текст; просм_текст; нач_позиция)

и ПОИСК(иск_текст; просм_текст; нач_позиц) − осуществ-

ляют поиск внутри строки некоторого образца, т.е. заданной подстроки, и возвращают порядковый номер символа строки, с которого начинается найденный образец. При подсчете всегда учитываются все символы, включая пробелы и знаки препинания. Обе функции выполняют сходные действия, различие заключается в том, что функция НАЙТИ() учитывает регистр, а функция ПОИСК() допускает символы шаблона.