ЛЕКЦИЯ 1 Технология обработки данных в информационных системах предполагает их хранение в электронных базах данных. В табличном редакторе база данных представляется в виде списка. Результаты обработки данных в списках могут использоваться для принятия управленческих решений различного уровня. Прочитав материалы этой лекции, Вы научитесь правильно оформлять списки, производить основные операции со списками, такие как сортировка и отбор данных с помощью фильтров. АНАЛИЗ ДАННЫХ С ПОМОЩЬЮ СПИСКОВ Понятие о списке Список представляет собой базу данных (БД) для хранения и извлечения данных и к нему применимы те же требования, что и к реляционным БД. Строки в базе данных называются записями, а столбцы – полями. Метки столбцов рассматриваются как имена полей, а отдельные строки в документе – как записи. Записи можно просматривать, редактировать, добавлять или удалять. В работе со списками используются такие операции обработки данных как сортировка, группировка и фильтрация (отбор данных по критерию), структурирование и консолидация данных. Для достижения наибольшей эффективности при работе со списками необходимо следовать некоторым правилам: 1. В столбце размещается информация одного типа. 2. В первой строке вводятся заголовки столбцов списка (полей записей). Каждый столбец списка должен быть поименован. 3. В списке отсутствуют пустые строки и столбцы. 4. Список желательно размещать на отдельном листе. 5. Список должен быть отделен от других данных на рабочем листе пустыми строками и столбцами. Это позволяет Excel автоматически определять диапазон списка, если курсор находится в области списка (одна из ячеек списка является активной) 1. Сортировка списка Информация в базе данных изначально не упорядочена. MS Excel предоставляет средства сортировки баз данных, т.е. упорядочение полей данных по одному или нескольким полям (критериям). Можно сортировать Замечание: столбцам. 1 MS Excel определяет границы списка по незаполненным строкам и строки или столбцы по возрастанию или убыванию, с учетом или без учета регистра. При сортировке строк меняется расположение строк в списке, в то время как порядок столбцов остается неизменным. При сортировке столбцов меняется порядок расположения столбцов, а порядок строк не изменяется. Для выполнения сортировки следует установить курсор в список и выполнить команду Сортировка и фильтр группы команд Редактирование вкладки Главная или соответствующую команду из группы команд Сортировка и фильтр на вкладке Данные. Если выбран вариант Сортировка от А до Я или Сортировка от Я до А, то ключом сортировки будет столбец, в котором установлен курсор. Выбор пункта Настраиваемая сортировка открывает диалоговое окно Сортировка. Пользователь может отсортировать список по нескольким ключам, добавляя уровни сортировки с помощью кнопки Добавить уровень. Кнопка Параметры... диалогового окна Сортировка, позволяет задать дополнительные условия сортировки: осуществлять сортировку по строкам диапазона или по столбцам, с учетом или без учета регистра (рисунок 1). Рисунок 1 – Диалоговое окно Сортировка Отбор данных в списке Фильтрация – это выделение из базы данных подмножества данных в соответствии с заданными условиями отбора, или критериями, для последующей работы с ним. В MS Excel существует два способа фильтрации списка: с помощью автофильтра и расширенного фильтра. Автофильтр Для создания простых условий отбора записей в списке (одно –два отношения, связанных одним из операторов И, ИЛИ) удобно использовать автофильтр (команда Фильтр вкладки Данные). При использовании автофильтра строки списка, не удовлетворяющие заданным условиям, будут скрыты, и на рабочем листе останутся только те записи, которые соответствуют критериям отбора. Автофильтр можно применять к любому количеству столбцов и, таким образом, осуществлять последовательную фильтрацию. Автофильтр позволяет выделить наборы записей с помощью раскрывающихся списков в столбцах. Элементы, которые отображаются в каждом раскрывающемся списке, называются критериями фильтра. Кроме любого из значений активного столбца в раскрывающемся поле со списком, можно выбрать варианты, позволяющие осуществить сортировку списка. При щелчке на элементе в раскрывающемся списке столбца автофильтра Excel отображает только те записи, которые содержат выбранный элемент в данном поле. Рисунок 2 – Окно Автофильтра Если поле, по которому осуществляется отбор записей, содержит числовые значения, то окно Автофильтра позволяет задать различные критерии для отбора записей с помощью элемента Числовые фильтры (рисунок 3). Для текстовых полей окно автофильтра включает элемент Текстовые фильтры, который позволяет задавать критерии отбора с учетом специфики поиска для этого типа данных. Рисунок 3 – Окно раскрывающегося списка автофильтра Рисунок 4 – Окно Пользовательский фильтр На рисунке 5 приведен пример использования Автофильтра для отбора записей о работниках со стажем от 10 до 15 лет с помощью Пользовательского автофильтра. Рисунок 5 – Результат отбора записей с помощью расширенного фильтра Для отмены Автофильтра конкретного столбца нужно щелкнуть по кнопке и в списке значений выбрать пункт Все… Для отмены режима фильтрации и возврата к исходному списку следует щелкнуть по элементу Фильтр или Очистить из группы Сортировка и фильтр вкладки Данные. Удалить все заданные фильтры можно также, щелкнув на значке меню Сортировка и фильтр вкладки Главная. Следует помнить, что отфильтрованный с помощью Автофильтра список автоматически размещается на месте исходного. Для того, чтобы сохранить результаты в другом месте текущего листа рабочей книги или на другом рабочем листе, следует скопировать отфильтрованный список и вставить в нужный диапазон. Отбор данных в списке с помощью расширенного фильтра Возможности отбора записей с помощью расширенного фильтра гораздо шире. Расширенный фильтр позволяет организовать отбор записей базы данных по более сложным по сравнению с Автофильтром критериям. Отобранные данные могут размещаться как в области исходного списка (переключатель Фильтровать на месте), так и в новом диапазоне рабочего листа. Замечание. Чтобы применить расширенный фильтр, столбцы списка должны обязательно иметь заголовки. Расширенный фильтр позволяет: задать условия, соединенные логическими операторами для нескольких полей базы данных; задать три и более условий для конкретного поля с использованием, по крайней мере, одного логического оператора; задать вычисляемые условия для организации фильтрации; извлекать из базы данных записи и вставлять копии этих строк в новый диапазон рабочего листа. Отбор данных с помощью Расширенного фильтра требует создания дополнительной таблицы условий отбора записей в отдельном диапазоне ячеек (таблицы критериев). Этот диапазон должен содержать, по крайней мере, 2 строки: в верхней строке размещаются метки полей, по которым осуществляется отбор (они должны точно совпадать с метками полей в исходном списке, поэтому их желательно копировать); во второй и последующих строках диапазона таблицы критерия записываются условия отбора. Порядок отбора данных с помощью расширенного фильтра: 1. Скопировать заголовки столбцов списка, которые должны отражаться в результатах, в свободный диапазон рабочего листа. 2. Скопировать заголовки критериев отбора в незаполненные смежные ячейки. Предусмотрите хотя бы одну свободную клетку под заголовком каждого из критериев для ввода условий отбора. 3. Ввести в ячейки под заголовками критериев требуемые условия отбора. 4. Установить курсор в список. В этом случае Excel автоматически определит диапазон списка. 5. Выбрать меню Фильтр / Дополнительно вкладки Данные. 6. В диалоговом окне Расширенный фильтр установить переключатель Обработка в положение Скопировать результат в другое место, иначе отобранные записи будут размещены на месте исходного списка; в поле Исходный диапазон проверить правильность диапазона исходного списка (при необходимости ввести адрес диапазона ячеек, содержащего исходный список с заголовками столбцов); в поле Диапазон критериев ввести ссылку на диапазон условий отбора; в поле Поместить результат в диапазон ввести диапазон заголовков столбцов результирующей таблицы2, созданной в п.1. Примеры условий отбора расширенного фильтра Отбор записей, удовлетворяющих трем и более условиям для одного поля списка. В этом случае критерии вводятся в ячейки смежных строк (т.е. в столбец). Например, Если в результатах должны отображаться все столбцы (поля) списка, то в поле Поместить результат в диапазон можно ввести адрес ячейки начала результирующей таблицы. В этом случае первый шаг алгоритма можно пропустить. 2 ФИО Романов Петров Соболева Отбор записей, удовлетворяющих одновременно нескольким условиям отбора для двух или более столбцов списка (логическое «И»). Для одновременного выполнения условий отбора записей критерии вводят в ячейки, расположенные в одной строке диапазона условий. Например, Пол м Оклад, руб. >20000 Отбор записей, удовлетворяющих одному из нескольких условий для разных полей списка (логическое «ИЛИ»). В этом случае критерии отбора вводятся в ячейки, расположенные в разных строках диапазона условий. Пол ж Оклад, руб. <15000 В следующем примере показана таблица критериев для поиска записей об инженерах со стажем менее 10 лет и техников со стажем более 10 лет. Должность инженер техник Стаж <10 >10 Значение, возвращаемое формулой. В условии фильтрации можно использовать значение, возвращаемое формулой. В этом случае в таблице критериев в качестве заголовка условия нельзя использовать заголовок столбца списка. Заголовок поля критерия должен отличаться от любой из меток полей списка. Для приведенного ниже примера критерия отбора в результате фильтрации будут отображены строки, в которых значение столбца F списка превышает среднее значение в ячейках E2: E15. Таблица критериев содержит две ячейки, одна из которых пустая (поле заголовка условия не заполнено). =D4>СРЗНАЧ($D$4:$D$23) Можно также рассчитать среднее значение по формуле СРЗНАЧ() в любой из ячеек рабочего листа (например, в I2), и затем использовать ссылку на эту ячейку в условии отбора. Оклад больше среднего =F2>$I$2 После ввода формулы в ячейке со значением критерия в зависимости от результата первой проверки появится логическое значение ЛОЖЬ или ИСТИНА. Замечания. 1. Для ячеек вне столбца, по которому осуществляется отбор данных, используются абсолютные ссылки! 2. Формула в условии отбора должна ссылаться либо на заголовок столбца (например, «Стаж»), либо на соответствующее поле в первой записи. При использовании заголовка столбца в формуле условия в ячейке вместо логического значения будет выведено значение ошибки #ИМЯ? или #ЗНАЧ!. Эту ошибку можно не исправлять, так как она не повлияет на результаты фильтрации. 3. Для создания составного вычисляемого критерия можно использовать функции И, ИЛИ, НЕ. Например, =И(В2<100; C2<500). Пример 1. Размер заработной платы сотрудников фирмы зависит от уровня их компетенции и грейда. На основе этих показателей рассчитывается рейтинг сотрудника, пропорционально которому распределяется ФОТ. На рисунке 32 приведен пример заполнения списка с рассчитанными суммами ЗП сотрудников. В ячейке D1 введена величина ФОТ, а в ячейке F24 рассчитана общая величина рейтинга. Сумма заработной платы в ячейке G4 вычисляется по формуле: =$D$1*F4/$F$24. Выведем сведения о менеджерах с рейтингом более единицы. Порядок действий: 1. Создадим исходный список в диапазоне A3: G23 (рисунок 6) и рассчитаем значения в столбце G. 2. В диапазоне I3:J4 создадим таблицу критериев с заданными условиями отбора. 3. Скопируем заголовки столбцов, которые должны отображаться в результатах в диапазон I7:K7. 4. Установим курсор в список и выберем команду Дополнительно из группы Сортировка и фильтр вкладки Данные. 5. Заполним окно Расширенный фильтр (рисунок 7) и щелкнем по кнопке ОК. Рисунок 6 – Пример заполнения рабочего листа с таблицей критериев и заголовками результирующего диапазона Рисунок 7 – Диалоговое окно Расширенный фильтр Рассмотрим последовательность действий при использовании расширенного фильтра для отбора данных по вычисляемому условию. Пример 2. Из списка для расчета З/П на основании рейтинга выберем записи о сотрудниках, чья зарплата превышает среднюю величину. Для этого: 1. Скопируем список, созданный в предыдущем примере на новый рабочий лист. 2. В ячейке I4 рассчитаем среднее значение З/П (рисунок 8) с использованием функции =СРЗНАЧ(D4:D23). 3. В ячейках I6:I7 рабочего листа создадим таблицу критериев для отбора записей. Рисунок 8 – Вид рабочего листа с таблицей критериев отбора записей по вычисляемому условию После ввода формулы таблица критериев примет вид, как на рисунке 8. 4. Установим курсор в список и выберем команду Дополнительно из группы Сортировка и фильтр вкладки Данные. 5. В окне Расширенный фильтр установим переключатель Обработка в положение Скопировать результаты в другое место. 6. В поле Исходный диапазон введем диапазон ячеек, содержащий исходный список вместе с метками столбцов (A3:G23). 7. Введем в поле Диапазон критериев ссылку на диапазон таблицы критериев (I6:I7). 8. В поле Поместить результат в диапазон укажем верхнюю левую ячейку области вставки нового списка (рисунок 9). Рисунок 9 – Диалоговое окно «Расширенный фильтр» Вопросы для самопроверки 1. Чем база данных отличается от любой другой таблицы, созданной в MS Excel? 2. Каким образом можно упорядочить записи в базе данных? 3. Какие способы фильтрации используются в MS Excel? 4. Каковы отличия Автофильтра и Расширенного фильтра? 5. Как формируется диапазон критериев Расширенного фильтра? 6. Как организовать фильтрацию по вычисляемым условиям?