Информатика Лабораторная работа № 11 2 часа Электронная таблица Excel. База данных. Сортировка, поиск, обработка данных. 1 Методическое пособие База данных в электронной таблице Microsoft Excel Под базой данных в Microsoft Excel понимается особым образом организованный набор связанных данных, относящихся к определенной предметной области. Например, текущий рейтинг студентов, ведомость успеваемости, прайс-лист продукции предприятия и т.д. Каждый объект предметной области характеризуется набором характеристик. Например, в базе данных «Рейтинг студентов» объектами являются студенты, характеристиками которых являются фамилия, имя, отчество студента, название специальности, на которой он обучается, значение рейтингового балла. В базе данных «Прайс-лист продукции предприятия» объектами являются выпускаемые товары, характеристиками которых являются название товара, цена товара. Строки базы данных называются записями, столбцы базы данных называются полями Таким образом, организованные данные можно представить в виде списка, в каждой строке которого располагается информация об одном объекте предметной области, в столбцах списка размещаются значения характеристик объекта. Заголовками столбцов являются названия характеристик. В Microsoft Excel списки автоматически распознаются как базы данных: Ø cтолбцы списков становятся полями базы данных; Ø заголовки столбцов становятся именами полей базы данных; Ø каждая строка списка преобразуется в запись данных. 1.1 Обработка информации в базе данных Для обработки информации в базе данных используются команды меню Данные и Функции базы данных. Основными операциями над базой данных являются сортировка, выборка, расчет итоговых данных. Перед выполнением операций базу данных необходимо выделить (вместе с именами полей). Если база данных большая, рекомендуется воспользоваться командой меню Правка„Перейти, в диалоговом окне щелкнуть по кнопке Выделить и в диалоговом окне Выделение группы ячеек установить переключатель на значение Текущую область. Сортировка. Под сортировкой понимается упорядочивание данных в заданном порядке. Установка порядка параметров сортировки выполняется в диалоговом окне Сортировка диапазона, которое вызывается командой меню Данные„Сортировка. Выборка. Под выборкой понимается выделение из множества записей базы данных записей, удовлетворяющих условиям запроса. Например: Ø в номенклатуре услуг найти услуги, стоимость которых не превышает заданного значения; Ø по результатам текущей успеваемости найти студентов, у которых рейтинг по заданным дисциплинам ниже заданного значения; Ø выбрать абитуриентов, итоговый балл которых по результатам вступительных испытаний превышает заданное значение проходного балла. Выполняется выборка командами меню Данные„Фильтр. Если условие выборки состоит из набора ограничений на значения данных в отдельных столбцах базы данных, то можно воспользоваться командой меню Автофильтр. Если условие выборки состоит из нескольких условий, накладываемых на один столбец, нескольких условий, накладываемых одновременно на несколько столбцов, а также условий, накладываемых на возвращаемое формулой значение — следует использовать Расширенный фильтр. При использовании расширенного фильтра в электронной таблице необходимо предварительно выделить диапазон ячеек, в которые записываются по определенным правилам условия выборки. В первую строку диапазона условий выборки копируются имена полей (заголовки условий), значения которых используются в условиях выборки. Под заголовками вводятся требуемые критерии выборки. При вводе условий отбора в диапазоне условий расширенного фильтра можно использовать перечисленные ниже элементы условий. Последовательности символов. Чтобы выбрать строки, содержащие ячейки с заданным значе1 1.2 PDF created with pdfFactory Pro trial version www.pdffactory.com нием, необходимо ввести требуемые число, дату, текстовую или логическую константу в ячейку ниже заголовка столбца диапазона условий. Например, чтобы отобрать строки, в которых индекс отделения связи равен 115522, следует ввести в диапазоне условий число 115522 ниже заголовка «Индекс отделения связи». При использовании текстовой константы в качестве условия отбора будут отобраны все строки с ячейками, содержащими текст, начинающийся с заданной последовательности символов. Например, при вводе условия «Анг» будут отобраны строки с ячейками, содержащими слова Ангара, Англия и Ангола. Строчные и прописные буквы при фильтрации данных не различаются. Чтобы получить точное соответствие отобранных значений заданному образцу, например, текст, следует ввести условие: =''текст'' В условиях отбора можно задавать знаки подстановки: ? — указывает, что на месте этого знака в тексте может быть любой знак * — указывает, что на месте этого знака в тексте может быть любая последовательность символов Значения сравнения. Чтобы отобрать строки с ячейками, имеющими значения в заданных границах, следует использовать оператор сравнения. Условие отбора с оператором сравнения вводится в ячейку ниже заголовка столбца в диапазоне условий. Например, чтобы отобрать строки, имеющие значения ячеек большие или равные 1000, следует ввести условие отбора >=1000 ниже заголовка «Количество». В условия отбора расширенного фильтра может входить несколько условий, накладываемых на один столбец, несколько условий, накладываемых одновременно на несколько столбцов, а также условия, накладываемые на возвращаемое формулой значение. Ниже приводятся примеры формирования критериев отбора для базы данных оказанных фирмой услуг конкретным клиентам (включая дату оказания услуги и ее стоимость): Ø Если на ячейки одного столбца накладывается несколько условий отбора, следует ввести условия в смежных строках. Месяц июнь июль август Для указанного выше критерия отбора из базы данных оказанных услуг будут выбраны строки, относящиеся к летним месяцам. Ø Если условие отбора накладывается на ячейки нескольких столбцов одновременно, то условия отбора вводятся в одной строке Клиент Месяц Иванов июнь Для указанного выше критерия отбора из базы данных оказанных услуг будут выбраны строки, относящиеся к услугам, оказанным Иванову в июне месяце. Ø Чтобы наложить сложное условие отбора, следует ввести его составные части в отдельные строки диапазона условий Месяц Стоимость услуг июнь >=1000 июль >=1500 Для указанного выше критерия отбора из базы данных оказанных услуг будут выбраны строки, относящиеся услугам, оказанным в июне месяце на сумму >=1000 руб. или оказанным в июле месяце на сумму >=1500 руб. Ø Если в условии отбора используется возвращаемое формулой значение, то рекомендуется заголовок соответствующего столбца не именовать =А5>$F$7 1.3 Функции базы данных В Microsoft Excel имеется 12 функций рабочего листа, используемых для анализа данных из 2 PDF created with pdfFactory Pro trial version www.pdffactory.com списков или баз данных. Каждая из этих функций, которые из соображений совместимости имеют обобщенное название БДФункция, использует три аргумента: база_данных, поле и критерий. Эти три аргумента ссылаются на интервалы ячеек на рабочем листе, которые используются данной функцией. Все функции базы данных имеют одинаковый синтаксис: БДФункция(база_данных;поле;критерий), где База_данных — интервал ячеек, формирующих список или базу данных Поле определяет столбец, используемый функцией для обработки информации. Поля данных в списке должны содержать идентифицирующее имя в первой строке. Аргумент «поле» может быть задан как текст с названием столбца в двойных кавычках, например "Возраст" или "Урожай". Критерий — ссылка на интервал ячеек, задающих условия для функции. Функция возвращает данные из списка, которые удовлетворяют условиям, определенным диапазоном критериев. Диапазон критериев включает копию названия столбца, для которого выполняется подведение итогов, в списке. Ссылка на критерий может быть введена как интервал ячеек, например, A1:F2 или как имя интервала, например "Критерии". Например, функция БСЧЁТ(БазаДанных;"Клиент";A1:F2) рассчитывает число клиентов, удовлетворяющих условию, расположенному в блоке ячеек A1:F2. 2 Цель работы Научиться выполнять обработку информации, представленной в виде списка. Приобрести навыки проектирования запросов к базе данных. 3 Задание 1. Выполнить обработку информации об абитуриентах, представленной в документе Список абитуриентов: Ø заполнить поле балл случайными числами в интервале между 50 и 200 Ø отсортировать данные по специальности, баллу и фамилии: ü порядок сортировки по полю Специальность: ДИТ, ДЗИ, ДУК ü порядок сортировки по полю Балл: убывающая числовая последовательность ü порядок сортировки по полю Фамилия: алфавитный Ø вывести списки студентов, сформированные на основании следующих критериев выборки: ü абитуриенты, изучавшие в школе немецкий язык, поступавшие на специальность ДИТ и получившие на вступительных экзаменах балл не меньше 140 ü фамилию и инициалы юношей, поступавших на специальность ДИТ, которым на 01.09.2005 исполнилось 18 лет Ø представить в графическом виде распределение по специальностям абитуриентов, изучавших в школе английский язык, немецкий язык или французский язык Ø рассчитать количество студентов по каждой специальности, которым на 01.09.2005 исполнилось 18 лет 2. Результаты обработки разместить на отдельных страницах документа Excel 4 Порядок выполнения работы Генерация случайных чисел. Список абитуриентов содержит информацию об абитуриентах: в каждой строке располагается информация об одном абитуриенте, значения характеристик размещаются в столбцах, первая строка списка содержит названия полей. 1. Создать документ Excel и сохранить его на винчестере под именем Обработка информации в папке Лаб_раб11, находящейся в папке Информатика. 2. Для первой страницы документа установить имя — «Исходные данные» 3. Скопировать из файла «Список абитуриентов» базу данных, для копирования форматов и ширины столбцов использовать элементы управления диалогового окна Специальная вставка 4. Заполнить значениями случайных чисел поле Суммарный балл на вступительных экзаменах; для генерации чисел в заданном диапазоне можно использовать выражение СЛЧИС()*(b-a)+a: • Установить курсор в ячейку J4, ввести с клавиатуры символ «=», а затем выражение, вычисляющее целое число в заданном диапазоне: ОКРУГЛВВЕРХ(СЛЧИС()*(200-50)+50;0) • Скопировать формулу в ячейки J5:J461, не снимая выделение, щелчком правой кнопки на 3 PDF created with pdfFactory Pro trial version www.pdffactory.com выделенной области вызвать контекстное меню и выбрать команду Копировать • щелкнуть правой кнопкой по ячейке Н4, в контекстном меню выбрать команду Специальная вставка„Значения Сортировка. Перед выполнением операции необходимо выделить таблицу полностью, в противном случае может быть нарушена целостность данных: 1. Установить для второй страницы документа Excel имя — «Сортировка» 2. Скопировать базу данных с первой страницы на вторую страницу 3. Выделить базу данных, выполнить команду меню Данные„Сортировка и установить в диалоговом окне параметры сортировки (рис. 4. 1) — для первого поля сортировки щелкнуть по кнопке Параметры и установить пользовательский порядок сортировки Рис. 4.1 Установка пользовательского порядка сортировки 4. Убедиться, что в полученном списке сначала располагаются сведения об абитуриентах, поступавших на специальность ДИТ, в порядке убывания балла, затем сведения об абитуриентах, поступавших на специальность ДЗИ, в порядке убывания балла и, наконец, сведения об абитуриентах, поступавших на специальность ДУК, в порядке убывания балла; сведения об абитуриентах, имеющих одинаковый балл, располагаются в алфавитном порядке по фамилиям. Выборка данных по запросу. Для выделения из базы данных записей, удовлетворяющих заданным условиям, используется команда меню Данные„Фильтр 1. Установить для третьей страницы документа Excel имя — «Выборка» 2. Переключиться на первую страницу, выделить базу данных и выбрать команду меню Данные„Фильтр„Автофильтр — в ячейках первой строки базы данных появятся кнопки автофильтра: черные стрелочки в правом нижнем углу ячеек (рис. 4.2) Рис. 4.2 Изображение кнопок автофильтра 3. Выполнить выборку данных по первому запросу: • Щелкнуть по кнопке автофильтра в поле Иностранный язык и выбрать условие Немец4 PDF created with pdfFactory Pro trial version www.pdffactory.com • • кий язык Щелкнуть по кнопке автофильтра в поле Код специальности и выбрать условие ДИТ Щелкнуть по кнопке автофильтра в поле Суммарный балл, щелкнуть по тексту Условие… и в диалоговом окне задать условие (рис. 4.3) Рис. 4.3 Окно построения условного выражения • Скопировать полученные данные на страницу Выборка и отформатировать по образцу, представленному в приложении 1 4. Выполнить выборку данных по второму запросу, для решения этой задачи необходимо подготовить таблицу критериев на первой странице — в ячейках I3:K4 (рис.4.4): Рис. 4.4 Таблица критериев • Скопировать названия полей из базы данных в ячейки I3:J3, в ячейку К4 заносится формула, поэтому в ячейку К3 имя не вводится • Ввести условия выборки в ячейки I4:К4; функция РАЗНДАТ используется для расчета числа полных лет между двумя датами • Выполнить команду меню Данные„Фильтр„Расширенный фильтр и ввести параметры в диалоговом окне, используя режим «Укажи» (рис. 4.5) Рис. 4.5 Параметры расширенного фильтра • Скопировать полученные данные без первых трех столбцов на страницу Выборка в ячейки D10:H84 • Данные в первых трех столбцах преобразовать, используя операции над строками (рис.4.6): Рис. 4.6 Отображение операций над строками в строке формул Ø установить курсор в ячейку А11, ввести с клавиатуры символ «=» 5 PDF created with pdfFactory Pro trial version www.pdffactory.com Ø фамилию абитуриента получить из полученного результата выборки — переключиться на первую страницу и щелкнуть по ячейке I9 Ø ввести пробел между фамилией и инициалами — строки заключаются в двойные кавычки; для соединения строковых данных используется оператор & Ø функция ЛЕВСИМВ используется для того, чтобы выделить один первый символ от имени, а затем и от отчества Ø результат вычисления по формуле — фамилия и инициалы абитуриента — отобразятся в ячейке А11 Ø объединить ячейки А11:С11, отформатировать текст по образцу, представленному в приложении 1 (отступы установить на вкладке Выравнивание диалогового окна Формат ячеек) Ø скопировать формулу в ячейки А12:А84 Обработка данных. Перед построением диаграммы необходимо рассчитать количество абитуриентов в соответствии с условием обработки, сформулированном в задании. Для выполнения статистических расчетов в базе данных используется команда меню Данные„Итоги. Перед выполнением расчетов необходимо отсортировать базу данных таким образом, чтобы информация была сгруппирована по критериям расчетов. 1. Установить для четвертой страницы документа Excel имя — «Обработка»; при необходимости добавление страниц осуществляется командой меню Вставка„Лист 2. Скопировать базу данных с первой страницы на страницу «Обработка» 3. Отсортировать базу данных на странице «Обработка» по коду специальности и полю «Иностранный язык» 4. Выполнить команду меню Данные„Итоги и в диалоговом окне Промежуточные итоги установить параметры расчета (рис. 4.7): Рис. 4.7 Установка параметров расчета итогов • При каждом изменении в поле Иностранный язык • Найти количество значений • Результат расчета записать в столбец Иностранный язык (для записи результата автоматически добавляется новая строка) • На рис. 4.8 приводится фрагмент таблицы после расчета итоговых данных — при выполнении расчетов используется функция ПРОМЕЖУТОЧНЫЕ ИТОГИ 5. Выделить полученные итоговые данные (вместе с именами) как несмежные блоки и разместить их в ячейках J4:M7, используя переключатель Значения диалогового окна СПЕЦИАЛЬНАЯ ВСТАВКА при выполнении операции копирования 6. Построить диаграмму, отформатировать ее по образцу, представленному в приложении 2 6 PDF created with pdfFactory Pro trial version www.pdffactory.com Рис. 4.8 Отображение рассчитанных итоговых данных в базе данных Использование функций базы данных. Существует много способов организации вычислений с использованием функций базы данных. Рекомендуется предварительно спроектировать алгоритм расчета таким образом, чтобы в конечном итоге трудозатраты на создание и использование таблицы были минимальными. 1. Установить для пятой страницы документа Excel имя — «Функции БД» 2. Скопировать базу данных с первой страницы на страницу «Функции БД» 3. Выбрать из базы данных неповторяющиеся значения кодов специальностей — в диалоговом окне Расширенный фильтр установить значения параметров выборки (рис. 4.9): исходным диапазоном может служить столбец, содержащий коды специальностей; диапазоном условий для этого случая могут быть выбраны две любые пустые смежные по вертикали ячейки. Рис. 4.9 Выборка неповторяющихся записей из базы данных 4. Для использования ссылки на выбранные данные при копировании формулы транспонировать столбец данных в ячейки К4:М4; используемая функция является функцией массива, поэтому завершить ее ввод необходимо нажатием комбинации клавиш Ctrl+Shift+Enter (рис. 4.10) Рис. 4.10 Формула транспонирования колонки в строку 5. Скопировать значения кодов специальностей в ячейки К6:М6 7 PDF created with pdfFactory Pro trial version www.pdffactory.com 6. Создать для каждого значения кода специальности таблицу критериев — для обеспечения простой схемы копирования формул условие выборки записать в одной ячейке К10 (рис. 4.11), а затем копируется в ячейки L10:M10 Рис. 4.11 Условие выборки данных, участвующих в расчете 7. Ввести формулу базы данных в ячейку К7 (рис. 4.12) — в качестве базы данных указывается диапазон ячеек, участвующий в расчете; второй аргумент для этой функции указывать необязательно Рис. 4.12 Формула базы данных 8. Скопировать формулу в ячейки L7:M7 — при точном следовании вышеприведенным указаниям результат расчета должен соответствовать результату, изображенному на рис. 4.13 Рис. 4.13 Подготовка данных для решения уравнения методом подбора параметра 8 PDF created with pdfFactory Pro trial version www.pdffactory.com Приложение 1 Фрагмент результатов выборки данных 9 PDF created with pdfFactory Pro trial version www.pdffactory.com Приложение 2 Вычисление промежуточных итогов 10 PDF created with pdfFactory Pro trial version www.pdffactory.com