И. В. Степанченко
Microsoft Excel От основ к задачам обработки и представления данных
3
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОС...
208 downloads
359 Views
3MB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
И. В. Степанченко
Microsoft Excel От основ к задачам обработки и представления данных
3
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
КАМЫШИНСКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ (ФИЛИАЛ) ВОЛГОГРАДСКОГО ГОСУДАРСТВЕННОГО ТЕХНИЧЕСКОГО УНИВЕРСИТЕТА
Microsoft Excel От основ к задачам обработки и представления данных Учебное пособие
РПК “Политехник” Волгоград 2003 4
УДК 681.03.06 Степанченко И. В. Microsoft Excel. От основ к задачам обработки и представления данных: Учеб. пособие / ВолгГТУ, Волгоград, 2003. – 151 с. ISBN 5–320–04099–8 Рассматриваются основные понятия программного продукта Microsoft Excel. Последовательно излагаются базовые понятия электронной таблицы, виды адресации, форматы данных, условное форматирование, приемы быстрой работы с электронной таблицей, создание и использование формул, графические средства представления данных, техника создания и использования макросов, основы программирования на встроенном языке Visual Basic for Applications. Изложение иллюстрируется примерами, комментариями, заданиями на самостоятельную работу и контрольными вопросами. Предназначено для студентов, обучающихся по направлению 552900 «Технология, оборудование и автоматизация машиностроительного производства», 551200 «Технология изделий текстильной и легкой промышленности» и студентов специальностей 1004 «Электроснабжение промышленных предприятий», 1201 «Технология машиностроения», а также студентов других направлений и специальностей, для которых дисциплина «Информатика» не является профилирующей. Ил. 93.
Табл. 7.
Библиогр.: 5 назв.
Рецензенты: директор института проблем точной механики и управления РАН, доктор технических наук А. Ф. Резчиков, кандидат технических наук Ю. Б. Томашевский Печатается по решению редакционно-издательского совета Волгоградского государственного технического университета
© Волгоградский
ISBN 5–320–04099–8
государственный технический университет, 2003 5
ВВЕДЕНИЕ Настоящее учебное пособие рассматривает аспекты популярного программного пакета Microsoft Excel, изучение которых предусматривается программой подготовки студентов направлений 552900 «Технология, оборудование и автоматизация машиностроительного производства», 551200 «Технология изделий текстильной и легкой промышленности» и студентов специальностей 1004 «Электроснабжение промышленных предприятий», 1201 «Технология машиностроения», а также других специальностей, для которых дисциплина «Информатика» не является профилирующей. Опыт преподавания дисциплины «Информатика» показывает, что навыки использования ЭВМ утрачиваются большинством студентов при переходе на старшие курсы, поскольку на первом курсе профессиональная потребность в ЭВМ еще не ясна студентам. В результате при изучении профилирующих предметов, для которых работа с ЭВМ необходима, приходится принимать меры для восстановления первичных приемов работы с компьютером (начиная с операционной системы, текстового редактора и табличного процессора). Еще более сложная ситуация имеет место с освоением программирования. Анализ содержания выпускных работ бакалавров направлений, для которых информатика не относится к числу профилирующих дисциплин, показывает, что лишь единицы студентов разрабатывают собственные программы (даже простейшие), в связи с чем можно сделать вывод о недостаточной эффективности преподавания информатики. Имеется большое количество книг (в основном, переводная американская литература), в которых описываются прикладные программы массового распространения. Но эти книги многословны и, к сожалению, обучают, в основном, технике работы с интерфейсом, а не методам решения задач пользователя с использованием этих программ. В связи с этим был разработан цикл электронных учебнометодических интерактивных материалов, позволяющих студенту освоить и/или восстановить навыки работы с ЭВМ самостоятельно. Материалы снабжены не только иллюстративными примерами, но и содержательными, довольно сложными примерами, позволяющими студенту оценить мощные средства, предоставляемые ЭВМ пользователю. На основе этих материалов и было написано данное учебное пособие. Из всех пособий и книг, которые изданы, автор хотел бы особо отметить учебное пособие [1] как наиболее эффективное в процессе обучения, справочное издание [2] в котором поясняются многие термины, достаточно полное и подробное руководство по Microsoft Excel [3]. 6
Характерной особенностью данного издания является наличие заданий в процессе изучения материала, контрольных вопросов и заданий на самостоятельную работу после каждой темы, которые позволяет студентам закрепить теоретический материал. Пособие адресуется читателям с различной степенью подготовленности по дисциплине «Информатика». Для освоения материала необходимо знания и навыки работы в операционной системе Windows и небольшие знания текстового процессора Microsoft Word. Считаю своим приятным долгом поблагодарить Крушель Елену Георгиевну профессора кафедры «Автоматизированные системы управления и обработки информации» за некоторые примеры и данные к примерам, Степанченко Ольгу Владимировну старшего преподавателя кафедры «Автоматизированные системы управления и обработки информации» Камышинского технологического института Волгоградского государственного технического университета за рисунки к некоторым главам и ценные замечания, а также студентов направления «Технология, оборудование и автоматизация машиностроительного производства» наборов 1998, 1999 гг., испытавших пособие в ходе обучения и указавших погрешности в изложении и в примерах.
7
1. ОБЩИЕ СВЕДЕНИЯ О ТАБЛИЧНЫХ ПРОЦЕССОРАХ 1.1. Появление табличных процессоров Дэниел Бриклин, выпускник МТИ и ветеран компьютерной индустрии, посещал курсы в Гарвардской школе бизнеса [4]. Он работал инженером-программистом в фирме DEC (Digital Equipment Corporation), создавшей популярную серию машин PDP. Здесь Бриклин участвовал в разработке системы обработки текстов, а затем перешел в другую компанию. Опыт работы в обеих фирмах навел его на мысль, что, хорошо разбираясь в технологии, он в то же время абсолютный профан в бизнесе. Это и побудило Бриклина отправиться на курсы в Гарвард. Однажды, занимаясь утомительными вычислениями, связанными с определением изменения суммы налога в результате роста процентной ставки на издержки и прибыль предприятия, Бриклин вдруг понял, что есть иной, более удобный способ выполнения таких расчетов. Основная проблема здесь заключалась в том, что при изменении какой-то одной цифры приходилось пересчитывать все производные от нее величины. Электронный калькулятор, конечно, несколько облегчал задачу, но все равно такие расчеты требовали слишком много времени. Малейшая описка могла испортить всю работу, которая записывалась на большом листе тщательно разлинованной бумаги под названием «спредшит» (англ. spreadsheet – развернутый лист, этот термин в информатике переводится как электронная таблица). Программистский опыт натолкнул Бриклина на мысль, что все эти нудные жонглирования числами неплохо было бы поручить компьютеру. Свою идею он обсудил с внештатным инженером-программистом Робертом Фрэнкстоном. Тот заинтересовался идеей и в конце 1978 г. начал писать программу, а уже к весне следующего года закончил ее. Свое детище Фрэнкстон и Бриклин назвали «Визикалк» (англ. VisiCalc – Visible Calculator – видимый калькулятор). «Визикалк» создавала на экране персонального компьютера столбцы чисел, которые мгновенно изменялись, если изменялась какая-либо позиция этой электронной таблицы. С помощью подобной программы плановики могли, например, произвести быструю и точную калькуляцию зависимости прибыли компании от бурного роста заработной платы при одновременном 7 %-ном увеличении цены на готовую продукцию. Продавать свою программу Бриклин и Фрэнкстон начали осенью 1979 г., причем в немалой степени их успеху способствовало суждение 8
одного специалиста в области финансов, назвавшего «Визикалк» главной осью, вокруг которой вращается весь компьютер. Изначально программа была написана для машины «Apple II», и по существу именно она сыграла главную роль в огромном успехе этого компьютера. «Визикалк» — первый пакет программного обеспечения, который уже сам по себе оправдывал приобретение микрокомпьютерной системы. В течение первого года после начала продажи «Визикалка» сбыт персональных компьютеров резко возрос, а сама программа разошлась тиражом около 100 тыс. экземпляров по цене около 200 долл. за штуку. «Визикалк» оставалась «бестселлером» целый год, что, естественно, привело к созданию десятков программ-подобий, творцы которых стремились нажить капитал на столь прибыльном деле. Одновременно «Визикалк» подготовила почву для появления других видов программного обеспечения для бизнеса. Не последнее место в этом ряду принадлежит системе «дБейс II» (dBASE II). Спустя некоторое время другой программист – Митчел Кэпор создал другую электронную таблицу. Его программа называлась «Лотос 1-2-3» и завоевала широкое признание, поскольку соединяла в себе лучшие качества системы «Визикалк» с графическими возможностями и средствами информационного поиска. Подобно многим другим молодым людям, сделавшим свое состояние в дни триумфального шествия персональных компьютеров, Кэпор не давал повода считать, что в один прекрасный день он пополнит ряды богачей. Он вырос на Лонг-Айленде в НьюЙорке. Проявив в школе склонность к математике, Кэпор закончил ее с прекрасным аттестатом. Однако в Йельском университете, где он специализировался по математике и лингвистике, его оценки были достаточно скромны. Возможно, это объясняется тем, что Кэпор слишком много времени проводил на университетской радиостанции, где возглавил со временем музыкальный отдел. К тому же он увлекся трансцендентальной медитацией, причем столь серьезно, что даже получил право на преподавание этого предмета. Закончив в 1971 г. университет, Кэпор два года проработал дискжокеем, после чего перебрался в Кембридж, шт. Массачусетс, где продолжил свою карьеру уже как программист. «Работа моя была ужасно скучная», – вспоминал он позднее. Бросив к 1975 г. работу, он целиком посвятил себя преподаванию трансцендентальной медитации, сначала в Кембридже, а потом в экзотическом международном Университете Махариши, шт. Айова. В поисках чего-то более значительного (чего конкретно, он точно не знал) Кэпор отправился в Швейцарию на ускоренные шестимесячные курсы по медитации. «Меня поселили в общежитии вместе со столетним новообращенным индусом, благодаря чему я приобрел 9
привычку громко орать», – рассказывал он. Не выдержав подобных испытаний, Кэпор вернулся в Кембридж и всерьез занялся психотерапией. Наконец, в 1978 г., увлекшись персональными компьютерами, он начал продавать усовершенствованную им стереосистему для машины «Эпл-2» Вскоре Кэпор всецело отдался программированию, разработав в итоге две многообещающие программы для деловых операций. Свои программы он продавал через ту компанию, которая способствовала огромному успеху системы «Визикалк». Прошло немного времени, и его отчисления от прибыли стали выражаться шестизначным числом. Однако Кэпор на этом не успокоился: продав свои авторские права на программы за 1,2 млн. долл., он пошел дальше, основав собственную компанию по производству и продаже его универсальной системы «Лотос 1-2-3». Свое предприятие Кэпор открыл как нельзя вовремя. В августе 1981 г. фирма «АйБиЭм» (IBM), представив свой компьютер IBM PC, официально подтвердила давно ходившие слухи о том, что она приступает к выпуску персональных компьютеров. При разработке «Лотоса 1-2-3» Кэпор ориентировался именно на 16-разрядный процессор фирмы «АйБиЭм», а не на 8-разрядные процессоры, которые в основном использовались в микрокомпьютерах того времени. Он был убежден, что огромное превосходство фирмы «АйБиЭм» скоро сделает этот процессор общепризнанным стандартом для всей индустрии персональных компьютеров, а это даст его программе ощутимые преимущества в конкурентной борьбе. Расчет Кэпора полностью оправдался. Система «Лотос 1-2-3» была объявлена в конце 1982 г., причем на ее рекламу ушел 1 млн. долл. Расходы окупились очень скоро. Система «Лотос 1-2-3» заняла первую строку в списке самых популярных программ, и к июлю следующего года уже 60 тыс. покупателей не пожалели выложить по 495 долл. каждый на ее приобретение. В разное время после этих двух бесспорных лидеров среди электронных таблиц появлялись такие имена как: «СуперКалк» (SuperCalc), «Куатро» (Quattro), «Иксель» (Excel). Последний в настоящее время является наиболее распространенным, популярным и мощным текстовым процессором. 1.2. Характеристики табличного процессора Введем определение электронного табличного процессора [2]. Электронный табличный процессор – это комплекс взаимосвязанных прикладных программ, предназначенных для обработки таблиц, списков и визуализации их в виде диаграмм. 10
Современные табличные процессоры, прежде всего, позволяют в различных областях науки (экономике, астрономии, физике, математике и т.д.) и прикладных областях (электронике, машиностроении и т. д.): • решать различные вычислительные задачи (с помощью средств табличного процессора можно вычислять численные решения дифференциальных, интегральных, матричных систем уравнений, применять различные численные методы, производить решение задач линейного программирования и многое другое); • решать задачи моделирования (на основе аппарата решения задач линейного программирования выбирать оптимальный вариант во многих экономических задачах и задачах планирования, рассчитывать многократно по формулам и строить зависимости рассчитанных значений от параметров); • осуществлять задачи обработки данных, такие как статистический анализ, построение графиков и диаграмм, ведение баз данных. Кроме того, табличные процессоры позволяют: • в удобной форме представлять разнообразные сведения (применять различные шрифты, начертания, цвета, эффекты оформления); • автоматизировать экономическо-финансовую деятельность; • выполнять простейшие математические операции и вычислять значения простых математических функций; • строить различные графики и диаграммы; • вести коллективную работу различным пользователям через локальные и глобальные сети; • внедрять элементы изображений, звука, видео; • поддерживать различные типы печатающих устройств; • автоматизировать выполнение операций и расчетов с помощью макросов и программных вставок. Microsoft Excel выполняет все выше перечисленные функции и задачи. Кроме того, любой табличный процессор (включая Microsoft Excel) позволяет выполнять функции: 1) редактирования таблицы, а именно: • запись таблицы в файл; • редактирование, удаление, вставку формул, текста, чисел, дат в ячейки таблицы; • поиск и замену цепочек символов в ячейках; • одновременную обработку различных фрагментов одной или нескольких таблиц в различных окнах; • создание и использование собственных макрокоманд для выполнения набора действий (например, форматирования диаграмм); 2) форматирования ячеек, в том числе: 11
• установление различного вида представления данных в ячейках (чисел, дат, времени, денежных сумм); • изменение ширины и высоты ячеек; • оформление данных ячеек с использованием различных шрифтов и их начертания, насыщенности, эффектов, цвета; • горизонтальное и вертикальное выравнивание данных в ячейках; • расположение данных в ячейках (вертикальное, горизонтальное, под углом); • оформление границ ячеек (цвет, тип границы, эффекты границы); • заполнение ячеек цветом или узором; 3) вычисления различных математических выражений, в том числе: • ввод и редактирование математических формул и выражений; • вычисление значений математических выражений; • установление связей математических формул (какие данные влияют на эту формулу, и на какие другие формулы влияет данная формула); • использование в выражениях экономических, статистических, логических и других функций; • использование специальных алгоритмов и методов решения определенных задач; 4) слияния файлов, т. е. импорт файлов в различных форматах, подготовленных другими программными продуктами и объединение данных в разных файлах; 5) экспорта файлов, т. е. перезапись их в другом формате с целью использования в иных программных продуктах; 6) подготовки к печати и печать таблиц, среди которых: • разбиение таблицы на страницы; • предварительный просмотр страниц; • выбор порядка и номеров выводимых страниц. Microsoft Excel имеет встроенный язык программирования Visual Basic for Applications (как и Microsoft Word), который позволяет запрограммировать ряд вычислений и ряд операций обработки данных (включая их форматирование и преобразование), что делает возможным использование сложных расчетов пользователем не имеющим навыков работы в Excel. Excel снабжен развитой системой помощи, большим количеством встроенных функций и является лидером среди табличных процессоров.
12
2. ОСНОВНЫЕ НАВЫКИ РАБОТЫ С MICROSOFT EXCEL 2.1. Основные понятия табличного процессора Основным понятием табличного процессора является понятие электронной таблицы (ЭТ), которая представляет собой лист с клетками. Наиболее близкий аналог таблицы – это тетрадный лист в клеточку. Эти клетки называют ячейками, поэтому лист можно определить как совокупность ячеек. Ячейка (cell) – это область, которая может содержать текст, формулу, число или дату, обладает именем, которое также называют адресом ячейки или ссылкой. Разница между электронной таблицей и листом в клеточку прежде всего в том, что формула, записанная в ячейке, является как бы «живой», а формула на листе в клетку «мертвой». При изменении содержимого других ячеек, результат вычисления (значение данной ячейки, если она содержит формулу) меняется, а на обычной бумаге, ее результат постоянен. Существует два стиля задания адресов ячеек: именованный и нумерованный. 2.1.1. Именованный стиль Наиболее часто используется, так как задается «по умолчанию» при установке Excel. Имя ячейки состоит из названия столбца (английские буквы, в Excel это A, B, C, ..., Z, AA, AB, AC, AD, ..., AZ, BA, BB, BC, ..., IV, количество столбцов 256) и номера строки (в Excel от 1 до 65536). Например, А6, С10, АС3 (рис. 1). В данном случае лист можно сравнить с полем для морского боя, только клеток на нем не 100, а 16777216. A A1
B1
C1
D1
1
A2
B2
C2
D2
2
A3
B3
C3
D3
3
A4
B4
C4
D4
4
B
C
D
Рис. 1. Обозначение ячеек.
Адрес ячейки можно выразить записью: адрес = <столбец><строка>. 13
2.1.2. Нумерованный стиль Адрес ячейки задается в формате “RnCm”, где буквы R (от англ. Row – строка) и С (от англ. Column – столбец) постоянны, а n и m – это два числа, первое из которых обозначает номер строки, а второе, соответственно, номер столбца. Таким образом, ячейка A5, будет иметь адрес R5C1. 2.1.3. Объекты таблицы Электронная таблица в Excel может состоять из нескольких листов с ячейками, количество листов может быть от одного до нескольких десятков тысяч (явно задать можно только 255, но затем, можно добавлять или копировать листы). Совокупность всех листов хранящихся в одном файле называется книгой. Книга в Excel – это альтернатива документу в Word. Объектами электронной таблицы являются также: • Диапазон – прямоугольная область ячеек. Адресуется от верхнего левого до нижнего правого угла с разделителем “двоеточие” – например: M17:AD22. На рис. 2 выделен диапазон B3:C5. Обратите внимание на то, что первым всегда идет адрес верхней левой ячейки, а вторым адрес нижней правой ячейки диапазона. A
B
C
D
1 2 3 4 5 6 7 Рис. 2. Диапазон ячеек.
• Перечисление – перечисленные отдельные адреса ячеек. Разделитель – “точка с запятой”. Например: N22;B2;FG111. На рис. 3 выбрано перечисление: B3;D5;A6;C3. Порядок перечисления для большинства функций и операций не важен. A
B
C
1 2 3 4 5 6 7 Рис. 3. Перечисление ячеек.
14
D
• Произвольная комбинация диапазонов и перечислений ячеек, например: V1; AA2:AG123; BC2. C объектами можно производить групповые операции – переносить, копировать, удалять, форматировать и другие. Можно работать не только с одним, но и со многими листами. Имя листа в Excel находится внизу слева. Переход между листами производится нажатием левой кнопки мыши на нужном листе. Листам можно давать смысловые имена. Кроме того, с листами можно также выполнять операции копирования, переноса, удаления. 2.2. Вид табличного процессора Excel В Excel книга представляет собой отдельное окно. В заголовке окна отображается, кроме названия программы «Microsoft Excel», название активной книги, с которой сейчас ведется работа. Внизу окна программы имеется статусная строка, содержащая индикаторы (рис. 4). Строка-заголовок
Активная книга
Строка меню Панели инструментов
Строка формул
Поле адреса ячейки Кнопка выделения всего листа
Положение курсора Названия столбцов и номера строк
Кнопки прокрутки листов
Ярлычки выбора листа
Линейки прокрутки Область индикаторов
Рис. 4. Общий вид Microsoft Excel.
2.3. Перемещение по таблице и выделение ячеек Прежде чем изучать различные команды запомним одну очень полезную операцию – отмена действия. Эта операция применяется очень часто, является необходимой и позволит отменить то действие, которое совершено ошибочно или не так как нужно. В Microsoft Excel есть несколько способов сделать это. 1. Самый простой способ: отмена последнего действия – комбинация клавиш Ctrl+Z (на некоторых компьютерах может быть Alt+BackSpace – зависит от настроек). 15
2. С помощью кнопки «Отменить» (стрелочка вниз позволяет выбрать из списка до какого именно действия нужно отменить). Данная позволяет кнопка отменяет последнее действие. Кнопка «Вернуть» вернуть последнее отмененнное действие или действия. 3. Командами «Отменить…» и «Повторить…» из меню «Правка», которые аналогичны кнопкам «Отменить» и «Вернуть». Используйте операцию отмены, когда необходимо что-то вернуть назад. Замечание. Данные команды и кнопки не отменяют операций записи файла, открытия, создания, закрытия файла, печати и некоторые еще. Данные команды предназначены для возврата действий форматирования, копирования, удаления, перемещения ячеек; ввода, редактирования, удаления данных. Перейти к ячейке можно несколькими способами: • используя клавиши со стрелками можно перемещаться по таблице в любом направлении; • используя линейки прокрутки и левую кнопку мыши; • используя клавишу F5 или команду «Перейти…» из меню «Правка» можно вызвать диалоговое окно (рис. 5).
Рис. 5. Диалоговое окно перехода.
В данном окне можно ввести адрес ячейки в поле «Ссылка» и нажать клавишу Enter или кнопку «ОК»: • используя клавиши PageUp, PageDown можно перемещаться на несколько строк вверх или вниз; • клавиши Ctrl+Home всегда перемещают курсор к ячейке A1; • клавиша Home перемещает курсор к началу строки; • последовательно нажимая на клавиши End и стрелка вправо (нажимать нужно не одновременно) можно перейти к самой последней ячейке в строке, нажимая последовательно End и стрелка вниз можно 16
перейти к самой последней ячейке в столбце (иногда требуется дважды нажать стрелки). Примечание. Положение курсора можно всегда видеть в поле адреса ячейки (см. рис. 4).
Задание № 1. Запустите Microsoft Excel, используя кнопку «Пуск» на панели задач. Перейдите в конец таблицы (ячейка IV65536). Перейдите к ячейке AA100, затем к ячейке A100 и после к A1. Постарайтесь использовать разные способы перемещения. Рассмотрим несколько способов выделения ячеек. 1. Если необходимо выделить блок из нескольких ячеек, нужно нажать левую кнопку мыши в левом верхнем углу блока и, удерживая ее, переместить указатель мыши в правый нижний угол блока (как рисуете прямоугольник или таблицу). Выделенный блок ячеек поменяет цвета на инверсные. Если блок ячеек не был окрашен, то первая ячейка станет белой и помечена серой рамкой, а остальные ячейки окрашиваются в черный цвет. В Microsoft Excel 2000 выделение не изменяет цвета на инверсные, а лишь слегка затеняет их. Во время выделения размер блока указывается в поле адреса ячейки (до отпускания кнопки мыши) (рис. 6), например, на следующем рисунке показано поле адреса ячейки в котором отображена информация о выделяемом блоке (три строки – 3R и два столбца – 2C, R – row (англ. колонка), C – column (англ. столбец)).
Рис. 6. Поле адреса ячейки.
2. Блок можно выделить с помощью клавиатуры. Нужно расположить курсор в левом верхнем углу, нажать клавишу Shift и, не отпуская ее, с помощью клавиш управления курсором (клавиши со стрелками) необходимо переместиться к правой нижней ячейке блока. 3. Пометить блок можно с помощью клавиши F8. В левой верхней ячейке выделяемого блока нажмите клавишу F8. После нажатия на эту клавишу, в строке состояния в области индикаторов появится надпись «ВДЛ». Далее с помощью клавиш управления курсором перейдите к правой нижней ячейке выделяемого блока. После этого нужно завершить выделение повторным нажатием клавиши F8. 4. Если необходимо выделить всю строку, нужно щелкнуть мышью на номере строки в левой части окна рабочей книги. Если нужно выделить несколько строк, то необходимо провести мышью, не отпуская левой кнопки, по соответствующим заголовкам строк (рис. 7).
17
Рис. 7. Выделение нескольких строк.
При этом будет показываться всплывающая подсказка, содержащая количество выделенных строк (на рисунке четыре строки – 4R). Будьте внимательны при выделении строк мышью, указатель мыши должен иметь форму белого крестика! Строку, содержащую курсор, можно выделить, нажав Shift+Space (пробел). Если удерживать клавишу Shift и перемещаться с помощью клавиш со стрелками вверх/вниз, то можно выделить несколько строк. 5. Аналогично можно выделить один или несколько столбцов, нажимая на один или несколько заголовков колонок. Будьте внимательны при выделении столбцов мышью, указатель мыши должен иметь форму белого крестика! Столбец, содержащий курсор, можно выделить, нажав Ctrl+Space. Если затем нажать клавишу Shift и удерживая ее, перемещаться с помощью клавиш со стрелками влево/вправо, то можно выделить несколько столбцов. 6. Чтобы выделить весь рабочий лист нужно нажать кнопку выделения всего листа, либо клавиши Ctrl+A или Shift+Ctrl+Space (нажав на Shift и удерживая его, нажимают Ctrl, затем, удерживая обе клавиши, нажимают Space – пробел). 7. Выделение можно производить с помощью диалогового окна «Переход», вызываемого клавишей F5 или командой «Перейти…» из меню «Правка». Вместо ссылки указывают диапазон ячеек, например, D5:F9. Причем в этом окне можно указать с помощью кнопки «Выделить» что выделять. Для выделения ячеек целиком из предложенного списка нужно выбрать пункт «Объекты».
Задание № 2. Выполните в Excel следующие действия: выделите столбец B, выделите седьмую строку, выделите диапазон C3:E6, выделите строки 2–5, выделите весь лист. 2.4. Ввод данных в ячейки В ячейке могут содержаться: числа, текст, даты, формулы (именно эта позиция отличает электронную таблицу от текстового редактора). Признак формулы – знак «равно» (=), после него записывается сама 18
формула (в ней можно использовать операции с адресами клетки), например: =(С3-В15)*B11/12 Знаки действий в формулах: + (сложить), – (вычесть), * (умножить), / (разделить), ^ (возвести в степень) и круглые скобки ( ) (как в алгебре, изменяют порядок действий: первыми выполняются действия в скобках). 2.4.1. Ввод чисел 1. Укажите с помощью мыши (нажмите на нужной ячейке левую кнопку мыши один раз) ячейку, в которую необходимо ввести данные. 2. Наберите данные и нажмите клавишу Enter или клавишу табуляции Tab. Вводимые в ячейку числа интерпретируются как константы (константы не начинаются со знака «равно» и могут быть не только числами, но и текстом, датой). В Microsoft Excel число может состоять только из следующих символов: 0123456789+–( ),/$%.Ee Замечание. В качестве знака разделителя дробной части числа от целой части в Excel может использоваться либо точка, либо запятая (зависит от национальных настроек Windows). Если использовать цифровую клавиатуру (находится справа на клавиатуре) для набора чисел, то всегда можно использовать точку, находящуюся на этой клавиатуре (клавиатура включена, если горит индикатор Num Lock, который включается/выключается клавишей Num Lock). На основной части клавиатуры необходимо набирать соответствующий знак. По умолчанию числа в Excel выравниваются по правому краю ячейки, а текст по левому краю. Если набрать неверный разделитель частей в числе, то оно будет восприниматься как текст. Перед рациональной дробью следует вводить 0 (нуль), чтобы избежать ее интерпретации как формата даты или потерю точности; например, вводите 0 1/2. Это необходимо делать в следующем случае: вы вы1
1
числяете разницу 2 − 3 . Если вы наберете формулы вычисляющие значения этих дробей, а затем формулу вычисляющую результат, то вы получите ответ 0.177… Это является приближением. Если вы наберете 0 1/2 и 0 1/3 (пробел между нулем и дробью необходим), то результирующая формула даст результат 1/6. Примечание. Независимо от количества отображаемых разрядов числа хранятся с точностью до 15 разрядов. Если число имеет больше 15 значащих знаков, то разряды после 15-го преобразуются в нули (0). Это нужно помнить при вычислениях.
Стоящий перед числом знак «плюс» (+) игнорируется. Перед отрицательным числом необходимо вводить знак «минус» (–) или заключать его в круглые скобки ( ). 19
Английская буква «E» («e») обозначает степень, в которую надо возвести число 10 и умножить результат на мантиссу числа. Так запись 7.45E+05 означает число равное 7.45*105, т. е. 745000. Данное представление удобно для больших или очень маленьких чисел, например, –2.3e–07 означает число равное –2.3*10-7, т. е. –0.00000023. 2.4.2. Ввод текста В Microsoft Excel текстом является любая последовательность, состоящая из цифр, пробелов и нецифровых символов, например, приведенные ниже записи интерпретируются как текст: 10AA109, 127AXY, 12-976, 208 4675. Введенный текст выравнивается в ячейке по левому краю. Чтобы изменить выравнивание необходимо применить форматирование ячеек (см. ниже). Чтобы начать в ячейке новую строку, нужно нажать клавиши Alt+Enter. При наборе текста необходимо не забывать, что Excel – это табличный процессор, а не текстовый редактор. Не все функции форматирования текста имеются в Excel. 2.4.3. Ввод дат и времени суток При вводе даты используйте точку или дефис в качестве разделителя, например, 09.05.98 или Янв-99. При вводе времени используйте двоеточие для разделения секунд, минут и часов, например, 12:23 или 09:56:34. В Microsoft Excel даты и время суток интерпретируются как числа. Внешнее представление времени или даты на листе зависит от числового формата, назначенного ячейке. При вводе значений даты или времени происходит их автоматическое распознавание, и общий формат ячейки заменяется на встроенный формат даты или времени. По умолчанию значения даты и времени выравниваются в ячейке по правому краю. Если не происходит автоматического распознавания формата даты или времени, то введенные значения интерпретируются как текст, который выравнивается в ячейке по левому краю. Чтобы ввести дату и время суток в одну и ту же ячейку, в качестве разделителя даты и времени необходимо использовать пробел. Чтобы ввести время с использованием 12-часового формата, введите после значения времени отделенные пробелом английские буквы AM или PM (A или P). В противном случае, время будет интерпретировано с использованием 24-часового формата. Например, при вводе значения 3:00 вместо 3:00 PM, время будет храниться в ячейке в виде 3:00 AM. Независимо от формата, используемого для представления даты или времени, в Microsoft Excel все даты сохраняются как последовательные 20
числа, а время сохраняется в виде десятичной дроби. Это иногда удобно, так как время суток и даты можно складывать, вычитать и производить с ними другие вычисления. В формулы они могут быть введены в виде текста, заключенного в двойные кавычки. Например, приведенная ниже формула возвращает результат, равный 139: ="21.11.99"-"05.07.99". То есть между 21 ноября и 5 июлем 1999 года находится 139 дней. В Microsoft Excel для Windows (и Lotus 1-2-3) используется система отсчета дат с начала столетия; в этой системе числу 1 соответствует дата 1 января 1900 г. Примечания. 1. Чтобы ввести текущую дату, нажмите клавиши Ctrl+; (точка с запятой). 2. Чтобы ввести текущее время, нажмите клавиши Ctrl+Shift+: (двоеточие).
Задание № 3. Введите в любых ячейках следующие числа: 0.11234, 1/7, 1000000000, –13.23, даты: 01 янв 98, 10.10.99, время: 12:43, 09:16:04. Не забывайте о правилах ввода. Чтобы изменить содержимое ячейки нужно нажать клавишу F2 на нужной ячейке (или выполнить двойное нажатие левой кнопки мыши на ячейке), затем внести изменения и нажать клавишу Enter. 2.5. Форматирование ячеек Microsoft Excel предоставляет широкие возможности по оформлению отчетов, различных таблиц, сводок, диаграмм и т. д. Для этого используются следующие основные операции форматирования листа: • изменение высоты строк и ширины столбца; • изменение шрифта, размера и начертания текста; • форматирование содержимого ячеек; • выравнивание; • выбор границ, цвета и узора для ячеек. Прежде чем форматировать что-то, необходимо выделить форматируемые объекты, иначе форматирование будет применено только для одной ячейки, в которой находится курсор. О выделении будет рассказано ниже. В Excel существует большое количество числовых форматов ячеек. Выбрать необходимый формат ячейки (или группы ячеек) можно выбрав ячейку (или выделив группу ячеек) и выполнив команду «Ячейки…» из меню «Формат». Или выбрав пункт «Формат ячеек…» из контекстнозависимого меню, вызываемого правой кнопкой мыши на ячейках. При этом появится диалоговое окно (рис. 8).
21
Рис. 8. Диалоговое окно «Форматирование ячеек».
На вкладке «Число» имеется список «Числовые форматы», с помощью которого можно выбрать нужный формат (при выборе формата обращайте внимание на область «Образец» в которой показывается выбираемый формат). Разберем назначение каждого типа: • Обычный. В ячейках, имеющих общий числовой формат, отображаются целые числа (789), десятичные дроби (7,89) или числа, представленные в экспоненциальной форме (7,89E+08), если число длиннее ширины ячейки. Используя общий формат можно просматривать до 11 разрядов, включая десятичные запятые и такие символы, как "E" и "+." Чтобы использовать числа с большим количеством разрядов, используйте встроенный экспоненциальный числовой (экспоненциальное представление числа) или пользовательский формат. Данный стиль не накладывает строгих ограничений на формат числа или вид текста. • Числовой. Данный формат применяется в том случае, когда необходимо задать для ячеек число знаков выводимых после запятой, отличный вид отрицательных или положительных чисел (задать красный цвет для вывода чисел). Кроме того, можно установить разделитель групп разрядов, при этом между цифрами единиц, тысяч, миллионов, миллиардов и т.д. будут небольшие расстояния для удобства чтения, например, 2 647 123.323. Для установки формата с разделителями можно использовать кнопку «Формат с разделителями» на панели инструментов “Форматирование”. • Денежный. Позволяет установить число знаков после запятой, цвет для положительных или отрицательных чисел. Признак данного формата – денежная единица рядом с числом. Для русской версии Windows – это р. (рубль), хотя можно установить любую (в Microsoft Excel 2000 имеется поддержка денежной единицы «евро»). Данный формат 22
можно установить с помощью кнопки «Денежный формат» на панели инструментов “Форматирование”. • Финансовый. Отличается от денежного формата отсутствием цвета и выравниваем чисел по дробному разделителю, т. е. числа, расположенные в столбце и имеющие данное выравнивание, удобно сравнивать, так как дробный разделитель будет на одном месте у всех чисел. • Дата и время. Позволяют задать вид дат и времени в ячейках. Выбор осуществляется из списка одного из доступных форматов. • Процентный. Числа представляются в виде процентов. Вместо 0.31 будет 31 %. Удобный формат, так как позволяет не умножать на 100 %, чтобы получить правильный вид числа. Процентный формат можно усна панели тановить с помощью кнопки «Процентный формат» инструментов “Форматирование”. • Дробный. Можно задать вид дроби с одним знаком, с двумя, тремя, а также представлять в виде долевых дробей. Например, если при вычислениях получается, что вещество занимает 2/7 объема, а нужно узнать, сколько оно занимает в 100 частях, можно выбрать формат сотыми долями для получения результата – 29/100. • Экспоненциальный. Используется для представления очень маленьких (или близких к нулю) или больших чисел. В данном формате присутствует английская буква E (e), которая показывает степень десяти (см. ввод чисел). • Текстовый. Указывает на то, что данная ячейка содержит текст, а не число. Иногда, при обработке данных, таким способом указывают индексные номера. Необходимо помнить, что сначала нужно установить данный формат, а затем вводить числа. В противном случае числа будут восприниматься как числа, а не как текст. • Дополнительный. Позволяет задать формат почтового индекса, номера телефона, индекса, что используется при обработке баз данных с помощью Excel. Для увеличения количества отображаемых разрядов можно исполь, для уменьшения зовать кнопку «Увеличить разрядность» количества отображаемых разрядов – кнопку «Уменьшить разрядность» на панели инструментов «Форматирование». Каждое нажатие приводит к увеличению или уменьшению разрядности на один знак. Замечание. Иногда в ячейке может возникнуть такое значение «#######». Это говорит о том, что число в данном формате не помещается в ячейку. Необходимо либо сменить формат ячейки, либо увеличить ширину ячейки. 23
Задание № 4. Изучите форматы ячеек, описанные выше, на введенных вами числах. Используйте для установки формата как диалоговое окно в меню, так и панель инструментов. Вкладка «Выравнивание» содержит команды и элементы управления положением текста в ячейке (рис. 9).
Рис. 9. Вкладка «Выравнивание».
На этой вкладке есть три основных области: «Выравнивание», «Отображение» и «Ориентация». В области «Выравнивание» с помощью двух выпадающих списков можно выбрать необходимое выравнивание по горизонтали (по левому краю, по правому краю, по центру, по ширине, по значению, по центру выделения и с заполнением) и по вертикали (по верхнему краю, по нижнему краю, по центру и по высоте). Кроме того, имеется возможность указать отступ от левого края (для горизонтального выравнивания). Это делается с помощью счетчика с полем «Отступ». Выравнивание по горизонтали можно осуществлять кнопками на панели инструментов «Фор«По левому краю», «По правому краю», матирование»: «По центру». В области «Отображение» имеется три флажка. Если в ячейке текст не помещается в одну строку, то можно с помощью флажка «Переносить по словам» включить режим, который будет переносить слова, не вмещающиеся в ячейку с установленной шириной, на новую строку. Таким образом, ширина ячейки изменяться не будет, но будет изменяться ее высота (рис. 10).
24
Рис. 10. Пример применения форматирования “Переносить по словам”.
Следующий флажок «Автоподбор ширины» позволяет уместить текст в заданную ширину ячейки (столбца) путем изменения масштаба шрифта (рис. 11).
Рис. 11. Пример применения форматирования “Автоподбор ширины”.
Флажок «Объединение ячеек» позволяет текст располагать в нескольких ячейках (например, общее название в таблице для нескольких столбцов). В этом случае необходимо выделить те ячейки, которые необходимо объединить и включить флажок «Объединение ячеек». В объединенную ячейку Microsoft Excel помещает только данные верхнего левого угла из выделенного диапазона. Для включения в объединенную ячейку всех данных диапазона скопируйте все данные в верхнюю левую ячейку внутри диапазона. Объединять ячейки можно как в строке, так и в столбце, и даже в нескольких столбцах и строках (прямоугольную область ячеек). В объединенной ячейке можно также выравнивать текст, как и в любой другой ячейке. На панели инструментов «Форматирование» имеется специальная кнопка «Объединить и поместить в центре» , которая позволяет объединить выделенные ячейки и текст внутри объединенной ячейки выровнять по центру (рис. 12).
Рис. 12. Пример объединения трех ячеек и выравнивания по центру в объединенной ячейке.
25
Последняя область на вкладке «Выравнивание» – «Ориентация». С помощью этого блока можно повернуть текст в ячейке на необходимый угол в диапазоне от –90° до 90°. Это можно сделать двумя способами: 1) используя счетчик с полем «Градусы»; 2) используя рисунок (для этого необходимо навести мышь на слово надпись, нажать на левую кнопку мыши, удерживая кнопку, нужно передвигать это слово на необходимый угол вверх или вниз или вместо этого нажать кнопку мыши в нужном месте на шкале поворота).
Примечание. Для отображения текста вертикально сверху вниз в области «Ориентация» нужно выбрать нестандартную кнопку с вертикальным текстом.
Задание № 5. Используя выравнивание ячеек, создайте таблицу (рис. 13)
Рис. 13. Таблица для задания №5.
Старайтесь использовать не только диалоговое окно «Формат ячеек», но и панель инструментов «Форматирование». Следующая вкладка диалогового окна «Формат ячеек» – «Шрифт» (рис. 14).
Рис. 14. Вкладка «Шрифт».
Эта вкладка позволяет установить тип шрифта, его размер, начертание (курсив, полужирный, подчеркнутый и т. д.), цвет, некоторые эффекты. Также как и в Microsoft Word список шрифтов, список с полем разме26
ров и кнопки изменения начертания вынесены на панель инструментов «Форматирование», а также кнопка изменения цвета текста (рис. 15). Рис. 15. Кнопки панели инструментов “Форматирование”.
Далее следует вкладка «Граница» (рис. 16). Она используется для создания различных рамок вокруг ячейки или группы ячеек (для красивого оформления таблиц).
Рис.16. Вкладка «Граница».
Как видно на этой вкладке имеется три области: «Все», «Отдельные», «Линия». С помощью кнопок в областях «Все» и «Отдельные» можно установить границы на выделенный диапазон. Чтобы сделать это, достаточно указать мышью на образце (область с названием Надпись) к какой части диапазона должна устанавливаться граница. Для того чтобы в области удалить все границы, необходимо нажать кнопку «Нет» «Все». Чтобы определить размер и вид линии границы нужно выбрать параметр в области «Линия». Чтобы изменить вид уже существующей границы сначала нужно выбрать требуемый вид линии, затем установить границы, которые необходимо изменить. Для изменения цвета границы необходимо выбрать нужный цвет из списка «Цвет» в области «Линия». Примечание. Границу у ячеек можно установить с помощью кнопки «Границы»
на панели инструментов «Форматирование», при на27
жатии на стрелочку на этой кнопке появится список возможных границ (рис. 17).
Рис. 17. Кнопки задания границ.
Задание № 6. Используя панель инструментов «Форматирование» или диалоговое окно «Формат ячеек» установите следующий вид границ ячеек таблицы, подготовленной в задании № 5 (как показано на рис. 18)
Рис. 18. Таблица с границами.
Последняя вкладка, которую мы рассмотрим в диалоговом окне «Формат ячеек» (меню «Формат» команда «Ячейки…») – это вкладка «Вид» (рис. 19).
Рис. 19. Вкладка «Вид».
28
С помощью этой вкладки можно установить цвет фона ячейки или диапазона ячеек. Для этого необходимо выделить диапазон, который нужно изменить и выбрать цвет в области «Заливка ячеек». Если необходимо установить какой-нибудь узор в качестве затенения ячеек, то можно выбрать наиболее подходящий из списка «Узор». В этом же списке можно выбрать и цвет узора. Все сделанные изменения будут отображаться в области «Образец». Примечание. Для затенения фона ячеек цветом можно использовать кнопку «Цвет заливки» на панели инструментов «Форматирование». Причем для использования цвета, выбранного в прошлый раз, достаточно нажать на кнопку, а не на стрелочку вызова списка цветов.
Задание № 7. Используя панель инструментов «Форматирование» или диалоговое окно «Формат ячеек» задайте цвет ячеек, начертание и цвет шрифтов, цвет границы для таблицы, подготовленной в задании № 6 (на свой вкус). 2.6. Операции копирования, удаления, перемещения, очистки и заполнения ячеек С отдельными ячейками и с различными диапазонами ячеек можно производить операции копирования, перемещения, удаления. Это три стандартных операции, которые выполняются во многих программных продуктах. Однако кроме этих стандартных операций имеется еще две операции, которые характерны именно для Microsoft Excel – это очистка и заполнение ячеек. Чтобы произвести любую операцию копирования, перемещения или удаления необходимо сначала выделить ячейку или диапазон, над которым нужно осуществить одну из трех вышеперечисленных операций. Для того чтобы произвести операцию копирования выделенного диапазона (или нескольких диапазонов) необходимо выполнить следующие шаги: 1. Выделить диапазон (или несколько диапазонов), который Вы хотите скопировать. на панели инструментов 2. Нажать кнопку «Копировать» «Стандартная» или комбинацию клавиш Ctrl+C или комбинацию Ctrl+Insert. 3. Перейти к ячейке (к началу диапазона; достаточно указать верхний левый угол диапазона), куда необходимо скопировать выделенный блок ячеек или ячейку. 29
4. Нажать кнопку «Вставить» на панели инструментов «Стандартная» или комбинацию клавиш Ctrl+V или комбинацию Shift+Insert. Операция перемещения отличается от копирования вторым шагом. Вместо кнопки «Копировать» необходимо нажимать кнопку «Вырена панели инструментов «Стандартная», либо клавиши зать» Ctrl+V или Shift+Delete. Операции копирования или перемещения можно выполнять иначе. 1. Необходимо выделить ячейку или диапазон ячеек. 2. Установить указатель мыши на рамку выделения (при этом указатель мыши должен из белого крестика стать стрелкой) и нажать кнопку мыши. 3. Для перемещения ячейки или диапазона просто нужно перетащить выделение, удерживая нажатой кнопку мыши, в необходимую область. Microsoft Excel заменит все существующие данные во вставляемой области. Чтобы скопировать ячейку или диапазон, при перетаскивании необходимо удерживать клавишу Ctrl. Операция удаления может быть произведена несколькими способами. Рассмотрим сначала самый простой. Для того чтобы выполнить эту операцию необходимо два шага: 1. Выделить диапазон (или несколько диапазонов), который нужно удалить. 2. Нажать кнопку Delete на клавиатуре. При этом удаляется содержимое выделенных ячеек (ячейки остаются на месте пустыми). Для удаления ячеек вместе с содержимым нужно выполнить следующие шаги: 1. Выделить диапазон (или несколько диапазонов), который нужно удалить. 2. Из меню «Правка» выбрать команду «Удалить…». 3. В появившемся диалоговом окне «Удаление ячеек» (рис. 20) выбрать необходимое.
Рис. 20. Диалоговое окно «Удаление ячеек».
Операция удаления не позволяет очистить формат ячеек или удалить из них примечания или сразу все. Для этого предназначена операция 30
очистки. Она позволяет, не удаляя ячеек, удалить форматирование, содержание или все сразу. Для выполнения операции очистки нужно выбрать пункт «Очистить» в меню «Правка». После выбора пункта появится подменю (рис. 21).
Рис. 21. Подменю команды «Очистить».
Команда «Все» удаляет границы, примечания, форматирование и содержание ячеек. Команда «Форматы» удаляет форматирование ячеек (начертание шрифтов, границы, цвета, заполнение и т. д.) Команда «Содержимое» удаляет только данные (формулы, числа, текст, даты, время) в ячейках, оставляя форматирование и примечания. Команда «Примечания» удаляет примечания из ячеек. Примечание. Любой ячейке на рабочем листе можно добавить примечание, которое будет отображаться всегда или только тогда когда на ячейке находится указатель мыши. Ячейки, содержащие примечания, имеют красный треугольник в верхнем правом углу (рис. 22).
Рис. 22. Ячейка с примечанием.
Для добавления примечания можно использовать команду «Добавить примечание» из контекстно-зависимого меню, вызываемого правой кнопкой мыши на ячейке, либо команду «Примечание» из меню «Вставка». При этом появится прямоугольная рамка с желтоватым фоном, которую можно изменить с помощью маркеров изменения размеров. В этой рамке пишется текст примечания, который может быть отформатирован с помощью начертаний и цветов. После этого можно щелкнуть мышью на любой другой ячейке. После добавления примечания его можно либо удалить описанной выше командой, либо изменить. Команда «Изменить примечание» появляется в контекстно-зависимом меню и в меню «Вставка» вместо команды «Добавить примечание».
Задание № 8. Скопируйте таблицу, которую вы создали в задании № 7 в любое место, затем перенесите дубликат на новое место. Очистите содержимое ячеек дубликата, а затем форматирование ячеек. Добавьте примечание к любой ячейке, затем измените его, а после удалите. 31
Операция заполнить позволяет не вводить повторяющиеся данные вручную. Например, необходимо в строке или в столбце ряд ячеек заполнить одним и тем же числом или текстом. Для выполнения операции заполнения следует выполнить следующие шаги: 1. Набрать данные, которыми нужно заполнить другие ячейки в одной из крайних ячеек заполняемого диапазона. 2. Выделить заполняемый диапазон, включая ячейку с введенными данными. 3. В меню «Правка» выбрать пункт «Заполнить», а в появившемся подменю нужную команду. Команду «Вверх», если данные были введены в самую нижнюю ячейку заполняемого диапазона. Команду «Вниз», если данные были введены в самую верхнюю ячейку заполняемого диапазона. Команду «Влево», если данные были введены в самую правую ячейку заполняемого диапазона. Команду «Вправо», если данные были введены в самую левую ячейку заполняемого диапазона. Но наиболее интересной командой в операции заполнения является команда «Прогрессия…» из подменю «Заполнить», меню «Правка». Эта команда позволяет не вводить вручную номера 1, 2, 3… или последовательные даты (не обязательно следующие одна за одной). Для выполнения операции заполнения прогрессией нужно выполнить следующие шаги: 1. Ввести в самую верхнюю ячейку (для заполнения столбца) или в самую левую ячейку (для заполнения строки) начальное значение. 2. Если известно, где должен заканчиваться диапазон, то выделяют этот диапазон (первая ячейка должна содержать введенное начальное значение). Если известно только конечное значение, то выделяют только одну первую ячейку, содержащую введенное начальное значение. 3. Выбирают команду «Прогрессия…» из меню «Правка» подменю «Заполнить». После этого на экране появится диалоговое окно (рис. 23).
Рис. 23. Диалоговое окно «Прогрессия».
В данном окне выбирают необходимые параметры прогрессии. В области «Расположение» указывают направление заполнения. Если значения должны располагаться в строке, устанавливают переключатель по строкам, иначе переключатель по столбцам. Флажок «Автоматическое 32
определение шага» устанавливают в том случае, если имеется второе значение прогрессии во второй ячейке заполняемого диапазона. Например, в первой ячейке находится 3.5, а во второй 5.25, тогда при использовании этого флажка, Excel автоматически определит шаг 1.75 (разница между вторым и первым значениями). Можно задать шаг для прогрессии в поле «Шаг». В области «Тип» выбирают тип прогрессии: арифметическая (следующее значение получают из предыдущего путем добавления шага), геометрическая (следующее значение получают из предыдущего путем умножения на шаг), даты (позволяет создавать прогрессию из дат) и автозаполнение. Для типа прогрессии «даты» можно в области «Единицы» выбрать единицу приращения: день, рабочий день, месяц, год. Если значение шага равно двум и выбран переключатель рабочий день, то прогрессия будет состоять из рабочих дней с шагом в два дня. Надо сделать замечание, что рабочими днями считаются все дни года, за исключением тех дней, которые приходятся на субботу и воскресенье. Даже 1 января считается рабочим днем, если оно приходится на период с понедельника до пятницы. Другие праздники тоже не учитываются. Если не был указан диапазон, то необходимо в поле «Предельное значение» ввести значение больше которого значение прогрессии не должно быть. Пример. Подготовка данных для расчета значений функции. Проблема. Необходимо вычислить значения функции на отрезке от 2 до 4 с шагом 0.2. Решение. Чтобы не вводить вручную значения, можно использовать средства Excel. Решаем, что данные должны располагаться в столбце ячейки B3, и выполняем шаги: 1. Записываем в ячейку B3 значение 2 и выделяем ее. 2. Выполняем команду «Прогрессия…» из меню «Правка» подменю «Заполнить». 3. В области «Расположение» указываем по столбцам. 4. В поле «Шаг» набираем 0.2. 5. В области «Тип» оставляем значение арифметическая. 6. В поле «Предельное значение» набираем 4. 7. Нажимаем кнопку «ОК». Выделять диапазон в данном случае не нужно. Данные для расчета готовы. Тип прогрессии «автозаполнение» довольно интересен, но имеет много тонкостей, попробуйте изучить его самостоятельно (см. обязательная самостоятельная работа). Пример. Использование автозаполнения. 33
Проблема. Необходимо составить график дежурств, которые происходят через три дня. Важно знать не дату, а день недели, когда будет дежурство. Дежурство начинается с четверга. Решение. Выполним следующие шаги: 1. В первую ячейку (например, C2) вводим «четверг». 2. Во вторую ячейку (C3) в заполняемом диапазоне вводим «понедельник» (так как дежурство через три дня). 3. Выделяем диапазон, где первыми двумя ячейками будут заполненные ячейки. 4. Выполняем команду «Прогрессия…» из меню «Правка» подменю «Заполнить». 5. В области «Расположение» указываем по столбцам (так как данные вводили в столбец). 6. В области «Тип» оставляем значение автозаполнение. 7. Нажимаем кнопку «ОК».
Задание № 9. Выполните следующие заполнения: с 3 до 7 с шагом 0.1 в столбце, с 01.11.1999 по 01.12.1999 в столбце, 0 до –3 с шагом 0.5 в строке. 2.7. Операции изменения размеров строк и столбцов Со строками и столбцами можно производить следующие действия: 1) изменять высоту (для строки) и ширину (для столбца); 2) осуществлять автоподбор ширины столбца и высоты строки соответственно; 3) скрывать столбец и строку; 4) отображать столбец и строку. Выполнить все эти действия можно через команду «Строка» или «Столбец» в меню «Формат». Если выбрать одну из этих команд, то появится подменю, которое будет содержать все перечисленные выше действия (рис. 24).
Рис. 24. Подменю команды «Строка».
Изменить ширину столбца или высоту строки можно также с помощью мыши. Для этого необходимо мышью (удерживая левую кнопку мыши, нажатой на границе столбца или строки) перемещать правую границу заголовка столбца или нижнюю границу заголовка строки до тех 34
пор, пока ширина столбца или высота строки не достигнет необходимого размера (рис. 25).
Рис. 25. Изменение ширины столбца.
Примечания. • При изменении размеров строки или столбца на всплывающих подсказках показывается текущий размер строки или столбца. • Для изменения ширины для нескольких столбцов нужно выделить столбцы, ширину которых необходимо изменить, а затем переместить правую границу заголовка любого выделенного столбца. • Чтобы изменить ширину всех столбцов (строк) на листе, нужно выделить весь лист, а затем переместить границу заголовка любого столбца (строки). • Для «подгонки» ширины столбца (строки) в соответствии с содержимым его ячеек, установите указатель на правую (нижнюю) границу заголовка, и дважды нажмите кнопку мыши. Для выполнения этой операции можно использовать команды «Автоподбор высоты» (для строк) и «Автоподбор ширины» (для столбцов). Эти команды находятся в меню «Формат» подменю «Строка» и «Столбец» соответственно. Необходимо отличать команду «Автоподбор ширины» от похожей команды (по названию), находящейся в диалоговом окне «Формат ячеек» на вкладке «Выравнивание». Данное окно вызывается командой «Ячейки…» из меню «Формат». В этом окне команда подбирает масштаб шрифта, а команда в подменю «Столбец» подбирает ширину столбца.
Чтобы скрыть или отобразить строку (столбец) можно воспользоваться контекстным меню, вызываемым правой кнопкой мыши. Для того чтобы скрыть столбец или строку надо выполнить следующие шаги: 1) выделить строку (столбец), который нужно скрыть (или несколько строк/столбцов); 2) нажать правую кнопку мыши на заголовке выделенного столбца или строки (строк/столбцов); 3) в появившемся контекстном меню выбрать команду «Скрыть». Для отображения скрытых столбцов или строк, нужно выделить столбцы или строки, между которыми находятся скрытые строки или столбцы. Вызвать контекстно-зависимое меню на заголовке строки или столбца и выбрать команду «Отобразить». Замечание. Установить абсолютно точный размер ширины столбца или высоты строки не всегда удается. Excel имеет собственную систему измерений, поэтому даже задав с помощью клавиш высоту строки в 20, вы получите высоту 19.5, а не 20.
35
Задание № 10. Измените ширину столбца B до 15. Измените высоту строк № 12, 13 до 20.25. 2.8. Операции с файлами К файловым операциям относят открытие, сохранение, создание и закрытие файла. Все команды, выполняющие данные операции находятся в меню «Файл». Надо заметить, что каждая книга Excel представляет собой один файл. Она может содержать от одного до несколько десятков тысяч листов (во многих источниках указывается максимальное количество листов – 255; это неверно, 255 листов может быть сразу создано после создания книги, но в книгу можно еще добавлять листы). Для создания новой книги выполните следующие шаги: 1. Выберите команду «Создать…» в меню «Файл». 2. В появившемся диалоговом окне, чтобы создать новую пустую книгу, выберите вкладку «Общие» и дважды щелкните значок «Книга» . Для создания книги по шаблону выберите вкладку со списком стандартных шаблонов или вкладку со списком пользовательских шаблонов, а затем дважды щелкните шаблон, по которому создается книга. Примечание. Чтобы создать новую книгу по стандартному шаблону на панели инструментов книги, нажмите кнопку «Создать» «Стандартная». Для открытия книги на жестком диске или в сети необходимо выполнить следующие шаги: на панели инструментов «Стан1. Нажать кнопку «Открыть» дартная» или выполнить команду «Открыть…» из меню «Файл». 2. В поле «Обзор» (большая область с файлами и папками внутри диалогового окна) выбрать диск и папку, где находится файл, который нужно открыть. При необходимости можно использовать список «Папка» для выбора нужной папки. 3. Дважды нажать левую кнопку мыши на книге (либо один раз и кнопку «Отрыть»), которую нужно открыть. Примечания. 1. В диалоговом окне открытия файла имеются кнопки изменения режимов просмотра и поиска файлов. 2. Тип файлов для книг электронных таблиц – файлы Microsoft Excel. 3. Чтобы открыть ранее открывавшийся файл, нужно выбрать имя файла в нижней части меню «Файл». Если список ранее открывавшихся файлов не отображен, необходимо выбрать команду «Параметры…» в меню «Сервис», а затем установить флажок «Список ранее открывавшихся файлов» на
36
вкладке «Общие». Но после инсталляции Excel (когда еще не открывали ни одного файла) данный список будет пуст в любом случае.
Чтобы закрыть книгу нужно выбрать команду «Закрыть» в меню «Файл», либо использовать кнопку закрытия окна для данной книги. Чтобы закрыть все открытые книги без выхода из программы Excel, нужно нажать клавишу Shift и, не отпуская ее, выбрать команду «Закрыть все» (она появится вместо команды «Закрыть») в меню «Файл». Для сохранения файла используют команду «Сохранить» (кнопка «Сохранить» на панели инструментов «Стандартная») или команду «Сохранить как…» из меню «Файл». Чтобы сохранить новую, не имеющую имени книгу нужно выполнить следующие шаги: на панели инструментов 1. Нажать кнопку «Сохранить» «Стандартная» (или любую команду сохранения из меню «Файл»). 2. В поле «Папка» указать диск и папку, в которую будет помещена книга (чтобы сохранить книгу в новой папке, можно использовать ). кнопку «Создать новую папку» 3. В поле «Имя файла» ввести имя книги. 4. Нажать кнопку «Сохранить». Замечания. 1. Чтобы упростить в дальнейшем поиск книги, рекомендуется задавать свойства книги (как свойства документа Word). Это осуществляется командой «Свойства» в меню «Файл». 2. С помощью кнопки «Параметры…» в диалоговом окне сохранения можно задать пароли для открытия и записи файла, а также задать параметр создания резервной копии. 3. Задание существующего имени книги для выбранной папки приведет к перезаписи книги (и полного удаления старой книги).
Для сохранения книги, имеющей имя, нужно только нажать кнопку на панели инструментов «Стандартная» (или команду «Сохранить» «Сохранить» из меню «Файл»). Для сохранения книги под новым именем нужно выполнить команду «Сохранить» из меню «Файл», в поле «Имя файла» ввести новое имя. 2.9. Самоконтроль Основные выводы по главе 2: • лист представляет собой таблицу ячеек, в которых могут содержаться числа, текст, даты, время, формулы; • прежде чем форматировать ячейку, диапазон ячеек, или любой другой объект его необходимо выделить; 37
• форматировать можно ячейку, символ, столбец, строку, лист; • наиболее важным форматом является представление данных в ячейках – число, текст, дата; • шрифт в ячейках может быть различного начертания, размера, с различными эффектами и подчеркиванием, разного цвета, с разным углом наклона, фон ячейки также может быть различным; • ячейки можно обрамлять рамкой различного цвета и различного типа; • можно регулировать ширину столбцов и высоту строк. В результате изучения главы 2 Вы должны освоить: • перемещение между ячейками; • методику выделения ячейки, групп ячеек; • методику форматирования ячеек; • ввод данных в ячейки; • операции копирования, перемещения, удаления, очистки, заполнения ячеек; • форматирование столбцов и строк; • операции сохранения, закрытия, открытия, создания книг. Вы должны знать: • определения табличного процессора, ячейки, листа, диапазона; • понятие и виды адресации ячеек, способы задания адресов; • процесс форматирования ячеек; • процесс ввода данных в ячейку; • операции копирования, перемещения, удаления, очистки и заполнения ячеек; • операции сохранения, закрытия, открытия, создания книг. 2.9.1. Контрольные вопросы к главе 1 и 2 1. Что такое табличный процессор? 2. Какие задачи решает табличный процессор? 3. Какие группы функций выполняют табличные процессоры? 4. Какие объекты электронной таблицы вам известны? 5. Что такое лист? 6. Что такое ячейка? 7. Что такое диапазон ячеек? 8. Что такое перечисление ячеек? 9. Какие стили адресации существуют? 10. Как происходит адресация в именованном стиле? 11. Как происходит адресация в нумерованном стиле? 12. Как отменить последнее действие? Имеется ли такая операция в Microsoft Word? 38
13. Как выделить ячейки? 14. Как выделить строку, столбец, весь лист? 15. Как перейти к нужной ячейке? 16. Как ввести числовые данные в ячейку? Какие при этом есть тонкости? 17. Как ввести текстовые данные в ячейку? 18. Как ввести дату или время в ячейку? 19. Для чего служат команды форматирования ячеек? 20. Как установить необходимый числовой формат ячейки? 21. Как задать фон для ячейки? 22. Как задать выравнивание ячейки? Какие виды выравнивания существуют? 23. Как скопировать ячейку или диапазон ячеек? 24. Как переместить ячейку или диапазон ячеек? 25. Как удалить ячейку? 26. Как очистить ячейку? 27. Чем отличается операция удаления от операции очистки ячеек? 28. Как заполнить ячейки? Для чего необходима операция заполнения? 29. Какие виды заполнений ячеек существуют? 30. Что такое примечание в ячейке и как его добавить? 31. Какие существуют операции изменения размеров строк и столбцов? Для чего они необходимы? 32. Как создать новую книгу? 33. Как открыть книгу на диске? 34. Как сохранить книгу на диске? 35. Как закрыть книгу? 36. Отличаются ли команды с книгами (открыть, закрыть, создать, сохранить) от аналогичных команд с документами в Word? 2.9.2. Упражнения на самостоятельную работу Упражнение № 1. Создайте таблицу, в которую можно вносить ежедневные домашние расходы (с указанием даты покупки, наименования покупки, суммы покупки) и доходы (вид дохода, дата получения дохода, сумма дохода). Упражнение № 2. Создайте таблицу для расписания занятий вашей группы. Используйте цветовое оформление для таблицы. Упражнение № 3. Создайте таблицу для занесения результатов игр команд по футболу.
39
3. ВЫЧИСЛЕНИЯ В MICROSOFT EXCEL Формула является основным средством для вычислений и анализа данных. С помощью формул можно складывать, умножать и сравнивать данные, а также объединять значения. Формулы могут ссылаться на ячейки текущего листа, листов той же книги или других книг. На рисунке ниже значение ячейки B4 складывается с числом 25. Полученный результат делится на сумму ячеек D5, E5 и F5 (рис. 26). ссылка на ячейку числовая константа функция
=(B4+25)/СУММ(D5:F5) ссылка на диапазон ячеек Признак формулы
оператор деления оператор сложения
Рис. 26. Пример формулы в Microsoft Excel
Формулой называют выражение начинающееся, как правило, со знака равенства, в соответствии с которым вычисляется значение ячейки. Ячейка с формулой обладает одной особенностью: значение ячейки (которое видно на экране) является результатом вычисления формулы, а содержимым ячейки является сама формула. Если установлен обычный режим просмотра книги, то нельзя отличить по внешнему виду ячейку с формулой от ячейки с простым значением. Для переключения режимов со значений ячейки к содержанию и обратно можно использовать клавиши Ctrl+` (левая кавычка, находится слева от клавиши с цифрой 1). 3.1. Синтаксис формулы Синтаксисом формул называется порядок, в котором вычисляются значения. Синтаксисом формулы задается последовательность вычислений. Формула должна начинаться со знака равенства (=) (формально допускается начинать формулу еще с некоторых знаков, но дальше будет использоваться только запись со знака равенства), за которым следует 40
набор вычисляемых величин. В следующем примере представлена формула, вычисляющая разность между числами 5 и 1. Результат выполнения отобразится в ячейке, в которой была введена формула. =5-1 Формулы в Microsoft Excel подчиняются определенному синтаксису, в который входит знак равенства (=), вычисляемые элементы (операнды) и операторы. Операндами могут быть: константы (числа, текст, даты, время), ссылки (адреса ячеек) или диапазоны ссылок, заголовки, имена (ячейкам можно давать вместо адресов осмысленные имена) или функции. По умолчанию, Microsoft Excel вычисляет формулу слева направо, начиная вычисление со знака равенства (=). Используя синтаксис написания формулы, процессом вычисления можно управлять. Например, следующая формула возвращает число 11 (значение ячейки), так как умножение имеет больший приоритет над сложением и, поэтому, выполняется в первую очередь: сначала происходит умножение 2 на 3 (результат умножения равен 6), а затем полученное значение складывается с 5. =5+2*3 Если для изменения синтаксиса воспользоваться скобками, то сначала произойдет сложение 5 и 2, а затем умножение полученного результата на 3. Следующая формула вернет число 21. =(5+2)*3 3.1.1. Операторы в формулах Операторами обозначаются операции, которые следует выполнить над операндами формулы. В Microsoft Excel включено четыре вида операторов: арифметические, текстовые, а также операторы сравнения и адресные операторы. Арифметические операторы (табл. 1) используются для выполнения основных математических вычислений над числами (например, сложение, вычитание или умножение, другие действия над числами и получение численных результатов). Результатом выполнения арифметической операции всегда является число. Таблица 1 АРИФМЕТИЧЕСКИЕ ОПЕРАТОРЫ Арифметический оператор + (знак плюс) – (знак минус) * (звездочка) / (дробь, прямой слеш) % (знак процента) ^ (степень)
Значение Сложение Вычитание Унарный минус Умножение Деление Процент Возведение в степень
41
Пример 3+3 3–1 –1 3*3 3/3 20% 3^2
Операторы сравнения используются для обозначения операций сравнения двух чисел (табл. 2). Результатом выполнения операции сравнения является логическое значение ИСТИНА или ЛОЖЬ. Таблица 2 ОПЕРАТОРЫ СРАВНЕНИЯ Оператор сравнения = (знак равенства) > (знак больше) < (знак меньше) >= (знак больше и знак равенства) <= (знак меньше и знак равенства) <> (знак больше и знак меньше)
Значение Равно Больше Меньше Больше или равно Меньше или равно Не равно
Пример A1=B1 A1>B1 A1=B1 A1<=B1 A1<>B1
Текстовый оператор “&” используется для обозначения операции объединения последовательностей символов в единую последовательность (табл. 3). Таблица 3 ТЕКСТОВЫЙ ОПЕРАТОР Текстовый оператор & (амперсант)
Значение
Пример
Объединение последовательностей символов в одну последовательность
Результатом выполнения выражения “Северный ” & “ветер” будет: “Северный ветер”
Адресные операторы объединяют диапазоны ячеек для осуществления вычислений (табл. 4). Таблица 4 АДРЕСНЫЕ ОПЕРАТОРЫ Адресный оператор : (двоеточие) , (запятая)
(пробел)
Значение Оператор диапазона, который ссылается на все ячейки между границами диапазона включительно Оператор объединения, который ссылается на объединение ячеек диапазонов Оператор пересечения, который ссылается на общие ячейки диапазонов
Пример B5:B15 СУММ(B5:B15,D5:D15) СУММ(B5:B15 A7:D7) В этом примере, ячейка B7 является общей для двух диапазонов.
3.1.2. Приоритет операторов Чтобы правильно использовать операторы, нужно знать порядок их вычисления или другими словами приоритет. В следующей таблице (табл. 5) операторы расположены в порядке убывания приоритета. Чем выше расположен оператор, тем больше его приоритет и, следовательно, 42
он раньше будет вычисляться. Изменить приоритет одного оператора над другим можно только круглыми скобками. Изменение приоритета арифметических операторов производится точно также как в алгебре. Таблица 5 ПРИОРИТЕТ ОПЕРАТОРОВ Оператор : (двоеточие) , (запятая) (пробел) – % ^ *и/ +и–
Описание Операторы ссылок Унарный минус (например, –1) Процент Возведение в степень Умножение и деление Сложение и вычитание Объединение последовательностей символов в одну последовательность Операторы сравнения
& = < > <= >= <>
Задание № 11. Вычислите в любых ячейках следующие вы-
ражения: 4+43; (13+5)/(2-3^2).
3.2. Ссылки на ячейку В формуле может быть указана ссылка на ячейку (имя ячейки). Если необходимо, чтобы в ячейке содержалось значение другой ячейки, введите знак равенства, после которого укажите ссылку на эту ячейку. Ячейка, содержащая формулу со ссылкой на другую ячейку или ячейки, называется зависимой ячейкой, ее значение зависит от значения другой ячейки. Ячейка, от которой зависит какая-то другая ячейка, называется влияющей ячейкой. Формула может вернуть другое значение, если изменить значение ячейки, на которую формула ссылается. Следующая формула умножает значение ячейки B7 на число 5. Формула будет пересчитываться при изменении значения ячейки B7. = B7*5
Задание № 12. Введите данную формулу в ячейку D10. Изменяя значение ячейки B7, проследите за изменением ячейки D10. Ячейка D10 является влияющей ячейкой, а B7 зависимой ячейкой. Помните, что имена столбцов должны набираться английскими буквами, если вы неверно ввели адрес ячейки, то появится сообщение «#ИМЯ?». Формулы могут ссылаться на ячейки или на диапазоны ячеек. Ссылкой однозначно определяется ячейка или группа ячеек листа, а также уп43
рощается поиск значений или данных, используемых в формуле. С помощью ссылок можно использовать в формуле данные, находящиеся в различных местах листа, а также использовать значение одной и той же ячейки в нескольких формулах. Кроме того, можно ссылаться на ячейки, находящиеся на других листах книги или в другой книге, или на данные другого приложения. Ссылки на ячейки других книг называются внешними ссылками. Ссылки на данные других приложений называются удаленными ссылками. В табл. 6 представлены варианты возможных ссылок. Таблица 6 ВАРИАНТЫ ССЫЛОК Чтобы сослаться на Ячейку столбца A и 10-й строки Диапазон ячеек столбца A с 10-й строки по 20-ю строку Диапазон ячеек в 15-й строке со столбца B по столбец E Все ячейки в 5-й строке Все ячейки между 5-й и 10-й строками включительно Все ячейки в столбце H Все ячейки между столбцами H и J включительно
Введите A10 A10:A20 B15:E15 5:5 5:10 H:H H:J
3.2.1. Относительные и абсолютные ссылки При создании формулы ссылки обычно изменяются относительно расположения ячейки, содержащей формулу. В следующем примере ячейка B6 содержит формулу =A5; искомое значение находится на одну ячейку выше и левее ячейки B6. Такая ссылка называется относительной (рис. 27).
Рис. 27. Пример относительной ссылки
При копировании формулы, содержащей относительные ссылки, и вставке ее в другое место, ссылки будут указывать на другие ячейки. Так, если формула из ячейки B6 копируется в ячейку B7. В ячейке B7 будет содержаться формула =A6, которая ссылается на одну ячейку выше и левее ячейки B7 (рис. 28).
44
Рис. 28. Пример изменения относительной ссылки при копировании.
При копировании относительной ссылки, она меняется на разность между ячейкой оригиналом и ячейкой, содержащей копию (как по столбцам, так и по строкам). Скопировали на один столбец вправо ссылку E5, ссылка также изменится на один столбец вправо – F5. Если необходимо, чтобы ссылки не изменялись при копировании формулы в другую ячейку, нужно использовать абсолютные ссылки. Например, если имеется формула, умножающая содержимое ячейки A5 на ячейку C1 (=A5*C1) (рис. 29), то при копировании формулы в другую ячейку изменятся обе ссылки (рис. 30).
Рис. 29. Фомула умножения.
Рис. 30. Копирование формулы.
Для создания абсолютной ссылки на ячейку C1, поставьте знак доллара ($) перед той частью, которая не должна изменяться (рис. 31). Чтобы создать абсолютную ссылку на ячейку C1, поместите знак доллара так: =A7*$C$1 45
Рис. 31. Пример абсолютной ссылки.
Абсолютную ссылку можно установить либо: 1) с помощью клавиатуры, набрав знак $ перед названием столбца и/или номером строки; 2) с помощью клавиши F4. Если в формуле подвести курсор к тому адресу, который нужно сделать абсолютно и нажимать клавишу F4, то последовательно (с каждым нажатием) будет меняться адресация ячейки. Сначала будет абсолютная адресация и по строке и по столбцу, затем абсолютная по строке и относительная по столбцу, после абсолютная по столбцу и относительная по строке, затем снова относительная и по строке и по столбцу. Если продолжать нажимать клавишу F4, то цикл адресаций повторится. Существует три типа абсолютных ссылок: 1) абсолютная ссылка – фиксирует полностью ячейку (не изменяется ни столбец, ни строка при копировании); 2) абсолютная ссылка по столбцу – фиксирует только столбец (при копировании изменяется только строка, столбец не изменяется, если копирование происходит в пределах одной строки (в разные столбцы), то адрес ячейки не изменится); 3) абсолютная ссылка по строке – фиксирует только строку (при копировании изменяется только столбец, строка не изменяется, если копирование происходит в пределах одного столбца (в разные строки), то адрес ячейки не изменится). Замечание. Если при копировании ссылка становится недопустимой (отрицательная строка или столбец меньше А), то значение ссылки превращается в «#ССЫЛКА!», а значение формулы в «########».
Задание № 13. Создайте следующую таблицу в новой книге (книгу после создания сохраните на своей дискете или в своем сетевом каталоге). Введите в столбцах D и F формулы, которые вычисляют цену товара в рублях (в столбце D) и сумму стоимости каждого товара в рублях (столбец F). Курс доллара находится в ячейке C2. Если возникают трудности в создании, обратитесь к приложению за помощью (рис. 32). 46
Рис. 32. Таблица к заданию № 13.
3.3. Использование функций для вычисления значений В Microsoft Excel содержится большое количество стандартных формул, называемых функциями. Функции используются для простых или сложных вычислений. Наиболее распространенной и простой является функция СУММ, суммирующая диапазоны ячеек. Несмотря на то, что пользователь может создать формулу, суммирующую значения нескольких ячеек (с помощью арифметического оператора суммы), функция СУММ обладает большими возможностями и может суммировать несколько диапазонов ячеек. Функции задаются с помощью формул, которые выполняют вычисления по заданным величинам, называемым аргументами, и в указанном порядке, называемом синтаксисом. Список аргументов может состоять из чисел, ссылок на ячейки, диапазонов, текста, логических величин (например, ИСТИНА или ЛОЖЬ). Кроме того, аргументы могут быть как константами, Знак равенства (начало формулы) так и формулами, которые называются вложенными. Имя функции Аргументы разделены запятыми Эти формулы, в свою очередь, могут содержать дру=СУММ(A10,B5:B10,16,30) гие функции. Написание функции наСписок аргументов заключен в скобки чинается с указания имени функции (рис. 33), затем ввоРис. 33. Синтаксис функции. дится открывающая скобка, указываются аргументы, 47
отделяющиеся запятыми, а затем – закрывающая скобка. Если написание формулы начинается с функции, перед именем функции вводится знак равенства (=). Пример вложенных функций (рис. 34). При составлении вложенных формул нужно всегда помнить, что число открытых скобок должно равняться числу закрытых скобок. Вложенные функции
=ЕСЛИ(СРЗНАЧ(E3:E7)>50,СУММ(D3:D7),0) Рис. 34. Вложенные функции.
В формулах можно использовать до семи уровней вложения функций. Когда «функция Б» является аргументом «функции А», то «функция Б» считается вторым уровнем вложения. Если в «функции Б» содержится в качестве аргумента «функция В», то «функция В» будет считаться третьим уровнем вложения функций и т. д. В процессе создания формулы, содержащей функцию, можно использовать «Панель формул». Она помогает создавать и изменять формулы, и предоставляет сведения о функциях и их аргументах. «Панель формул» появляется под строкой формул при нажатии кнопки «Измена панели формул или кнопки «Вставка функции» нить формулу» на панели инструментов «Стандартная». Строка формул – это панель в верхней части окна Microsoft Excel, которая используется для ввода или изменения формул и ячеек диаграмм (рис. 35). Отображает постоянное значение или формулу, используемую в активной ячейке. Для отображения или скрытия панели формул выберите команду «Строка формул» в меню «Вид».
Рис. 35. Строка формул.
3.3.1. Использование панели формул С помощью панели формул можно легко вставить функцию в формулу. После вставки функции в панели формул отображается имя функции, ее аргументы, описание функции и аргументов, а также возвращаемое функцией и формулой значение (рис. 36).
48
Рис. 36. Панель формул при вставке функций.
У некоторых полей для задания атрибутов формул имеются кнопки можно временно перехода на лист Excel (рис. 37). Нажав на кнопку скрыть панель формул, чтобы указать мышью ячейку или диапазон ячеек, содержащие необходимые значения.
Рис. 37. Поле с кнопкой задания диапазона ячеек.
Для возврата панели формул необходимо нажать кнопку скрытой панели формул.
на
3.3.2. Ввод формулы с функцией Для ввода формулы с функцией необходимо выполнить следующие шаги: 1. Указать ячейку, в которую необходимо ввести формулу. 2. Ввести «=» (знак равенства). Если нажать кнопку «Изменить или «Вставка функции» на панели инструментов формулу» «Стандартная», автоматически вставляется знак равенства. 3. Нажать на стрелку вниз, расположенную справа от поля со спи. ском «Функции» 4. Выбрать функцию, вставляемую в формулу. Если функция отсутствует в списке, для вывода дополнительного списка функций необходимо выбрать пункт «Дополнительные функции». 5. Ввести аргументы функции. 6. Нажать клавишу Enter. 49
Совет. Одну и ту же формулу можно ввести сразу в несколько ячеек. Для этого необходимо выделить ячейки, ввести формулу, а затем нажать клавиши Ctrl+Enter (на четвертом шаге).
3.3.3. Мастер функций При нажатии на кнопку «Вставка функции» на панели инструментов «Стандартная» появляется так называемый мастер функций (рис. 38).
Рис. 38. Диалоговое окно мастера функций.
Данное диалоговое окно содержит два списка: «Категория» и «Функция». В первом списке можно выбрать группу функций, а во втором одну из функций выбранной группы. Мастер функций удобен тогда, когда не помнишь или не знаешь точное наименование необходимой функции. В этом диалоговом окне под списками находится область подсказок. В ней отображается синтаксис функции (на рисунке для функции ABS, единственным аргументом которой является число), а также краткое описание выбранной функции. Кнопка «ОК» позволяет вставить выбранную функцию в формулу, кнопка «Отмена» закрыть мастер функций без вставки функции, кнопка «Помощь» материал.
вызывает справочный
Примечание. На рисунке для выбранной функции необходим числовой аргумент. Это не означает, что обязательно должно быть число. В качестве аргумента может быть функция, возвращающее число или ссылка на ячейку с числом.
После нажатия на кнопку «ОК» происходит переход к панели формул. Рассмотрим на примерах три функции: СУММ, ЕСЛИ, ПРОСМОТР. СУММ – суммирует все аргументы. 50
Синтаксис: СУММ(число1;число2;...), где число1, число2, ... – это от 1 до 30 аргументов, для которых требуется определить сумму. • Учитываются числа, логические значения и текстовые представления чисел, которые непосредственно введены в список аргументов. • Если аргумент является массивом или ссылкой, то только числа учитываются в массиве или ссылке. Пустые ячейки, логические значения, тексты и значения ошибок в массиве или ссылке игнорируются. • Аргументы, которые являются значениями ошибки или текстами, не преобразуемыми в числа, вызывают ошибки. Все функции в примерах написаны без соблюдения синтаксиса формулы, для проверки этих функций в Excel нужно поставить знак начала формулы (равно) перед функцией. Примеры. 1. СУММ(3; 2) равняется 5 2. СУММ("3"; 2; ИСТИНА) равняется 6, так как текстовые значения преобразуются в числа, а логическое значение ИСТИНА преобразуется в число 1. 3. В дополнение к предыдущему примеру: если ячейка A1 содержит "3", а ячейка B1 содержит ИСТИНА, то СУММ(A1; B1; 2) равняется 2, так как нечисловые значения в ссылке не преобразуются. 4. Если ячейки A2:E2 содержат числа 5, 15, 30, 40 и 50, то СУММ(A2:C2) равняется 50, СУММ(B2:E2; 15) равняется 150
Задание № 14. С помощью функции СУММ для таблицы в задании № 13 вычислите общую сумму всех товаров (в ячейке F10). ЕСЛИ – возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА, и другое значение, если ЛОЖЬ. Синтаксис: ЕСЛИ(лог_выражение;значение_если_истина;значение_если_ложь), где лог_выражение – это любое значение или выражение, которое при вычислении дает значение ИСТИНА или ЛОЖЬ, значение_если_истина – это значение, которое возвращается, если лог_выражение имеет значение ИСТИНА, значение_если_ложь – это значение, которое возвращается, если лог_выражение имеет значение ЛОЖЬ. Функция ЕСЛИ используется для условной проверки значений и формул. Примеры. 1. В следующем примере, если значение ячейки A10 – 100, то лог_выражение имеет значение ИСТИНА и вычисляется сумма для ячеек B5:B15. В противном случае лог_выражение имеет значение ЛОЖЬ и 51
возвращается пустой текст (""), очищающий значение ячейки (содержимое в виде формулы остается), которая содержит функцию ЕСЛИ. ЕСЛИ(A10=100;СУММ(B5:B15);"") 2. Предположим, что рабочий лист по расходам содержит в ячейках B2:B4 фактические расходы за январь, февраль, март: 1500, 500 и 500 соответственно. Ячейки C2:C4 содержат данные по предполагаемым расходам за те же периоды: 900, 900 и 925. Можно написать формулу, выводящую сообщения, для проверки соответствия бюджету расходов определенного месяца. =ЕСЛИ(B2>C2;"Превышение бюджета";"OK") Эту формулу нужно написать в ячейке сообщений для января месяца (ячейка D2), а в ячейки D3, D4 ее можно скопировать. Поскольку адресация ячеек является относительной, то ссылки в формуле изменятся. Допустим, формула копируется из ячейки D2 в ячейку D3, тогда она смещается на одну строку вниз (по столбцам не смещается), значит, все относительные адреса по строкам увеличатся на единицу. Т. е. в ячейке D3 будет формула сравнивающая B3 и C3. Это свойство позволяет записывать формулы только один раз, что очень удобно.
Задание № 15. С помощью функции ЕСЛИ для таблицы в задании №14 в ячейке G10 расположите сообщение, превышает ли итоговая сумма 50000 руб. Измените количество нескольких товаров в меньшую сторону, посмотрите, как меняется результат вычисления вашей функции ЕСЛИ. ПРОСМОТР – возвращает значение из строки, из столбца или из массива. Синтаксис: ПРОСМОТР(искомое_значение; просматриваемый_вектор; вектор_результатов), где искомое_значение – это значение, которое ПРОСМОТР ищет в первом векторе. Искомое_значение может быть числом, текстом, логическим значением, именем или ссылкой, ссылающимися на значение. Просматриваемый_вектор – это интервал, содержащий только одну строку или один столбец. Значения в аргументе просматриваемый_вектор могут быть текстовыми значениями, числами или логическими значениями. Замечание. Значения в аргументе просматриваемый_вектор должны быть расположены в порядке возрастания: ..., –2, –1, 0, 1, 2, ..., A-Z, ЛОЖЬ, ИСТИНА; в противном случае функция ПРОСМОТР может вернуть неверный результат. Тексты в нижнем и верхнем регистре считаются эквивалентными.
52
Вектор_результатов – это интервал, содержащий только одну строку или один столбец. Он должен быть того же размера, что и просматриваемый_вектор. Векторная форма функции ПРОСМОТР просматривает диапазон, в который входят значения только одной строки или одного столбца (так называемый вектор) в поисках определенного значения и возвращает значение из другого столбца или строки. • Если ПРОСМОТР не может найти искомое_значение, то результатом считается наибольшее значение в аргументе просматриваемый_вектор, которое меньше, чем искомое_значение. • Если искомое_значение меньше, чем наименьшее значение в аргументе просматриваемый_вектор, то функция ПРОСМОТР возвращает значение ошибки #Н/Д. Пример. Пусть имеется таблица (рис. 39),
Рис. 39. Таблица для примера.
тогда: ПРОСМОТР(4.91;A2:A7;B2:B7) равняется "оранжевый". ПРОСМОТР(5.00;A2:A7;B2:B7) равняется "оранжевый". ПРОСМОТР(7.66;A2:A7;B2:B7) равняется "фиолетовый". ПРОСМОТР(0.00066;A2:A7;B2:B7) равняется #Н/Д, поскольку 0.00066 меньше, чем наименьшее значение в аргументе просматриваемый_вектор A2:A7. 3.4. Группы функций В Excel существует несколько групп функций (в мастере функций группы сформированы несколько иначе, кроме того, некоторые группы появляются только в том случае, если Excel был установлен со специальными надстройками). Дадим краткую характеристику каждой группы. МАТЕМАТИЧЕСКИЕ. Функции в этой группе вам наиболее знакомы, поскольку многие из этих функций использовались еще в школе. В эту группу входят арифметические и тригонометрические функции, позволяющие производить простые и сложные математические вычисления, например, вычисление суммы диапазона ячеек; вычисление суммы 53
ячеек диапазона, удовлетворяющих указанному условию; округление чисел и прочее. СТАТИСТИЧЕСКИЕ. Статистические функции позволяют выполнять статистический анализ диапазонов данных. Например, с помощью статистической функции можно провести прямую по группе значений, вычислить угол наклона и точку пересечения с осью Y и прочее. Для применения этих функций необходимо понимать некоторые основы математической статистики. ФИНАНСОВЫЕ. С помощью финансовых функций осуществляются такие типичные финансовые расчеты, как вычисление суммы платежа по ссуде, объем периодической выплаты по вложению или ссуде, стоимость вложения или ссуды по завершении всех отложенных платежей. Аргументами финансовых функций часто являются следующие величины: • будущее значение – стоимость вложения или ссуды по завершении всех отложенных платежей; • количество выплат – общее количество платежей или периодов выплат; • выплата – объем периодической выплаты по вложению или ссуде; • текущее значение – начальная стоимость вложения или ссуды. Так, начальная стоимость ссуды равна, собственно, сумме займа; • ставка – процентная ставка или скидка по вложению или ссуде; • режим выплат – режим выплат, с которым осуществляются выплаты (в конце или в начале месяца). Для применения некоторых финансовых функций требуется знание финансовых терминов. ИНЖЕНЕРНЫЕ ФУНКЦИИ. Инженерные функции служат для выполнения инженерного анализа. Инженерные функции можно разделить на три группы: • функции для работы с комплексными переменными (требуются знания раздела математики); • функции для преобразования чисел из одной системы счисления в другую (десятичную, шестнадцатеричную, восьмеричную и двоичную); • функции для преобразования величин из одной системы мер и весов в другую. Примечание. Функции инженерного анализа входят в комплект анализа. При установке пакета Excel необходимо включить установку пакета анализа. После установки его необходимо включить с помощью команды «Надстройки…» в меню «Сервис».
ФУНКЦИИ РАБОТЫ С ДАТОЙ И ВРЕМЕНЕМ. Функции работы с датой и временем позволяют анализировать и работать со значениями даты и времени в формулах. Например, если требуется использовать в 54
формуле текущую дату, воспользуйтесь функцией СЕГОДНЯ, возвращающей текущую дату (по часам в компьютере). ИНФОРМАЦИОННЫЕ ФУНКЦИИ. Информационные функции предназначены для определения типа данных, хранимых в ячейке. Информационные функции проверяют выполнение какого-то условия и возвращают в зависимости от результата значение ИСТИНА или ЛОЖЬ. Так, если ячейка содержит четное значение, функция ЕЧЁТН возвращает значение ИСТИНА. Если в диапазоне функций имеется пустая ячейка, можно воспользоваться функцией СЧИТАТЬПУСТОТЫ, либо ЕПУСТО. ЛОГИЧЕСКИЕ ФУНКЦИИ. Логические функции предназначены для проверки выполнения условия или для проверки нескольких условий. Так, функция ЕСЛИ позволяет определить, выполняется ли указанное условие, и возвращает одно значение, если условие истинно, и другое, если оно ложно. ФУНКЦИИ ОБРАБОТКИ ТЕКСТА. С помощью функций обработки текста можно с помощью формул производить действия над строками текста – например, изменить регистр или определить длину строки. Можно также объединить несколько строк в одну. В примере ниже показано, как с помощью функций СЕГОДНЯ и ТЕКСТ создать сообщение, содержащее текущую дату и привести его к виду "дд-ммм-гг" "Отчет от "&ТЕКСТ(СЕГОДНЯ(),"дд-мм-гг") ФУНКЦИИ РАБОТЫ С БАЗАМИ ДАННЫХ. Если необходимо убедиться в том, что значения списка удовлетворяют условию, можно использовать функции работы с базами данных. С их помощью, например, можно определить количество записей в таблице о продажах или извлечь те записи, в которых значение поля «Сумма» больше 1000, но меньше 2500. Эти функции, как правило, имеют три аргумента: база данных, поле и условие. ФУНКЦИИ ССЫЛКИ И АВТОПОДСТАНОВКИ. Если необходимо осуществлять поиск в списках или таблицах или если необходимо найти ссылку к ячейке, воспользуйтесь функциями ссылки и автоподстановки. Например, для поиска значения в таблице используйте функцию ВПР, а для поиска положения значения в списке – функцию ПОИСКПОЗ. 3.5. Самоконтроль Основные выводы по главе 3: • главным понятием ячейки является ее адрес, он бывает относительным и абсолютным; • любая формула в ячейке начинается со знака равенства; • в формулах можно использовать различные функции; 55
• приоритет операций и функций можно задавать с помощью круглых скобок. В результате изучения главы 3 Вы должны освоить: • вычисление простейших арифметических выражений; • применение и задание в формулах относительной и абсолютной адресации; • ввод формул в ячейки, с использованием для этого мастера функций и строки формул. Вы должны знать: • назначение относительной и абсолютной адресации и способы их задания; • понятия влияющей и зависимой ячеек; • процесс создания формул в ячейках. 3.5.1. Контрольные вопросы 1. Что такое формула? 2. Что такое синтаксис формулы? 3. С чего должна начинаться формула? 4. Что такое операнд формулы? Какие операнды могут быть в формуле? 5. Что такое оператор? Какие операторы используются в формулах? 6. Что такое приоритет операторов? На что он влияет? 7. Какую ячейку называют влияющей ячейкой? 8. Какую ячейку называют зависимой ячейкой? 9. Что такое относительные и абсолютные ссылки? 10. Какие типы абсолютных ссылок бывают? 11. Для чего применяются относительные и абсолютные ссылки? 12. Как осуществить ввод формулы с функцией? 13. Что делает функция ЕСЛИ? Приведите пример применения функции. 14. Что делает функция СУММ? Приведите пример применения функции. 15. Что делает функция ПРОСМОТР? Приведите пример применения функции. 16. Какие группы функций вам известны? 3.5.2. Упражнения на самостоятельную работу Упражнение № 1. Введите формулы в таблицу, подготовленную в упражнении №1 пункта 2.9.2, суммирующие расходы и доходы, а также 56
вычисляющие разницу (баланс) между доходами и расходами. Создайте формулу, которая если баланс меньше нуля, будет выводить надпись «Превышение доходов!». Упражнение № 2. Создайте таблицу для решения квадратного уравнения. Если занести значения коэффициентов уравнения в три ячейки, в двух других ячейках появится результат решения. Упражнение № 3. Создайте таблицу зависимости площади круга от радиуса. В одной колонке (10–20 значений) расположите значения радиуса (от 0 до 10), а во второй значения площади (вычисляемые по формуле).
57
4. РАБОТА С ЛИСТАМИ И ОКНАМИ Как уже говорилось, каждая книга в Microsoft Excel представляет собой файл, используемый для обработки и хранения данных. Каждая книга может состоять из нескольких листов, поэтому в одном файле можно поместить разнообразные сведения и установить между ними необходимые связи. Листы – место для хранения и обработки данных, представляющее собой совокупность ячеек, служат для хранения и анализа данных. Можно вводить и изменять данные одновременно на нескольких листах (до сих пор вы выполняли вычисления на одном листе), а также выполнять вычисления на основе данных из нескольких листов. При создании диаграммы (графика) ее можно поместить на лист с соответствующими данными или на отдельный лист диаграммы (лист книги, содержащий только диаграмму; листы диаграммы связаны с данными таблиц и обновляются при изменении данных в таблице). Имена листов отображаются на ярлычках в левой нижней части окна книги. Для перехода с одного листа на другой следует нажать левой кнопкой мыши на соответствующем ярлычке. Название активного листа (лист, который в данный момент является текущим) выделено на ярлычке жирным шрифтом на белом фоне (рис. 40).
Рис. 40. Набор листов.
В левом нижнем углу окна рабочей книги находятся также так называемые кнопки прокрутки ярлычков (рис. 41), с помощью которых можно переходить от одного рабочего листа к другому. Рис. 41. Кнопки прокрутки ярлычков.
Крайние левая и правая кнопки осуществляют переход к первому и последнему листу соответственно. Средние кнопки осуществляют переход к предыдущему (на один лист назад) и к следующему (на один лист вперед) листу соответственно. При большом количестве листов бывает удобно пользоваться контекстно-зависимым меню. Для этого нужно нажать правой кнопкой мыши на одной из кнопок прокрутки ярлычков листов, появится список листов. Выбрать необходимый лист можно с помощью левой кнопки мыши. 58
4.1. Выбор листов в книге При выборе более чем одного листа изменения, сделанные на текущем листе, повторяются на всех остальных листах. Будьте внимательны при работе с несколькими листами! Таблица 7 ВЫБОР ЛИСТОВ В MICROSOFT EXCEL Чтобы выбрать Отдельный лист Два смежных листа или более Два несмежных листа или более Все листы книги
Сделайте следующее Укажите ярлычок листа (с помощью левой кнопки мыши) Укажите мышью ярлычок первого листа, затем, удерживая клавишу Shift, укажите мышью ярлычок последнего листа. Укажите мышью ярлычок первого листа, затем, удерживая клавишу Ctrl, укажите мышью ярлычки остальных листов. Установите указатель на произвольный ярлычок листа и нажмите правую кнопку мыши. Затем выберите команду «Выбрать все листы» в контекстном меню.
Задание № 16. Выделите «Лист 2» в Microsoft Excel, затем выделите два, а после три листа (используйте разные способы выделения). Переключитесь на лист «Лист 3», затем на лист «Лист 1». 4.2. Изменение количества отображаемых ярлычков листов Для изменения количества отображаемых ярлычков листов нужно выполнить два шага: 1. Установить указатель мыши на маркер разделения области ярлычков (он находится слева от горизонтальной линейки прокрутки) (рис. 42).
Рис. 42. Маркер разделения области ярлычков.
2. Когда указатель превратится в двухстороннюю стрелку , нажать левую кнопку мыши и, удерживая ее, переместить маркер разделения вправо или влево. После перемещения отпустить левую кнопку мыши. Чтобы восстановить число ярлычков, отображаемых по умолчанию, необходимо навести указатель мыши на маркер разделения и дважды нажать левую кнопку мыши.
Задание № 17. На разных листах (переключаясь с помощью кнопок описанных выше) создайте два столбца чисел. На одном листе первый столбец имеет значения аргумента функции от 0 до 1.0 с шагом 0.1 (используйте команду «Заполнить»), а второй столбец значения функции синуса. На другом листе значения аргумента функции находятся в диапазоне от 1.0 до 4.0 с шагом 0.3 (используйте команду заполнить), а второй столбец значения функции косинуса. 59
4.3. Контекстно-зависимое меню для ярлычков листов В него входят следующие команды (рис. 43) (вызывается нажатием правой кнопкой мыши на ярлычках листов): • ДОБАВИТЬ … • УДАЛИТЬ • ПЕРЕИМЕНОВАТЬ • ПЕРЕМЕСТИТЬ/СКОПИРОВАТЬ... • ВЫДЕЛИТЬ ВСЕ ЛИСТЫ • ИСХОДНЫЙ ТЕКСТ
Рис. 43. Контекстно-зависимое меню для ярлычков листов.
Рассмотрим некоторые из них более подробно. ДОБАВИТЬ … После выбора этой команды из контекстно-зависимого меню для ярлычков на экране появится диалоговое окно. В нем можно выбрать тип вставляемого листа (обычно это либо просто лист, либо диаграмма). Остальные типы листов на практике употребляются реже. Данную команду можно выполнить через меню Excel «Вставка» с помощью команды «Лист», только тип листа будет всегда одним – обычный лист. Чтобы вставить несколько листов, нужно выбрать необходимое количество листов с помощью мыши (выделяя ярлычки листов), удерживая нажатой клавишу Shift, затем выполните команду «Лист» из меню «Вставка». Добавить можно очень большое количество листов (несколько десятков тысяч), но помните, что каждый лист занимает память компьютера (как оперативную, так и внешнюю). УДАЛИТЬ Ненужный или пустой рабочий лист можно удалить. Для этого нужно выбрать данную команду из контекстно-зависимого меню для ярлычков. Можно удалить сразу несколько рабочих листов, предварительно выделив их. Выделение производится мышью при нажатой клавише Ctrl. После выбора команды Excel появится запрос на удаление. Помните, отменить операцию удаления листа невозможно! Для удаления необходимо подтвердить команду, нажав кнопку «ОК». Данную операцию 60
можно выполнить через меню «Правка» с помощью команды «Удалить лист». ПЕРЕИМЕНОВАТЬ При ежедневной работе переименование рабочих листов очень важно, так как позволяет легче ориентироваться в данных. Поэтому бывает необходимо назначить свои имена, отображающие содержимое рабочих листов. Для этого выберите данную команду из контекстно-зависимого меню для ярлычков. После этого на экране появится диалоговое окно, в которое можно ввести новое имя для рабочего листа. Данную операцию можно произвести и двойным нажатием левой кнопки мыши на ярлычке листа (рис. 44). Рис. 44. Режим редактирования имени листа.
После того как название листа выделится можно набрать его новое имя с клавиатуры. Переименовать лист можно также с помощью меню «Формат», подменю «Лист», команды «Переименовать».
Задание № 18. Создайте еще один обычный лист. Затем удалите его. После этого переименуйте листы с данными (из задания №2) по названию функций, значения которых рассчитаны на листе. Для выполнения всех операций используйте только мышь (операции необходимо выполнять только через контекстно-зависимое меню для ярлычков листов). ПЕРЕМЕСТИТЬ/СКОПИРОВАТЬ... Можно легко перемещать рабочие листы внутри рабочей книги, изменяя порядок их следования. Также можно копировать рабочие листы, причем перемещать и копировать листы можно и в другие рабочие книги (в другие файлы). Для этого нужно выбрать данную команду из контекстно-зависимого меню для ярлычков. После этого на экране появится диалоговое окно. В поле со списком «В книгу» можно указать книгу, в которую необходимо переместить или скопировать рабочий лист (предварительно нужно открыть книгу). По умолчанию в этом поле находится название текущей книги. В списке «Перед листом» можно указать позицию, куда переместить или скопировать лист. С помощью флажка «Создать копию» можно выбрать операцию – перемещение или копирование рабочего листа (для копирования флажок должен быть установлен). Перемещать или копировать рабочие листы можно и с помощью мыши. Для перемещения листа необходимо установить указатель мыши на ярлычке перемещаемого рабочего листа и нажать левую кнопку мыши. Затем, удерживая левую кнопку мыши, необходимо перетащить ярлычок в нужную позицию. Во время перетаскивания указатель мыши принимает 61
форму стрелки с листом бумаги. Если требуется скопировать рабочий лист, то во время перетаскивания необходимо нажать клавишу Ctrl. Осторожно! При перемещении и копировании листов следует быть осторожным, так как это может повлечь за собой появление неточностей в вычислениях или диаграммах, основанных на данных листа.
Задание № 19. Скопируйте одним из описанных выше способов любой лист. Обратите внимание на название. Скопируйте еще раз тот же лист. Переместите листы по порядку копии. Удалите последнюю копию листа. 4.4. Управление видимостью листов При необходимости лист можно скрыть с экрана. Для этого существует команда «Скрыть» меню «Формат/Лист». Обратная операция производится с помощью команды «Отобразить» того же меню. 4.5. Несколько окон для одного рабочего листа Очень часто при составлении расчетов требуется видеть разные части электронной таблицы. Можно, конечно, переходить с помощью мыши или клавиш в нужное место, а затем возвращаться, но это утомительно и неэффективно. Для этого существует более удобный метод – многооконный режим. Рассмотрим, как можно открывать несколько окон и одновременно отслеживать на экране разные области книги. Microsoft Excel предлагает две методики, позволяющие одновременно выводить на экран разные части текущей таблицы: 1. С помощью вешек разбивки – небольшие прямоугольники вверху вертикальной и справа от горизонтальной полос прокрутки (рис. 45).
Рис. 45. Вешка разбивки.
Они похожи на маркер разделения области ярлычков. Перетаскивая их мышью, можно разделить окно по вертикали и/или по горизонтали. Процедура разделения окна состоит из следующих шагов. • Необходимо установить указатель мыши на маркер горизонталь. ного разделения окна. При этом форма указателя мыши изменится • Нажать левую кнопку мыши и, удерживая ее, перемещать мышь так, чтобы перетащить штриховую линию разбиения вниз по окну. 62
Для разбиения окон можно воспользоваться командой «Разделить» из меню «Окно» (разделение произойдет сразу и по горизонтали и по вертикали). Линии разделения пройдут по левой и по верхней стороне выделенной ячейки, если это не ячейка А1, иначе по центру листа. Отменить разбиение можно из меню «Окно» командой «Снять разделение», либо двойным нажатием кнопки мыши на полосе разделения. 2. Вторая методика предлагает больше мобильности. С помощью команды «Новое» из меню «Окно» можно открыть дополнительные окна. В каждом из них возможно независимо друг от друга вывести отдельные части таблицы. Вновь открытые окна в Microsoft Excel автоматически нумеруются. Номер присваивается через двоеточие после имени файла. Максимальное количество дополнительных окон ограниченно только возможностями оперативной памяти компьютера. При сохранении файла информация о дополнительных окнах не уничтожается, и при следующих вызовах программы она всегда в распоряжении пользователя. Управление окном производится также как любым другим окном в Windows, , «Восстановить окно» , «Свернуть оккнопки «Закрыть окно» но» находятся первоначально на одном уровне с меню в правом углу. Верхние кнопки называются «Свернуть», «Восстановить», «Закрыть» относятся к Microsoft Excel, а вторые к окну (рис. 46).
Рис. 46. Кнопки окон.
Примечание. В Microsoft Excel 2000 каждая книга (каждое новое окно) отображается отдельно и присутствует на панели задач.
Учтите, что разбиение и создание нового окна не одно и то же. Текущая ячейка при разбиении во всех окнах синхронизирована, т. е. в одном и том же месте (хотя отображаются разные участки таблицы), только в одной области разбиения ячейки перемещаются вместе с курсором, а в других областях они зафиксированы. В окнах же, текущая ячейка может быть в разных местах таблицы. Кроме того, окна могут отличаться собственными настройками, например, масштабом, а области разбиения нет. 4.6. Смена, сокрытие, свертывание окон Если необходимо выбрать окно, закрытое другими окнами, то нужно в меню «Окно», из списка окон, которые в данный момент открыты, выбрать необходимое. В Microsoft Excel 2000 переключение между окнами можно осуществлять с помощью панели задач. Если необходимо убрать окно с экрана, то его можно “спрятать”. Это делается с помощью меню «Окно» командой «Скрыть». Окно (и книга), 63
таким образом, не удаляется, а делается невидимым. С помощью другой команды того же меню «Отобразить…» можно выбрать спрятанное окно для его показа на экране. Можно с помощью кнопки «Свернуть окно» или комбинацией клавиш Ctrl+F9, уменьшить окно до минимальных размеров. Двойным щелчком мыши можно снова развернуть окно, один щелчок открывает системное меню соответствующего окна. Развернуть окно можно кноп(данная кнопка появляется, если окно не кой «Развернуть» развернуто на весь экран, вместо кнопки «Восстановить окно»). 4.7. Изменение масштаба изображения Для каждого окна можно определить необходимый для удобной работы с ним размер изображения. Для этого в программе предусмотрена команда меню «Вид» – «Масштаб…», с помощью которой можно увеличить или уменьшить изображение в пределах от 10 % до 400 %. Изменить масштаб можно также с помощью выпадающего списка «Масштаб» на панели инструментов «Стандартная». Изменение масштаба окна на экране не влияет на вид окна при печати.
Задание № 20. Разбейте любой лист. Создайте новое окно. Отобразите различные участки таблицы в разных окнах. Измените масштаб в одном из окон. Скройте созданное окно, затем покажите. Переключитесь между окнами (перейдите в другое окно). Сверните и разверните окно. Измените масштаб окна. Закройте созданное окно. 4.8. Самоконтроль Основные выводы по главе 4: • лист представляет собой таблицу ячеек, в которых могут содержаться числа, текст, даты, время, формулы и графики; • для удобства работы можно создавать, перемещать, изменять названия листов, а также открывать несколько окон. В результате изучения данной главы Вы должны освоить: • работу с листами (создание, изменение имени, перемещение, удаление, копирование, выделение, сокрытие листов); • работу с окнами (уметь разбить окно, создать новое, закрыть окно, снять разделение, скрыть окно, свернуть, развернуть окно). Вы должны знать: • определения листа, листа диаграммы, активного листа; • уметь объяснить понятия: вешки, маркера разделения, маркера выделения; 64
• процедуру выделения листов. 4.8.1. Контрольные вопросы 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.
Что такое лист в Excel? Что такое книга в Excel? Чем отличается лист диаграммы от обычного листа? Что такое активный лист? Может ли быть два активных листа? Как вызывается контекстно-зависимое меню и что это такое? Как выбрать один лист? Как выбрать смежные листы? Как выбрать несмежные листы? Как выбрать все листы? Как изменить количество отображаемых ярлычков на листе? Что такое маркер разделения? Как добавить новый лист в таблицу? Как удалить лист из таблицы? Как переименовать лист в таблице? Как переместить/скопировать лист в таблице? Как образуется имя нового листа при создании и копировании? Как скрыть/показать лист? Зачем необходимы дополнительные листы? Что такое вешка разбивки? Как разбить окно на четыре участка? Зачем необходимо разбивать окно? Как создать дополнительное окно? Как удалить дополнительное окно? Как скрыть/показать дополнительное окно? Что делает кнопка "Свернуть окно"? Что делает кнопка "Восстановить окно"? Где располагаются кнопки "Свернуть окно" и "Восстановить окно"? Как свернуть окно? Как переключаться между окнами? Зачем переключаться между окнами? 4.8.2. Упражнения на самостоятельную работу
Упражнение 1. Изучите создание формул при работе с несколькими листами (к адресу ячейки добавляется название листа, например, Лист2!С7). Вычислите значения функции синуса и косинуса на одном листе, по аргументам, записанным на другом листе.
65
5. СОЗДАНИЕ МАКРОСОВ Если какие-то действия часто повторяются, то их выполнение можно автоматизировать с помощью макроса. Макрос – это серия команд и функций, хранящихся в модуле Visual Basic for Applications прикрепленном к данной книге (или шаблону). Модуль представляет собой набор объявлений типа переменных и процедур на языке Visual Basic for Applications. Макрос (процедуру) можно выполнять всякий раз, когда необходимо выполнить данную последовательность действий. Можно создать макрос, который будет выполнять «нудное» форматирование графиков или ячеек. Это особенно важно, так как достаточно трудно построить несколько десятков или сотен графиков, но еще труднее найти силы и оформить их в едином стиле. В этом случае макросы являются незаменимыми. Перед тем как записать или написать макрос, необходимо спланировать шаги и команды, которые он будет выполнять. Если при записи макроса была допущена ошибка, ее исправление будет также записано. То есть если Вы забыли совершить какие-либо команды и совершаете их позже, то Ваши действия до мельчайших деталей будут записаны в макросе. БУДЬТЕ ВНИМАТЕЛЬНЫ! ПРИ ЗАПИСИ МАКРОСА ЗАПИШУТСЯ И ВАШИ ОШИБКИ! Каждый раз при записи макроса, он сохраняется в модуле, присоединенном к книге. Редактор Visual Basic for Applications позволяет изменять макросы, а также копировать их либо из одного модуля в другой, либо между различными книгами. Кроме того, можно переименовывать модули, в которых хранятся макросы, или переименовывать сами макросы. Макрос фактически представляет собой подпрограмму для Microsoft Excel на объектно-ориентированном языке сверхвысокого уровня. В нем достаточно мало операторов и функций обычного языка программирования Visual Basic. Большая часть макроса представляет собой изменение свойств объектов и выполнение методов. Дело в том, что Microsoft Excel (а также Microsoft Word) построены таким образом, что каждый их элемент представляет собой объект (команда меню, кнопка на панели инструментов, ячейка, линейка прокрутки и т.д.) Поэтому можно, например, записать макрос, который будет для выделенного диапазона устанавливать особый формат ячеек. После этого, запуская этот макрос (подпрограмму), предварительно выделив ячейки, можно будет автоматически их форматировать, сокращая время на обращение к командам меню и кнопкам панели инструментов. 66
5.1. Запись макроса Для записи макроса нужно выполнить следующие шаги: 1. В меню «Сервис» выбрать подменю «Макрос», а затем выбрать команду «Начать запись…» (рис. 47).
Рис. 47. Диалоговое окно «Запись макроса».
2. Ввести имя для макроса в соответствующее поле. Первым символом имени макроса должна быть буква. Остальные символы могут быть буквами, цифрами или знаками подчеркивания. В имени макроса не допускаются пробелы; в качестве разделителей слов следует использовать знаки подчеркивания. 3. Чтобы в дальнейшем можно было выполнить макрос с клавиатуры с помощью сочетания клавиш (а не вызывая его через меню), введите соответствующую букву в поле «Сочетание клавиш». Для строчных букв используется сочетание Ctrl+буква, а для заглавных – Ctrl+Shift+ буква, где буква – любая клавиша на клавиатуре. Буква, используемая в сочетании клавиш, не может быть цифрой или специальным символом. Заданное сочетание клавиш будет заменять любое другое сочетание клавиш уже установленное по умолчанию в Microsoft Excel, пока книга, содержащая данный макрос, открыта. Поэтому желательно назначать неиспользуемые клавиши, например, «T». 4. В поле "Сохранить в" выберите книгу, в которой должен быть сохранен макрос. Чтобы макрос был доступен независимо от того, используется ли в данный момент Microsoft Excel, его следует сохранить в личной книге в папке XLStart. Чтобы создать краткое описание макроса, введите необходимый текст в поле "Описание". Это желательно сделать, так как через некоторое время можно забыть назначение этого макроса. 5. Нажать кнопку «OK». По умолчанию, при записи макроса используются абсолютные ссылки. Макрос, записанный с абсолютными ссылками, при выполнении всегда обрабатывает те же ячейки, которые обрабатывались при его записи (поэтому если выделить другие ячейки, то действия макроса на них не распространятся). Для того чтобы с помощью макроса обрабатывать произвольные ячейки, следует записать его с относительными ссылка67
ми. Относительная ссылка, подобно указанию прохожему – пройти два квартала прямо и затем один квартал направо, позволяет максимально кратко определить положение искомой ячейки относительно той ячейки, в которой эта ссылка находится (абсолютная ссылка для прохожего означала бы пройти по улице Южной два квартала и один квартал по улице Красная). Для указания относительности ссылок нужно нажать кнопку «Относительная ссылка» на панели инструментов «Остановка записи» (панель инструментов появляется только после начала записи макроса). Относительные ссылки будут использоваться до конца текущего сеанса работы в Microsoft Excel или до повторного нажатия кнопки «Относительная ссылка». 6. Выполнить команды, которые нужно записать. на панели инструмен7. Нажать кнопку «Остановить запись» тов «Остановка записи». ВНИМАНИЕ! Если не остановить запись макроса, то через некоторое время будет не хватать памяти для работы (Microsoft Excel будет запоминать все выполняемые действия). Обязательно останавливайте запись!
Задание № 21. Внимательно прочитайте задание целиком, а затем выполните его. Создание макроса форматирования ячеек. Данный макрос должен менять фон ячеек. Выделите ячейки, у которых хотите изменить фон. Выберите команду «Начать запись…» из подменю «Макрос» меню «Сервис». В поле «Имя макроса» введите имя «Первый». В поле «Ctrl+» введите одну букву «t». Нажмите на кнопку «ОК». Затем выберите команду «Ячейки…» из меню «Формат». На вкладке «Вид» выберите понравившийся цвет (например, бледно-зеленый). Нажмите на кнопку «ОК». Выберите команду «Остановить запись» из подменю «Макрос» меню «Сервис», либо нажмите на кнопку «Остановить запись» на панели инструментов «Остановка записи». Теперь можно выделить любые ячейки (или встать на любую ячейку) и нажать Ctrl+t. Макрос автоматически выполнится и фон ячеек (ячейки) окрасится. 5.2. Выполнение макроса После того как макрос записан, его можно выполнить в Microsoft Excel или из редактора Visual Basic for Application. Обычно макросы выполняются в Microsoft Excel, однако в ходе изменения их можно выполнить из редактора Visual Basic. Для прерывания выполнения макроса следует нажать клавишу Esc. Для выполнения макроса в Microsoft Excel необходимо: 68
1. Открыть книгу, которая содержит макрос (если она закрыта). 2. В подменю «Макрос» из меню «Сервис» и выбрать команду «Макросы». 3. В поле «Имя макроса» ввести имя того макроса, который нужно выполнить или выбрать его из списка, который приведен ниже. 4. Нажать на кнопку «Выполнить». Примечание. Если известна комбинация клавиш для нужного макроса, то достаточно нажать эту комбинацию на клавиатуре.
5.3. Назначение области графического объекта для запуска макроса Иногда макрос удобно назначить какому-либо графическому объекту, расположенному на листе. Для этого необходимо нарисовать объект, а затем выполнить следующие шаги: 1. Выбрать этот объект, щелкнув левой кнопкой мыши на границе объекта, либо правой кнопкой мыши на маркере выделения (небольшой квадратик, появляющийся по углам прямоугольной области, окружающей выделенный объект; перемещение маркера выделения приводит к изменению размера объекта) графического объекта. 2. Выбрать в контекстно-зависимом меню команду «Назначить макрос…». 3. Чтобы назначить ранее записанному макросу выбранный графический объект, нужно ввести название макроса в поле «Имя макроса», а затем нажать кнопку «OK». После такого назначения, если нажать на графическом объекте левую кнопку мыши, то выполнится назначенный макрос.
Задание №22. Для созданного макроса в задании №6 нарисуйте круг на листе и назначьте ему созданный макрос. Круг можно предварительно раскрасить. 5.4. Назначение кнопки панели инструментов для запуска макроса Макрос можно запустить с помощью кнопки на встроенной (т. е. существующей в Microsoft Excel) или специальной панели инструментов. Для создания кнопки на панели инструментов необходимо проделать следующие шаги: 1. Выбрать команду «Настройка…» в меню «Сервис» (рис. 48). 2. Если панель инструментов, на которую нужно поместить кнопку, не отображена на экране, необходимо выбрать вкладку «Панели инструментов» и установить флажок рядом с именем этой панели. 69
3. Если на панели инструментов отсутствует кнопка (ее нужно создать), которая должна запускать макрос, то необходимо выбрать параметр «Макросы» в списке «Категории» на вкладке «Команды». Из списка «Команды» необходимо перетащить с помощью мыши (нажав левую кнопку мыши и удерживая ее) нужную кнопку (на рисунке она называется «Настраиваемая кнопка») на желаемую панель инструментов. Вкладка
Список
Список
Параметр
Рис. 48. Диалоговое окно «Настройка».
4. Щелкнуть эту кнопку на панели инструментов правой кнопкой мыши и выбрать команду «Назначить макрос…» в контекстнозависимом меню. 5. Ввести имя макроса в соответствующее поле. Примечание. Если необходимо изменить значок на кнопке с назначенным макросом, то необходимо вызвать команду «Настройка…» из меню «Сервис». Затем вызвать контекстно-зависимое меню на изменяемой кнопке правой кнопкой мыши. Из контекстно-зависимого меню можно выбрать пункт «Выбрать значок для кнопки». При этом появится подменю со встроенными изображениями кнопок (рис. 49).
Рис. 49. Встроенные изображения кнопок.
Из этого списка можно выбрать любой значок. Либо в контекстно-зависимом меню можно выбрать «Изменить значок на кнопке…». При этом появится окно редактора, в котором можно нарисовать или изменить значок на кнопке панели инструментов (рис. 50). 70
Рис. 50. Редактор кнопок.
Задание № 23. Для созданного макроса создайте кнопку на панели инструментов «Автотекст». 5.5. Удаление макроса Макрос можно удалить из книги Microsoft Excel. Для удаления макроса нужно выполнить следующие шаги: 1. Открыть книгу, которая содержит макрос (если она закрыта). 2. В меню «Сервис» установите указатель мыши на пункт «Макрос» и выбрать команду «Макросы». 3. В поле «Имя макроса» ввести имя того макроса, который нужно удалить или выбрать его из списка, который приведен ниже. 4. Нажать кнопку «Удалить». Назначенный для кнопки на панели инструментов макрос удаляется аналогично, а удалить саму кнопку можно следующим образом: 1. Выбрать команду «Настройка…» в меню «Сервис». 2. Если панель инструментов, на которой находится кнопка, не отображена на экране, выбрать вкладку «Панели инструментов» и установить флажок рядом с именем этой панели. 3. Выбрать параметр «Макросы» в списке «Категории» на вкладке «Команды». 4. На панели инструментов (не закрывая диалогового окна «Настройка») вызвать контекстно-зависимое меню (нажатием правой кнопки мыши) на удаляемой кнопке и выбрать команду «Удалить».
Задание №24. Удалите собственный макрос. 71
5.6. Самоконтроль Основные выводы по главе 5: • для однообразной работы можно создавать макросы, которые ускоряют работу; • кнопки на панели инструментов являются настраиваемыми, что позволяет добавить кнопку на панель инструментов с нужным макросом. В результате изучения данной главы Вы должны освоить работу с макросами (уметь записать макрос, выполнить макрос, назначить макрос графическому объекту, назначить макрос кнопки на панели инструментов). Вы должны знать: • определение макроса; • процедуру создания макроса; • процедуру назначения макроса кнопке на панели инструментов; • процедуру удаления макроса. 5.6.1. Контрольные вопросы 1. Что такое макрос? 2. Зачем необходимы макросы? 3. Как записать макрос? 4. Что необходимо учитывать при записи макроса? 5. Нужно ли останавливать запись макроса? 6. Как запустить макрос? 7. Можно ли прервать выполнение макроса? 8. Как назначить макрос графическому объекту? 9. Как назначить макрос кнопке на панели инструментов? 10. Как изменить значок на кнопке с назначенным макросом? 11. Что такое маркер выделения? 12. Как удалить макрос? 13. Как удалить кнопку с панели инструментов назначенную для удаленного макроса? 14. Что такое абсолютная ссылка? Приведите пример. 15. Что такое относительная ссылка? Приведите пример. 16. Какие образуются ссылки при записи макроса? Как управлять типом ссылок? 17. Как задается имя макроса? 18. Может ли быть два макроса с одинаковым именем? 19. Что такое панель инструментов? 20. Как назначить сочетание клавиш для макроса? 21. Какую новую панель инструментов Вы узнали? Как она называется? 72
5.6.2. Упражнения на самостоятельную работу Упражнение 1. Создайте макрос, который будет форматировать выделенные ячейки определенным стилем, форматом и цветом. Упражнение 2. Создайте макрос, который снимает форматирование, устанавливаемое макросом из упражнения 1.
73
6. ПОСТРОЕНИЕ ДИАГРАММ Одним из эффективных средств анализа данных является диаграмма или график. График намного информативнее столбцов цифр. Microsoft Excel обладает достаточно развитыми средствами построения графиков и диаграмм. При отображении данных на диаграммах Microsoft Excel выводит значения ячеек в качестве столбцов, линий, сегментов или других элементов диаграмм. При создании диаграммы значения из листа автоматически представляются в диаграммах. Например, в гистограммах мастер диаграмм для каждого значения из листа создает столбец определенной высоты. Диаграммы связаны с данными листа, из которого они были созданы. При изменении данных на листе изменяются также и диаграммы, что очень удобно. Так можно однажды построив график по каким-то ячейкам, в дальнейшем заменять данные в этих ячейках не строя заново график (он автоматически будет изменяться). Построим график по данным, подготовленным в задании №17. Выделите ячейки в двух столбцах, которые содержат значения аргумента и функции синуса. Затем, либо через меню «Вставка» выберите команду «Диаграмма…», либо нажмите на панели инструментов «Стандартная» кнопку «Мастер диаграмм» жит проделать четыре шага.
. Вызванный мастер диаграмм предло-
6.1. Шаг 1. Выбор типа диаграммы Выберите в появившемся окне тип диаграммы (рис. 51). Диаграммы бывают двух классов: стандартные и нестандартные. Смена одного класса другим производится выбором соответствующей вкладки. Чтобы посмотреть предварительный вид стандартной диаграммы выберите необходимый тип и нажмите кнопку «Просмотр результата», удерживая ее можно посмотреть вид диаграммы. Стандартные диаграммы бывают следующих типов: • Гистограмма. Гистограмма (рис. 52) показывает изменение данных за определенный период времени и иллюстрирует соотношение отдельных значений данных. Категории располагаются по горизонтали, а значения по вертикали. Таким образом, уделяется большее внимание изменениям во времени. Гистограмма с накоплением демонстрирует вклад отдельных элементов в общую сумму. В трехмерной гистограмме сравнение данных производится по двум осям. Показанная на рисунке трехмерная диаграмма позволяет сравнить объемы про74
даж в Европе за каждый квартал с объемами продаж в двух других регионах.
Рис. 51. Выбор типа диаграммы.
Рис. 52. Гистограммы.
Виды гистограмм: 1) обычная гистограмма – отображает значения различных категорий
; 2) объемный вид обычной гистограммы ; 3) гистограмма с накоплением – отражает вклад каждой категории
в общую сумму
;
4) объемный вид гистограммы с накоплением ; 5) гистограмма, нормированная на 100 % – отражает долю каждой категории в общей сумме
; 75
6) объемный вид нормированной гистограммы ; 7) трехмерная гистограмма – показывает раскладку значений по . категориям и рядам данных • Линейчатая. Линейчатая диаграмма отражает соотношение отдельных компонентов (рис. 53). Категории расположены по горизонтали, а значения по вертикали, таким образом, уделяется большее внимание сопоставлению значений и меньшее – изменениям во времени.
Рис. 53. Линейчатые диаграммы.
Линейчатая диаграмма с накоплением показывает вклад отдельных элементов в общую сумму. Виды линейчатых диаграмм: 1) обычная линейчатая диаграмма – отображает значения различных категорий
;
; 2) объемный вид линейчатой диаграммы 3) линейчатая диаграмма с накоплением – отражает вклад каждой категории в общую сумму
;
; 4) объемный вид линейчатой диаграммы с накоплением 5) линейчатая диаграмма, нормированная на 100 % – отражает до; лю каждой категории в общую сумму . 6) объемный вид линейчатой диаграммы, нормированной на 100 % • График. График служит для отображения тенденций зависимости данных от изменяемого параметра. Этот вид графиков является самым привычным для математиков, так как позволяет отображать данные в плоскости XOY. Виды графиков: 1) обычный график – отображает развитие процесса во времени или ; по категориям 2) обычный график с маркерами, помечающими отдельные точки данных
; 76
3) график с накоплением – хорошо отображает изменение общей суммы по времени или по категориям
;
; 4) график с накоплением и маркерами (метками) 5) нормированный график – отображает изменение вклада каждого значения во времени или по категориям 6) нормированный график с маркерами
; ;
. 7) объемный вариант графика • Круговая. Круговая диаграмма показывает как абсолютную величину каждого элемента ряда данных, так и его вклад в общую сумму (рис. 54). На круговой диаграмме может быть представлен только один ряд данных. Такую диаграмму рекомендуется использовать, когда необходимо подчеркнуть какой-либо значительный элемент. Для облегчения работы с маленькими долями диаграммы в основной диаграмме их можно объединить в один элемент, а затем разбить их в отдельную диаграмму рядом с основной диаграммой. Виды круговой диаграммы: 1) обычная круговая диаграмма – отражает вклад каждого элемента в ; общую сумму 2) объемный вид обычной круговой
Рис. 54. Круговая диаграмма.
; диаграммы 3) вторичная круговая диаграмма – круговая диаграмма с частью значений, вынесенных во вторую диа-
грамму ; 4) вторичная гистограмма – круговая диаграмма с частью значе; ний, вынесенных в гистограмму 5) разрезанная круговая диаграмма – отображает вклад каждого значения в общую сумму, выделяя отдельные значения
;
. 6) объемный вид разрезанной круговой диаграммы • Точечная. Точечная диаграмма отображает взаимосвязь между числовыми значениями в нескольких рядах и представляет две группы чисел в виде одного ряда точек в координатах XY (рис. 55). Эта диаграмма отображает нечетные интервалы (или кластеры) данных и часто используется для представления 77
данных научного характера. При подготовке данных следует расположить в одной строке или столбце все значения переменной х, а соответствующие значения у – в смежных строках или столбцах. Данный тип диаграммы похож на график, но последний отличается подписями под осью OX.
Рис. 55. Точечная диаграмма.
Виды точечной диаграммы: 1) обычный вид точечной диаграммы ; 2) сглаженный вид точечной диаграммы – значения на диаграмме соединены сглаживающими линиями
;
; 3) сглаженный вид точечной диаграммы с маркерами 4) точечная диаграмма в отрезках – значения на диаграмме ;
соединены отрезками
5) точечная диаграмма в отрезках с маркерами . • С областями. Диаграмма с областями (рис. 56) подчеркивает величину изменения в течение определенного периода времени, показывая сумму введенных значений. Она также отображает вклад отдельных значений в общую сумму. В данном примере диаграмма с областями показывает увеличение продаж в Бразилии, а также иллюстрирует вклад каждой страны в общий объем продаж.
Рис. 56. Диаграмма с областями.
Виды диаграмм с областями: 1) обычная диаграмма с областями – хорошо отображает изменение ряда с течением времени
; 78
2) объемный вид обычной диаграммы с областями ; 3) диаграмма с областями с накоплением – отображает как изменение общей суммы, так и изменение вклада отдельных значений
;
; 4) объемный вид диаграммы с областями с накоплением 5) нормированная диаграмма с областями – отображает изменение вклада значений с изменением времени
;
. 6) объемный вид нормированной диаграммы с областями • Кольцевая. Как и круговая диаграмма, кольцевая диаграмма (рис. 57) показывает вклад каждого элемента в общую сумму, но в отличие от круговой диаграммы она может содержать несколько рядов данных. Каждое кольцо в кольцевой диаграмме представляет отдельный ряд данных. Виды кольцевых диаграмм: 1) обычный вид кольцевой диаграммы (см. рисунок) ; 2) разрезанный
вид
кольцевой
. диаграммы • Лепестковая. В лепестковой диаграмме (рис. 58) каждая категория имеет собственную ось координат, исходящую из начала координат. Линиями соединяются все значения из определенной серии. Лепестковая диаграмма позволяет сравнить общие значения из нескольких наборов данных. На этой диаграмме ряд данных, охватывающий наибольшую часть площади (сорт А), представляет сорт с самым высоким содержанием витаминов. С помощью лепестковой диаграммы можно строить также "розу ветров" – направление и сила ветра в течение месяца (недели, квартала, года). Виды лепестковой диаграммы: 1) обычная лепестковая диаграмма – является аналогом графика в полярной системе координат, отображая распределение значений относительно Рис. 57. Кольцевая диаграмма.
Рис. 58. Лепестковая диаграмма.
начала координат ; 2) лепестковая диаграмма с маркерами – маркерами помечены значения данных
; 79
3) заполненная лепестковая диаграмма – отличие в том, что области, относящиеся к каждому ряду, закрашены различными цветами . • Поверхность. Поверхностная диаграмма (рис. 59) используется для поиска наилучшего сочетания двух наборов данных. Как на топографической карте, области с одним значением выделяются одинаковым узором и цветом.
Рис. 59. Поверхностная диаграмма.
Эта диаграмма показывает зависимость предела прочности на разрыв от времени и температуры. Виды поверхностной диаграммы: 1) обычная поверхностная диаграмма (см. рисунок) ; 2) прозрачная поверхностная диаграмма – отображается только ; проволочная сетка 3) контурная диаграмма – представляет собой вид сверху на по; верхностную диаграмму, цвета представляют интервалы значений 4) проволочная контурная диаграмма – не имеет цветовой закраски интервалов значений . • Пузырьковая. Пузырьковая диаграмма является разновидностью точечной диаграммы (рис. 60 б). Размер маркера данных указывает значение третьей переменной. При подготовке данных следует расположить в одной строке или столбце все значения переменной х, а соответствующие значения переменной у – в смежных строках или столбцах (рис. 60 а).
Рис. 60 а. Пузырьковая диаграмма.
80
Виды пузырьковой диаграммы: 1) обычный вид (см. рисунок) ; 2) объемный вид пузырьковой диаграммы . • Биржевая. Биржевая диаграмма часто Рис. 60 б. Пузырьковая диаграмма. используется для демонстрации цен на акции или валюту (рис. 61). Этот тип диаграммы также может быть использован для научных данных, например, для определения изменения температуры. Для построения этой и других биржевых диаграмм необходимо правильно организовать данные.
Рис. 61. Биржевая диаграмма.
Биржевая диаграмма для наборов из трех и пяти значений может иметь две оси: одна для столбцов, представляющих интервал колебаний, другая для цен на акции (рис. 62). На следующем рисунке на биржевой диаграмме по одной оси Y откладываются значения объема сделок (слева), а по другой оси Y – цены на акции (справа). Виды биржевых диаграмм: 1) обычная биржевая диаграмма – Рис. 62. Биржевая диаграмма отображет наборы данных из трех значений с двумя осями. (самый высокий курс, самый низкий курс, курс закрытия – см. верхний рисунок)
;
2) биржевая диаграмма с гистограммой (см. нижний рисунок) ; 3) биржевая диаграмма для четырех значений – отображает наборы данных из четырех значений (курс открытия, курс закрытия, самый высокий курс, самый низкий курс) 81
;
4) биржевая диаграмма для пяти значений – отображает наборы данных из четырех значений (так же как и предыдущая), а еще один набор . данных (скажем объем продаж) отображает в виде гистограммы • Коническая, цилиндрическая и пирамидальная. Маркеры данных в виде конуса, цилиндра и пирамиды могут придавать впечатляющий вид объемным гистограммам и объемным линейчатым диаграммам (рис. 63). Вид диаграмм: 1) обычная гистограмма
Рис. 63. Цилиндрическая линейчатая диаграмма.
;
2) гистограмма с накоплением
;
3) нормированная гистограмма
;
; 4) обычная линейчатая 5) линейчатая диаграмма с накоплением ;
6) нормированная линейчатая диаграмма
;
7) объемная гистограмма . Нестандартные диаграммы (в дополнение или расширение стандартных типов) бывают следующих типов: • блоки с областями – простая и яркая объемная гистограмма с областями, удобная для сравнения рядов данных; • вырезанные сектора – объемная диаграмма с вырезанными секторами для представления во весь экран; • гистограмма / области – гистограмма и диаграмма с областями на одной оси; • гладкие графики – сглаженные графики; • голубая диаграмма – простая круговая диаграмма с вырезанными секторами на контрастном градиентном фоне; • график / гистограмма – график и гистограмма, построенные на одной оси; • график / гистограмма 2 – график и гистограмма, построенные на разных осях, первая ось для гистограмм, вторая для графиков; • графики (2 оси) – график, построенный на двух осях; • деревянная – линейчатая диаграмма специального вида; • конусы – плоскость, заполненная конусами; • логарифмическая – график, построенный на логарифмической оси (позволяет отображать данные для аргумента, меняющего порядок в значениях, т. е. 1, 10, 100, 1000 …); 82
• парящие бруски – требуется два ряда значений, первый задает начало брусков, второй – длину; • трубчатая – линейная диаграмма со столбиками в виде цилиндров; • цветные графики – яркие цветные графики на черном фоне; • цветные столбцы – яркая и четкая диаграмма, показывающая изменение ее составляющих во времени; • четыре черно-белых диаграммы (с оттенками серого цвета) – гистограмма, график, круговая и с областями; • широкая гистограмма – объемная гистограмма вдоль оси в виде параллелепипедов. Для построения графика синуса необходимо выбрать точечную диаграмму сглаженного вида (с маркерами или без маркеров). Для перехода к следующему шагу нажмите кнопку «Далее >» в диалоговом окне «Мастер диаграмм» (рис. 64). Для отмены вставки диаграммы нужно нажать на кнопку «Отмена». Для построения диаграммы "как есть" необходимо нажать на кнопку «Готово». 6.2. Шаг 2. Источник данных диаграммы На данном шаге необходимо указать диапазон данных для построения диаграммы (мы это сделали заранее).
Рис. 64. Второй шаг мастера диаграмм.
Если диапазон необходимо изменить, то нужно нажать на кнопку При этом диалоговое окно свернется (рис. 65).
Рис. 65.Свернутое диалоговое окно мастера диаграмм.
83
.
В этом состоянии диалогового окна можно будет выделить мышью необходимые ячейки на любом из листов. На вкладке «Диапазон данных» необходимо указать расположение данных – в столбцах или в строках. В нашем примере данные располагаются в столбце, поэтому указываем с помощью переключателя – в столбцах. На вкладке «Ряд» можно добавить или удалить ряд данных для диаграммы (рис. 66). Рис. 66. Вкладка «Ряд» диалогового Иногда, Excel неверно принимает окна мастера диаграмм. подписи по оси за данные, в этом случае необходимо удалить ненужный ряд данных (выбрать ряд из списка «Ряд» и нажать на кнопку «Удалить»). Microsoft Excel позволяет добавлять ряды данных (кнопка «Добавить») для диаграммы с любого листа книги из любого диапазона, что очень удобно. В поле «Имя» можно задать ячейку таблицы, содержащей название диаграммы. При необходимости вернуться на предыдущий шаг нажмите кнопку «Назад <» (чтобы снова выбрать тип диаграммы). Переходим к третьему шагу кнопкой «Далее >» (рис. 67). 6.3. Шаг 3. Параметры диаграммы
Рис. 67. Параметры диаграммы.
84
В качестве параметров диаграммы можно указать названия осей (если они имеются), название графика – на вкладке «Заголовки». На вкладке «Оси» можно установить вывод на графике осей (можно показать или скрыть ось абсцисс или ординат). На вкладке «Линии сетки» можно выбрать тип выводимой сетки графика (можно также задать вывод промежуточных линий сетки). На вкладке «Легенда» можно указать расположение легенды (условные обозначения) значений. На вкладке «Подписи данных» можно вывести на график значения возле точек графика, подписи значений. При необходимости вернуться на предыдущий шаг нажмите кнопку «Назад <» (чтобы снова выбрать исходные данные). Переходим к четвертому шагу кнопкой «Далее >» (рис. 68). 6.4. Шаг 4. Размещение диаграммы Указывается положение диаграммы в книге Excel. Либо на отдельном листе, либо на листе с данными. При размещении графика на отдельном листе можно задать имя листа, как показано на рисунке.
Рис. 68. Размещение диаграммы.
Замечание. Для построения графиков необходимы начальные данные. Чем больше начальных данных (значений функций), тем более точный получается график.
Задание № 25. Создайте графики синуса и косинуса по данным, приготовленным в начальных заданиях (задание № 17). Один график разместите на отдельном листе, а другой на том же листе, где располагаются его исходные данные. 6.5. Самоконтроль Основные вывод по главе 6: для визуального представления данных существует мощный мастер построения диаграмм и графиков. В результате изучения главы 6 Вы должны освоить работу с графиками (уметь построить график, задать его название, подписи по осям и по данным, задать сетку на графике). 85
Вы должны знать методику построения графиков и диаграмм. 6.5.1. Контрольные вопросы 1. Какие классы диаграмм Вы знаете? 2. Какие типы стандартных диаграмм Вам известны? 3. Какие данные удобно отображать в виде гистограмм? Какие виды гистограмм Вам известны? 4. Какие данные удобно отображать в виде кольцевых диаграмм? Какие их виды Вам известны? 5. Какие данные удобно отображать в виде диаграмм-графиков? Какие их виды Вам известны? 6. Для чего нужны круговые диаграммы? Какие их виды Вам известны? 7. Какие данные удобно отображать в виде диаграммы лепесткового типа? Какие их виды Вам известны? 8. Какие данные удобно отображать в виде диаграммы линейчатого типа? Какие их виды Вам известны? 9. Какие данные удобно отображать в виде диаграммы типа поверхность? Какие их виды Вам известны? 10. Какие данные удобно отображать в виде диаграммы с областями? Какие их виды Вам известны? 11. Какие данные удобно отображать в виде точечной диаграммы? Какие их виды Вам известны? 12. Перечислите несколько нестандартных типов диаграмм (не менее пяти). 13. Опишите шаги мастера по созданию диаграмм. 6.5.2. Упражнения на самостоятельную работу Упражнение 1. Постройте графики следующих функций (можно несколько функций на одном графике): 1. Sin(x)*Cos(x); 2. Sin2(x); 3. Cos2(x); 4. Sin(x)*Exp(x), где Exp – функция вычисления экспоненциальной функции ex; 5. Cos(x)*Exp(x); 6. Sin(x)*x; 7. Sin(x)*x2; 8. Cos(x)*x; 9. Cos(x)*x2; 10. Arccos(x) (функция Acos(x)); 86
11. Arcsin(x) (функция Asin(x)); 12. Tan(x); 13. Log(x) – логарифмическая функция; 14. Ln(x) – функция натурального логарифма (основание e); 15. Log10(x) – функция десятичного логарифма (основание 10); 16.
x (функция КОРЕНЬ(x)).
87
7. ВВЕДЕНИЕ В VISUAL BASIC FOR APPLICATION Visual Basic for Application (VBA) относится к числу языков программирования, реализующих наиболее распространенные сегодня принципы программирования. Эти принципы позволяют создавать полезные программы (в качестве расширения возможностей создаваемых документов), имеющие удобные средства общения с пользователем (пользовательский интерфейс – промежуточное звено между человеком и ЭВМ, набор механизмов и элементов, с помощью которых происходит взаимодействие человека и компьютера). При этом создание программ становится доступным «непрограммирующим профессионалам», т. е. специалистам в областях знаний, для которых расчеты на ЭВМ не самоцель, а лишь средство для решения текущих задач. Главнейшими из этих принципов являются: 1. Концепция визуального программирования: Вы будете конструировать пользовательский интерфейс, как бы играя «в кубики». Кубиками будут являться объекты интерфейса. Вы сможете легко добавить или убрать кубик, тем самым, меняя свою постройку – интерфейс. Это избавляет программиста от рутинной работы. Языки визуального программирования получили широкое распространение, так как на программирование интерфейса раньше уходило от 60 до 90% всего времени разработки программы. А остальная часть на программирование расчетов. И, конечно, не оставалось никакого времени на моделирование расчетов. А Вас, прежде всего, должны интересовать результаты. 2. Концепция объектно-ориентированного программирования. Сущность ее заключается в том, что вся программа создается из объектов (это элемент программы, который минимально зависит от данных), через которые пользователь или другой объект выполняет определенные команды программы для достижения результата. Объекты характеризуются свойствами (характеристики объекта), методами (определяют действия, которые можно производить над объектом) и событиями (возникают при работе с объектом или других определенных действиях пользователя, иногда как результат действия операционной системы, это реакция объекта). Объекты объединяются в классы (совокупность объектов различающихся только значениями свойств). 3. Концепция офисного программирования. Ее сущность в том, что Вы создаете не автономную программу (которую, конечно, сложнее сделать), а программную надстройку над документом. Это позволяет ис88
пользовать труд других программистов (создавших Excel или Word) и использовать многообразие услуг, которые они уже создали. Помните, что конечная цель любого программирования – это не создание программ, а оказание программных услуг, т. е. решение проблем человека с помощью программ. 7.1. Изучение свойств интерфейсного объекта UserForm Необходимо отметить, что в Microsoft Excel интерфейсные объекты носят название элементов управления. Справка. Элемент управления – это объект, помещаемый пользователем в форму, который имеет собственный набор свойств, методов и событий. Элементы управления используются для приема данных, вводимых пользователем, отображения данных и запуска процедур (подпрограмм – функционально завершенных частей команд языка, имеющих одно имя) обработки события. Большинство элементов управления могут обрабатываться с помощью методов. Некоторые элементы управления являются интерактивными (откликающимися на действия пользователя), тогда как другие являются статическими (доступными только в программе). Чтобы создать свой собственный интерфейс необходимо перейти в «Редактор Visual Basic». Для этого через меню «Вид» подменю «Панели инструментов» покажите панель «Visual Basic» (можно с помощью контекстно-зависимого меню). На этой панели необходимо нажать кноп. ку «Редактор Visual Basic» Вы окажетесь в редакторе. У него собственное главное меню и собственные панели инструментов (можете посмотреть). В данном редакторе мы будем проектировать интерфейс, писать программы, тестировать их, исправлять ошибки. Для выхода из редактора либо закройте окно, либо нажмите клавиши Alt+Q, либо выберите команду «Закрыть и вернуться в Microsoft Excel» из меню «Файл». Вы наверно уже заметили, что все действия, которые предлагаются пользователю, выполняются в окнах. Поэтому первым нашим объектом будет объект класса UserForm, который и является пользовательским окном. Для создания этого объекта необходимо выбрать команду «UserForm» из меню «Вставка». Появится окно с названием «UserForm1». Это Ваш первый объект. На данном объекте могут располагаться любые другие объекты пользовательского интерфейса. Примечание. Создать объект класса UserForm можно, нажав на кнопку
«Вставить»
на панели инструментов «Стандарт» (нажимаете на черной стрелке вниз, после появляется список, из которого выбираете UserForm).
89
Для просмотра и изменения свойств любого объекта необходимо расположить на экране соответствующее окно (рис. 69). Если его нет, то выберите из меню «Вид» команду «Окно свойств» или нажмите клавишу F4 или кнопку «Окно свойств»
на панели инструментов «Стандарт». Заголовок окна Кнопка закрытия окна
Имя объекта и класс объектов
Расположение свойств
Выбранное свойство
Нажав, можно выбрать нужный цвет
Названия свойств Значения свойств
Рис. 69. Окно свойств объекта.
Линейка протяжки может быть использована для выбора необходимого свойства (обычно у объекта их не менее десяти и поэтому часть их не видна). В данном окне есть заголовок, где располагается название окна и название объекта, свойства которого отображаются (на рисунке это UserForm1, см. выше). Далее идет выпадающее меню, где можно выбрать все доступные объекты, которые Вы создали. На рисунке (см. выше) там написано «UserForm1 UserForm». Это означает, что объект UserForm1 относится к классу UserForm. Далее расположены две вкладки, которые все свойства могут показать в двух порядках: • по алфавиту (на рисунке выше); • по категориям. Затем в окне отображается область из двух колонок. В левой колонке отображаются имена свойств, а в правой их значение. На примере выделено свойство BorderColor, его значение – черный цвет (&H80000012&) (о цветах будет рассказано дальше). Нажав на кнопку справа от этого значения, можно вызвать палитру цветов и выбрать необходимый цвет. Обратите внимание на свойство Name – имя объекта, оно особенное, поэтому заключено в круглые скобки. Именно по этому имени (точнее по значению свойства, в нашем случае – UserForm1) другие объекты будут распознавать данный объект. Существует также другое название данного 90
свойства – идентификатор. Вы можете изменить свойство Name. По умолчанию Visual Basic формирует имена следующим образом: к названию класса, к которому относится объект, добавляется первый свободный номер (начиная с единицы). Учтите, имя должно обязательно начинаться с буквы и состоять из букв английского алфавита, цифр и некоторых знаков, пробелы в именах не допустимы. Прежде всего, обычно изменяют заголовок окна (рис. 70). Заголовок окна хранит свойство Caption. Выберите это свойство в окне свойств и в колонке со значениями удалите старое название и наберите новое, например, «Моя программа». Обратите внимание на вид окна (созданного объекта), как меняется его название при редактировании. Такое динамическое изменение вида Рис. 70. Изменение свойства Caption. объекта от изменения его свойств характерно только для языков визуального программирования. В окне свойств найдите свойства Width – ширина объекта и Height – высота объекта. Постарайтесь запомнить значения. Затем с помощью мыши измените размер нашего окна (указатель мыши необходимо наводить на квадратные области расположенные по углам или серединам сторон окна, при этом указатель мыши изменяется на черные стрелки, как при обычном изменении размеров окна). Снова посмотрите значения свойств Width и Height, обратите внимание на их изменение. Теперь давайте изменим цвет фона нашего окна. Выделите свойство BackColor – цвет фона и нажмите мышью на кнопку вниз в колонке значений свойств, появится следующий список системных цветов (рис. 71). В этом меню можно выбрать какой-либо системный цвет (которым обладают другие элементы Windows), либо, выбрав вкладку «Палитра», выбрать любой цвет. Вы можете попытаться изменить цвет края окна – свойство BorderColor, но он не изменится. Причина этому другое свойство – BorderStyle. Оно установлено в значение 0 – нет границы. Если Рис. 71. Системные Вы измените его на 1 (двойным нажатием кнопки цвета. мыши на значении свойства), то появится граница окна, что тут же отразится на виде нашего объекта. Рассмотрим еще одно интересное свойство окна. Это свойство StartUpPosition – положение окна на экране при появлении. Свойство может принимать одно из четырех значений (рис. 72). 91
0 – Manual – положение задается вручную, с помощью свойств Left – отступ от левого края и Top – отступ от верхнего края окна, в котором появляется наше окно (или другой объект). Рис. 72. Свойство StartUpPosition. 1 – CenterOwner – окно будет располагаться по центру окна, в котором оно появляется. 2 – CenterScreen – окно будет появляться по центру экрана компьютера. 3 – WindowsDefault – окно будет появляться на усмотрение операционной системы Windows. Установить необходимое значение можно, нажав на кнопку раскрытия списка , в колонке значений свойств у свойства StartUpPosition. Замечание. Объект UserForm1 в режиме редактирования покрыт сеткой точек (сетку можно убрать). К этим точкам будут привязываться все объекты, которые будут располагаться на UserForm1. Также как Вы чертили геометрические фигуры в тетрадках в клеточку, располагая вершины фигур в узлах клеток, точно так и здесь Вы будете располагать объекты, привязывая их вершины к точкам сетки.
Задание № 26. Проделайте в Microsoft Excel все описанные выше действия по созданию объекта UserForm и изменению его свойств. 7.2. Окно проекта Любая программа, которую можно создать на Visual Basic for Application представляет собой проект. Проект – это совокупность листов, программных модулей и других объектов (не интерфейсных, например, рабочая книга – Workbook). Проект напоминает досье, где есть факты, биография и др. материалы. Окно проекта отображает иерархический список проектов и всех входящих в них элементов (рис. 73). Для вызова данного окна выберите из меню «Вид» команду «Окно проекта» или нажмите клавиши Ctrl+R или на панели кнопку «Окно проекта» инструментов «Стандарт». Элементами данного окна являются: . Отображает окно Программа модуля, в котором возможно написание Рис. 73. Окно проекта. и изменение программы, связанной с выделенным элементом (или интерфейсными объектами). 92
Объект . Отображает окно объектов для выделенного элемента, существующий документ или объекты класса UserForm. . Скрывает или отображает папки объектов, всегда покаПапки зывая при этом содержащиеся в них отдельные элементы. Список содержимого окна отображает список всех загруженных проектов и элементов, входящих в каждый проект. Элементы в окне отображаются следующим образом: . Проект и содержащиеся в нем элементы. Проект UserForms . Все файлы с расширением .frm, связанные с проектом, которые являются окнами. Листы Книги
. Листы открытой книги (объекты – WorkSheets). . Открытые книги в Excel (файлы, объекты – Workbooks).
. Все файлы проекта с расширением .bas. В этих файлах Модули хранится код программы, не связанный с методами объектов или событиями. Представляет также объект, но с одним свойством – Name. Выбирая в этом окне объекты можно редактировать объект или изменять его свойства. В проект могут входить еще некоторые объекты. 7.3. Интерфейсные объекты Интерфейсные объекты могут располагаться либо на листе, либо на объекте UserForm. Для создания их необходимо вызвать «Панель элементов». Это можно осуществить либо через команду «Панель элеменна панели инструментов. тов» в меню «Вид», либо нажатием кнопки На панели инструментов расположено 15 интерфейсных классов объектов (элементов управления) и кнопка для выделения объектов (верхняя левая) (рис. 74).
Рис. 74. Панель элементов управления.
Наведя курсор мыши на объект, и подождав немного, можно увидеть название объекта. Рассмотрим каждый из объектов. 93
Примечание 1. Любой элемент управления рисуется на UserForm следующим образом. Можно (предварительно нажав на кнопку с требуемым объектом на панели элементов) просто нажать один раз мышью на UserForm (на UserForm курсор мыши изменит свой вид на перекрестие и пиктограмму с изображением создаваемого интерфейсного объекта). Либо нажав кнопку мыши и удерживая ее нажатой передвинуть курсор мыши в другое место, затем отпустить кнопку мыши (как Вы рисовали графические объекты). Примечание 2. Нарисованный объект можно перемещать по UserForm, для этого нажмите мышью на объект (выделение объекта). Затем на крае объекта, но не на квадратиках изменения размера, когда курсор мыши примет вид , нажмите кнопку мыши и, удерживая ее, перемещайте объект в необходимое место. Примечание 3. Графический вид объекта ведет себя также как и любой графический объект (круг, прямоугольник). Замечание. Двойное нажатие мыши на любом интерфейсном объекте приводит к появлению области ввода и редактирования программы. Для возврата к редактированию свойств объекта и к UserForm необходимо произвести двойное нажатие мыши в окне проекта на нужном объекте класса UserForm.
7.3.1. Надпись на панели элементов для создания объекта Нажмите кнопку класса «Надпись» (Label) и нарисуйте его на UserForm. Данный объект предназначен для создания каких-либо надписей, заголовков, которые поясняют элементы интерфейса и позволяют пользователю разобраться, что есть что. Как правило (но не обязательно) текст надписей в ходе работы программы не изменяется. Текст надписи не может быть связан с ячейкой (т. е. отображать текст ячейки листа). Если Вы вспомните окно записи файла (или открытия), то в данном окне существует несколько надписей (рис. 75).
Надпись Рис. 75. Часть окна записи файла.
Изменить текст надписи можно с помощью свойства Caption (как заголовок у UserForm). Измените значение этого свойства на слово «размер». По умолчанию, слово будет выравниваться в объекте по левому краю. Свойство TextAlign позволяет выровнять надпись по центру или по правому/левому краю (значения свойства – 2, 3, 1 соответственно). Для изменения цвета надписи используйте свойство ForeColor – меняет 94
цвет букв. Шрифт изменяет свойство Font. Особое внимание обратите на свойство SpecialEffect, которое изменяет внешний вид надписи. Замечание 1. Свойство SpecialEffect работает, только если свойство BorderStyle (управляет стилем края объекта) установлено в 0 – fmBorderStyleNone (нет стиля края объекта, т. е. край объекта может быть любым). Замечание 2. Свойство BackColor работает только если свойство BackStyle (управляет стилем фона) установлено в 1 – fmBackStyleOpaque (собственный фон объекта), если же оно установлено в 0 – fmBackStyleTransparent, то фон у объекта будет прозрачный, т. е. фоном будут являться объекты расположенные ниже.
Задание № 27. Создайте две надписи, которые изображены на рис. 76 на Вашем объекте UserForm1.
Рис. 76. Две надписи.
7.3.2. Поле Для создания объекта класса «Поле» (TextBox) необходимо нажать на панели элементов и нарисовать его на UserForm. Данный кнопку объект обычно используется как средство вывода информации и ввода данных. Текст объекта может быть связан с данными какой-либо ячейки в таблице. Объект класса «Поле» похож на объект класса «Надпись», но имеет ряд отличий (имеет почти все свойства, описанные выше): • позволяет пользователю вводить данные; • может иметь линейку протяжки (т. е. выводить большие объемы данных, а не отдельные слова или цифры); • текст располагается в свойстве Text, а не Caption; • может отображать содержимое ячеек. Редактировать содержимое объекта (особенности визуального программирования) можно однократно нажав мышью на содержимом объекта после выделения объекта (если объект не выделен, то для редактирования нужно нажать два раза кнопкой мыши на объекте, только между нажатиями должна быть пауза). Для того чтобы объект класса «Поле» был связан с ячейкой листа, нужно изменить свойство ControlSource на имя ячейки. Тогда если в ячейке была какая-нибудь информация, то она будет отображаться в дан95
ном объекте, и наоборот, если пользователь изменит данные объекта, то они отобразятся в ячейке. Учтите, что формулы будут представляться значениями, полученными при их вычислении. У многих интерфейсных объектов есть свойство ControlTipText (у надписи тоже есть). Данное свойство позволяет выводить краткий пояснительный текст к объекту (всплывающие подсказки). Также как Вы записывали содержимое объекта в свойствах Caption или Text, так и здесь можно записать текст, который затем будет выводиться при нахождении курсора мыши на данном объекте (рис. 77). Свойство Locked позволяет запретить пользователю редактировать (во время исполнения программы) содержимое объекта класса «Поле». Пояснительный Это необходимо, когда объект текст служит только для вывода Рис. 77. Всплывающая подсказка. информации. Изменить значение данного свойства на противоположное можно двойным нажатием кнопки мыши на его значении. Это свойство может принимать два значения: False или True. Запомните эти значения, они довольно часто встречаются. Первое означает, что свойство не будет работать (возможные варианты трактовки False: нет, ложь, не верно), а второе означает, что свойство будет работать (возможные варианты трактовки True: да, верно, истинно). В нашем случае Locked означает защищенность от изменений, поэтому, если значение свойства будет False (нет), то текст объекта можно будет изменять, а если True (да), то изменить текст будет нельзя. При создании объекта это свойство установлено в значение False, что означает возможность редактирования. Свойство MultiLine означает, что текст объекта класса «Поле» может представлять собой несколько строчек. Оно также имеет два значения: False или True (первое значение запрещает использовать несколько строк, второе значение разрешает). При создании объекта свойство имеет значение False, т. е. объект представляет данные в виде одной строки. Свойство ScrollBars позволяет добавить к объекту линейки протяжки. По умолчанию (т. е. изначально) объект не имеет линеек протяжек (значение свойства равно 0 – fmScrollBarsNone). Если изменить значение свойства на 1, то появится горизонтальная линейка прокрутки, на 2 – вертикальная, на 3 – и горизонтальная и вертикальная. Учтите, что линейки протяжки появятся только тогда, когда текст в объекте не помещается, и иногда
96
при создании объекта их не бывает видно (появляются только во время исполнения программы).
Задание № 28. Создайте два объекта класса «Поле», которые показаны на рис. 77.
Рис. 77. Объекты класса «Поле».
7.3.3. Кнопка Для создания объекта класса «Кнопка» (CommandButton) необходина панели элементов и нарисовать его на мо нажать кнопку UserForm. Данный объект служит для запуска пользователем каких-либо функций или выполнения каких-либо действий. Свойства объекта класса «Кнопка» похожи на свойства объектов предыдущих классов. Для изменения надписи на объекте используют свойство Caption. Можно только обратить внимание на два свойства. Свойство Locked позволяет защитить кнопку от нажатия (пользователь во время исполнения программы не сможет нажать на кнопку, если значение свойства будет True). По умолчанию значение этого свойства – False. Это свойство удобно тем, что, например, позволяет защитить кнопку расчета от нажатия, если не все начальные данные введены пользователем. И второе свойство – Accelerator – позволяет назначить "горячую" клавишу для кнопки. Если изменить значение этого свойства на какуюлибо букву на клавиатуре, то нажатие на данную кнопку, при исполнении программы, можно будет осуществлять клавишами Alt+ выбранная буква. 7.3.4. Выключатель Для создания объекта класса «Выключатель» (ToggleButton) необхона панели элементов и нарисовать его на Userдимо нажать кнопку Form. Выключатель похож на объект класса «Кнопка». Отличием является то, что объект класса «Кнопка», после отпускания кнопки мыши (или перемещением курсора мыши на другой объект), всегда возвращается в исходное – отжатое состояние. Объект класса «Выключатель» – нет. У данного класса объектов есть два отличительных свойства – TripleState, Value. Первое свойство TripleState позволяет у объекта иметь либо два 97
состояния, либо три (по умолчанию их два). Свойство принимает значения True (если три состояния) или False (если два). Свойство Value принимает значение False или True (и если свойство TripleState имеет значение True (три состояния), то еще и Null). Что это все значит? Кнопка может быть нажатой или отжатой (значения True и False у свойства Value). А может быть и третье состояние – не нажата и не отжата (в этом состоянии надпись на кнопке как бы затенена). Это состояние можно ввести, если установить свойство TripleState в True, а свойство Value изменить на Null. Замечание. При изменении свойства Value необходимо набирать слова True и False вместо старого значения свойства. При неправильном наборе этих слов или просто их удалении, объект переходит в состояние Null, даже если свойство TripleState установлено в False. 7.3.5. Флажок Для создания объекта класса «Флажок» (CheckBox) необходимо нажать на панели элементов и нарисовать его на UserForm. Данный кнопку класс объектов по свойствам, доступным во время разработки программы, практически ничем не отличается от класса объектов «Выключатель». Данный класс отличается только по внешнему виду, событиям и методам. 7.3.6. Переключатель Для создания объекта класса «Переключатель» (OptionButton) необна панели элементов и нарисовать его на ходимо нажать кнопку UserForm. Данный класс объектов по свойствам, доступным во время разработки программы, практически ничем не отличается от класса объектов «Выключатель». Данный класс отличается только по внешнему виду, событиям и методам. Замечание. В качестве отличий классов объектов «Флажок» и «Переключатель» можно назвать свойства Alignment и GroupName. Первое свойство управляет положением надписи в объекте (надпись слева – значение равно нулю и надпись справа – значение равно единице), а второе позволяет задать имя группы (только английскими буквами) для нескольких объектов, чтобы работать сразу со всеми объектами в группе. 7.3.7. Список Для создания объекта класса «Список» (ListBox) необходимо нажать кнопку на панели элементов и нарисовать его на UserForm. Назначение данного класса объектов понятно из названия. Разберем отличительные свойства данного класса объектов. 98
Свойство ColumnCount позволяет задать число колонок (если в список необходимо включить несколько колонок). Свойство ColumnWidth позволяет управлять шириной колонок (ширина измеряется в нескольких единицах, но основная – пункты; ширина одного символа приблизительно от 4 до 5 пунктов). RowSource задает область листа, которая будет отображаться в данном объекте (например, если вы хотите отобразить часть двух колонок листа, необходимо изменить значение свойства ColumnCount на 2, а свойство RowSource на отображаемый диапазон, скажем b2:c5). Свойство ColumnHeads управляет заголовками колонок. Если значение этого свойства установить в True, то строка над диапазоном, указанным в свойстве RowSource, будет использоваться в качестве заголовков колонок. Если же свойство ColumnHeads имеет значение False, то заголовков у колонок не будет. Если строки над диапазоном, заданном в свойстве RowSource, нет (например, диапазон a1:b12), то над колонками будет надпись "Столбец" и название столбцов (А, B, С и т. д.), которые выводятся в RowSource. Пример. Пусть на листе у нас имеются некоторые данные (рис. 78) Тогда, если установить значение свойства ColumnCount равное двум, а RowSource изменить на c3:d5 и значение свойства ColumnHeads установить в True (свойство ColumnWidth равно 60), то получится такой список (рис. 79). Свойство MultiSelect управляет выбором пунктов списка. Изначально установлено в 0 – fmMultiSelectSingle (выбрать из списка можно Рис. 78. Данные на листе в только один Excel. пункт). Если изменить значение на 1, то можно будет выбрать несколько пунктов, удерживая клавишу Shift. Если же установить значение свойства равное Рис. 79. Список по данным на листе. двум, то можно будет мышью выделять группами (с помощью клавиши Shift) и по одному пункту (с помощью клавиши Ctrl) из списка. 7.3.8. Поле со списком Для создания объекта класса «Поле со списком» (ComboBox) необна панели элементов и нарисовать его на ходимо нажать кнопку UserForm. Данный класс объектов совмещает в себе два других класса – «Поле» и «Список». 99
У данного класса есть некоторые особенные свойства: ListRows – указывает максимальное число одновременно отображаемых элементов списка, при его раскрытии. А также DropButtonStyle – вид кнопки раскрытия списка (рис. 80).
Рис. 80. Виды кнопки раскрытия списка.
7.3.9. Полоса прокрутки Для создания объекта класса «Полоса прокрутки» (ScrollBar) необна панели элементов и нарисовать его на ходимо нажать кнопку UserForm. Объект позволяет вводить значения в заданном промежутке. Рассмотрим основные свойства объектов этого класса. Свойства Max, Min позволяют задавать максимальное и минимальное значение диапазона значений, которые может принимать свойство Value. Значение свойства Value изменяется, когда пользователь нажимает на кнопки полосы прокрутки или перемещает бегунок. Два свойства SmallChange и LargeChange регулируют минимальный и максимальный шаг изменения значения свойства Value (минимальный шаг используется при нажатии на кнопках линейки протяжки, а максимальный при нажатии на полосе протяжки). Примечание. При рисовании объекта, он сам примет вид. Если его размер по горизонтали будет больше чем размер по вертикали, то линейка протяжки будет горизонтальной, если же наоборот, то вертикальной.
7.3.10. Счетчик Для создания объекта класса «Счетчик» (SpinButton) необходимо нажать кнопку на панели элементов и нарисовать его на UserForm. Счетчик отличается от полосы протяжки только отсутствием бегунка и некоторых свойств (например, LargeChange). 7.3.11. Рамка Для создания объекта класса «Рамка» (Frame) необходимо нажать на панели элементов и нарисовать его на UserForm. Данный кнопку объект позволяет группировать объекты по назначению. Этот объект похож на объекты класса UserForm, только не является самостоятельным. Внутри этого объекта можно располагать любые дру100
гие интерфейсные объекты. Расположение внутренних объектов (свойства Left, Top) будет определяться относительно левого и верхнего края объекта класса «Рамка». Причем, при перемещении объекта класса «Рамка» расположенные внутри данного объекта тоже будут передвигаться с рамкой, и сохранять внутреннее расположение. У объекта можно изменить заголовок (как и UserForm), для этого служит свойство Caption. Свойство ScrollBars регулирует положение линеек протяжки внутри объекта. Можно установить вид объекта «Рамка» без линеек протяжки, только с вертикальной линейкой, только с горизонтальной линейкой и одновременно с горизонтальной и вертикальной. А свойства ScrollLeft, ScrollTop управляют положением объектов внутри объекта «Рамка» (смещением слева и сверху). Свойства ScrollWidth, ScrollHeight определяют число пунктов протяжки (так, например, задание значения ScrollHeight равным 200, позволяет с помощью вертикальной линейки протяжки перемещать объекты внутри объекта класса «Рамка» по вертикали на 200 пунктов). 7.3.12. Рисунок Для создания объекта класса «Рисунок» (Picture) необходимо нажать на панели элементов и нарисовать его на UserForm. Данный кнопку объект позволяет выводить на экран графики или картинки из файлов.
Задание № 29. Последовательно просмотрите и изучите все
интерфейсные объекты и их свойства. Попробуйте создать каждый из них и поменять все описанные выше свойства. Отметьте для себя общие свойства у объектов. Выделите свойства, которые являются уникальными для каждого из объектов. Воссоздайте следующее окно, показанное на рис. 81.
Рис. 81. Диалоговое окно.
101
7.4. Самоконтроль В результате изучения главы 7 Вы должны освоить: • Работу с элементами интерфейса (создание, изменение свойств, перемещение, удаление, копирование, выделение). • Работу с окнами «Свойства» и «Проект» (уметь показать окно, скрыть окно, выбрать элемент). • Работу с редактором Visual Basic (уметь войти в редактор, выйти из редактора, создать новое окно UserForm, вызвать из меню окно проекта, свойств). Вы должны знать: • определения: элементов управления, объекта, свойства, метода, класса, пользовательского интерфейса; • конечную цель программирования; • назначение каждого интерфейсного объекта; • назначение основных свойств (не менее семи) у каждого интерфейсного объекта; • процедуру создания элементов интерфейса; • процедуру изменения свойств объектов; • понятие проекта; • сущность концепций объектно-ориентированного программирования, визуального программирования, офисного программирования. 7.4.1. Контрольные вопросы 1. Что такое объект? 2. Что такое свойство? 3. Что такое событие? 4. Что такое метод? 5. Что такое класс? 6. Объясните концепцию офисного программирования. 7. Объясните концепцию визуального программирования. 8. Объясните концепцию объектно-ориентированного программирования. 9. В чем заключается конечная цель программирования? 10. Объясните назначение объекта класса UserForm. 11. Что такое элементы управления и как они рисуются? 12. В чем заключается назначение окна свойств? 13. В чем заключается назначение окна проекта? 14. Что такое проект? 15. Что находится в окне проекта? 16. Объясните назначение свойства Name. У каких объектов имеется данное свойство? 102
17. Объясните назначение свойства BackColor. У каких объектов имеется данное свойство? 18. Всегда ли действует свойство BackColor? 19. Объясните назначение свойства ForeColor. У каких объектов имеется данное свойство? 20. Объясните назначение свойства Font. У каких объектов имеется данное свойство? 21. Можно ли с помощью свойства Font сделать шрифт верхним индексом? 22. Объясните назначение свойства Caption. У каких объектов имеется данное свойство? 23. Объясните назначение свойства SpecialEffect. У каких объектов имеется данное свойство? 24. Всегда ли действует свойство SpecialEffect? 25. Объясните назначение свойства BorderStyle. У каких объектов имеется данное свойство? 26. На какие свойства влияет свойство BorderStyle? 27. Объясните назначение свойства Width. У каких объектов имеется данное свойство? 28. Объясните назначение свойства Height. У каких объектов имеется данное свойство? 29. Объясните назначение свойства Left. У каких объектов имеется данное свойство? 30. Всегда ли свойство Left означает отступ от левого края объекта класса UserForm? 31. Объясните назначение свойства Top. У каких объектов имеется данное свойство? 32. Всегда ли свойство Top означает отступ от левого края объекта класса UserForm? 33. Объясните назначение свойства BorderColor. У каких объектов имеется данное свойство? 34. Объясните назначение свойства StartUpPosition. У каких объектов имеется данное свойство? 35. Объясните назначение свойства TextAlign. У каких объектов имеется данное свойство? 36. Можно ли с помощью свойства TextAlign расположить буквы текста перевернутыми? 37. Объясните назначение свойства BackStyle. У каких объектов имеется данное свойство? 38. Объясните назначение свойства MultiLine. У каких объектов имеется данное свойство? 103
39. Как будет отображаться несколько строк текста в объекте «Поле», если свойство MultiLine имеет значение False? 40. Объясните назначение свойства Locked. У каких классов объектов есть это свойство? 41. Объясните назначение свойства Text. У каких объектов имеется данное свойство? 42. Объясните назначение свойства TextAlign. У каких объектов имеется данное свойство? 43. Объясните назначение свойства ControlSource. У каких объектов имеется данное свойство? 44. Объясните назначение свойства ControlTipText. У каких объектов имеется данное свойство? 45. Объясните назначение свойства ScrollBars. У каких объектов имеется данное свойство? 46. Объясните назначение свойства Accelerator. У каких объектов имеется данное свойство? 47. Объясните назначение свойства TripleState. У каких объектов имеется данное свойство? 48. Объясните назначение свойства Value. Как зависит это свойство у объектов класса «Выключатель» от свойства TripleState. У каких еще объектов есть это свойство? 49. Объясните назначение свойства Alignment. У каких объектов имеется данное свойство? 50. Объясните назначение свойства GroupName. У каких объектов имеется данное свойство? 51. Объясните назначение свойства ColumnCount. У каких объектов имеется данное свойство? 52. Объясните назначение свойства ColumnWidth. У каких объектов имеется данное свойство? 53. Объясните назначение свойства ColumnHeads. У каких объектов имеется данное свойство? 54. Как будут задаваться заголовки колонкам, если свойство ColumnHeads имеет значение True? 55. Объясните назначение свойства RowSource. У каких объектов имеется данное свойство? 56. Объясните назначение свойства MultiSelect. У каких объектов имеется данное свойство? 57. Как влияет значение свойства MultiSelect на выбор элементов списка? 58. Объясните назначение свойства ListRows. У каких объектов имеется данное свойство? 104
59. Объясните назначение свойства DropButtonStyle. У каких объектов имеется данное свойство? 60. Объясните назначение свойства Max. У каких объектов имеется данное свойство? 61. Объясните назначение свойства Min. У каких объектов имеется данное свойство? 62. Объясните назначение свойства SmallChange. У каких объектов имеется данное свойство? 63. Объясните назначение свойства LargeChange. У каких объектов имеется данное свойство? 64. Объясните назначение свойства ScrollLeft. У каких объектов имеется данное свойство? 65. Объясните назначение свойства ScrollTop. У каких объектов имеется данное свойство? 66. Объясните назначение свойства ScrollHeight. У каких объектов имеется данное свойство? 67. Объясните назначение свойства ScrollWidth. У каких объектов имеется данное свойство? 7.4.2. Упражнения на самостоятельную работу Упражнение 1. Создайте диалоговые окна для задач решения квадратного уравнения, системы линейных уравнений с двумя неизвестными. Упражнение 2. Создайте диалоговые окна для задачи нахождения площади треугольника по разным данным (по высоте и стороне, по трем сторонам и т. д.).
105
8. ЗАДАЧИ ОБРАБОТКИ ИНФОРМАЦИИ Анализ, выполняемый на основе числовых расчетов, составляет основу всякой инженерной деятельности. Различают одновариантный анализ, когда расчет ведется один раз по некоторой совокупности формул, и многовариантный расчет, когда расчет по одной и той же совокупности формул проводится многократно, с различными исходными данными. В процессе многовариантного анализа выявляется взаимное влияние параметров проектируемых изделий и их узлов, осуществляется сравнение вариантов. На основе многовариантного анализа строятся процедуры оптимизации – выбора наилучшего варианта (проектного решения). Можно утверждать, что процесс оптимизации лежит в основе всей инженерной деятельности, так как классические функции инженера заключаются в том, чтобы, с одной стороны, проектировать новые, более эффективные и менее дорогостоящие технические системы и, с другой стороны, разрабатывать методы повышения качества функционирования существующих систем. Расчеты в инженерной практике всегда занимали ведущее место [5]. Изменилась сложность расчетов. При создании технических объектов в прошлом (скажем, лет 30–40 назад) зачастую ограничивались относительно простыми расчетными схемами, которые можно было реализовать с помощью логарифмической линейки и других вспомогательных средств, а несовершенство математических моделей, положенных в основу расчета, компенсировали доводкой проектируемого объекта в условиях натурного эксперимента и испытаний опытного образца. Усложнение современной техники (объектов проектирования) приводит к тому, что при использовании такой методики недопустимо растут: • сроки проектирования, • стоимость разработки, а в рамках ограниченных сроков проектирования появляются изделия, далекие от «рекордных», наилучших при существующих технических и технологических возможностях. Разработка новой технологии проектирования, основанной на широком и систематическом применении компьютеров для решения проектных задач на основе совершенствования математических моделей и процедур, представляет собой единственно возможный путь создания изделий на уровне, превышающем лучшие существующие образцы. В этих условиях умение использовать ЭВМ для решения своих профессиональных задач становится абсолютно необходимым любому инженеру. 106
Однако при проведении многовариантных расчетов и составления таблиц параметров, инженеру необходимо выделить ту область параметров проектируемого изделия, которая является наиболее оптимальной для данного производства. Осуществимость этой операции в современных условиях труда основывается на хорошем владении инженером программным обеспечением компьютера. Наиболее популярным средством для проведения различного рода анализа и расчетов является Microsoft Excel. А в сочетании с пакетом MathCad фирмы MathSoft становится незаменимым помощником инженера при его повседневной работе. В данной главе рассматривается одна из многочисленных задач инженера – задача обработки информации. Примерами такой задачи являются: информация о технологическом процессе изготовления деталей в течение месяца, квартала, года; данные об испытаниях заводских механизмов и др. В данной главе Вы познакомитесь с элементарными методами обработки информации и использованием языка Visual Basic for Application для представления результатов. Глава условно разбита на три части: 1. Изучение приемов обработки информации и использование средств Visual Basic для представления результатов. 2. Отработка навыков решения задач на выполнении тестовой задачи. 3. Самостоятельное решение задачи на контрольном примере. В данной главе не рассматриваются средства полной статистической обработки данных, так как соответствующие разделы математики Вам могут быть не знакомы, а привести соответствующую теорию в рамках одного учебного пособия не представляется возможным. Для дальнейшей работы Вам необходимо иметь файлы заготовки или создать их самостоятельно (см. приложение). 8.1. Постановка задачи Пусть имеются данные о результатах сдачи сессии 300-ми студентами по предметам: математика, физика, химия, информатика, физкультура, история, начертательная геометрия, теоретическая механика, культурология, сопротивление материалов, философия, политология. Оценки проставлены в четырехбалльной шкале от 2 до 5. Требуется: • произвести подсчет количества каждого вида оценок и определить процент к общему количеству оценок (с помощью данной операции – подсчета процента части к общему можно узнать преобладающее значение в массе), построить диаграмму, отражающую количество оценок каждого вида; 107
• рассчитать средний балл каждого студента (с округлением до двух знаков после запятой) и определить категорию, к которой он относится (двоечник, троечник, хорошист или отличник), а также процент каждой категории к общему количеству студентов; • выделить категорию двоечников условным форматированием; • определить стипендиальной фонд в зависимости от размера стипендии для каждой категории студентов (троечников, хорошистов, отличников); • рассчитать средний балл по каждому предмету и найти предмет с максимальным средним баллом. • составить программу для расчета числа студентов (каждой категории и общее число) и числа оценок (каждого вида и общее количество). Программа должна рассчитывать стипендиальный фонд (по каждой категории и общий) с возможностью его моделирования и выдавать список студентов получающих стипендию. 8.2. Решение задачи Для простоты будем обозначать студентов С1, С2, С3 и т. д. Кроме того, введем краткие обозначения предметов П1, П2, П3 и т. д. Посмотрите, как записаны результаты в таблице Excel. Обратите внимание, что у ячеек с условными названиями предметов есть примечание – пояснительный текст к ячейке (ячейки с примечанием имеют красный треугольник в правом верхнем углу) (рис. 82). При наведении курсора мыши на ячейку с примечанием Excel показывает текст примечания. Используйте примечания, когда хотите сообщить дополнительную информаРис. 82. Ячейки с примечаниями. цию пользователю или пометить важные данные. Мы будем использовать примечания для расшифровки названий предметов и сокращения «Ср. балл». 8.2.1. Работа с примечаниями Для добавления примечания к ячейке необходимо выполнить следующие шаги: 1. Выбрать ячейку, к которой следует добавить примечание. 2. Выбрать команду «Примечание» в меню «Вставка». 3. Ввести текст примечания в соответствующее поле. 4. После окончания ввода текста нажать кнопку мыши вне области примечания.
108
В примечании можно использовать форматированный текст (выравнивание действует сразу на все примечания, выделение цветом слов, применение шрифтов различных размеров и начертаний). Замечания. 1. Примечания в таблице остаются привязанными к самим ячейкам, к которым они были добавлены, а не к их содержанию. При внесении изменений в таблицу примечания не удаляются, поэтому возможна ситуация ошибочного примечания к ячейке (или не нужного, неправильного). 2. Вставить примечание можно мышью. Для этого вызовите нажатием правой кнопки мыши на необходимой ячейке контекстное меню и выберите пункт «Добавить примечание».
Для изменения примечания необходимо выполнить следующие шаги: 1. Выбрать ячейку, примечание к которой нужно изменить. 2. Выбрать команду «Изменить примечание» в меню «Вставка». Либо с помощью контекстно-зависимого меню вызываемого правой кнопкой мыши по команде «Изменить примечание». Удалить примечание также можно с помощью контекстнозависимого меню, либо с помощью команд «Очистить», «Примечание» из меню «Правка». Решение нашей задачи располагается правее исходной таблицы, фон области решения выделен цветом. Будет естественным располагать данные, относящиеся к каждому студенту правее начальных данных. Из условия необходимо найти средний балл каждого студента и определить категорию, к которой относится студент. Кроме того, нам понадобится подсчитать общее количество оценок каждого вида. В этих двух условиях Вы должны "уловить" общее – они разрешаются одним приемом – подсчетом оценок каждого вида у каждого студента. Тогда нам будет легко определить общее количество двоек (суммированием элементов одного столбца), троек, четверок, пятерок и сделать вывод о категории, к которой относится студент. 8.2.2. Определение среднего балла Средний балл можно найти арифметическим сложением всех оценок и делением полученной суммы на количество предметов. Однако при количестве значений, для которых требуется определить среднее более пяти, данный способ не является эффективным. В Excel есть функция СРЗНАЧ, с помощью которой можно найти среднее значение для диапазона ячеек. Округление можно вести двумя способами: • Установкой числового формата ячеек с двумя знаками после запятой (с помощью команды «Формат ячеек …» контекстно-зависимого меню вызываемого правой кнопкой мыши или с помощью команды «Ячейки» меню «Формат» или с помощью клавиш Ctrl+1 или с помо109
щью кнопок «Увеличить разрядность» , «Уменьшить разрядность» на панели инструментов «Форматирование»); • Использованием функции Excel ОКРУГЛ. Для большого количества ячеек эффективнее использовать функциональное округление, так как позволяет сократить количество выделений больших диапазонов ячеек (что отнимает определенное время). Таким образом, для определения среднего балла необходимо ввести следующую формулу в колонку со средним баллом: =ОКРУГЛ(СРЗНАЧ(AB17:AM17);2) Единственным параметром функции СРЗНАЧ является диапазон ячеек, для которых определяется среднее значение. В нашем случае этот диапазон составляют ячейки с оценками по предметам для одного студента. Для функции ОКРУГЛ параметром является округляемое значение и количество знаков после запятой, которое необходимо оставить, указываемое через точку с запятой. Для подсчета среднего балла у каждого студента необходимо скопировать эту формулу на диапазон ячеек, находящихся в столбце с названием «Ср. балл». Обратите внимание на адресацию ячеек в этой формуле. Она является относительной, так как нам необходимо, чтобы формула изменяла свои параметры по отношению к каждому студенту. Напоминание. Относительными ссылками – называются ссылки на ячейки, которые изменяются при копировании формулы из данной ячейки. Они определяют местоположение данных для формулы, записанной в данной ячейке как смещение по строкам и столбцам. Относительная ссылка, подобно указанию прохожему – пройти два квартала прямо и затем один квартал направо, позволяет максимально кратко определить положение искомой ячейки относительно той ячейки, в которой эта ссылка находится. Диапазон (интервал) ячеек – совокупность ячеек, представляющая собой прямоугольную область, не имеет исключенные и дополнительные ячейки вне прямоугольной области. 8.2.3. Определение количества оценок каждого вида Для выполнения этой задачи в Excel существует интересная функция СЧЁТЕСЛИ. Эта функция подсчитывает количество непустых ячеек внутри интервала, удовлетворяющих заданному критерию. Параметрами функции являются интервал (диапазон) ячеек и критерий.
110
Критерий – это критерий в форме числа, выражения или текста, который определяет, какие ячейки надо подсчитывать. Например, критерий может быть выражен следующим образом: 32, "32", ">32", "яблоки". Например. 1. Пусть ячейки с A3 по A6 содержат слова "яблоки", "апельсины", "персики", "яблоки" соответственно: =СЧЁТЕСЛИ(A3:A6;"яблоки") равняется 2. 2. Пусть ячейки с B3 по B6 содержат 32, 54, 75, 86 соответственно: =СЧЁТЕСЛИ(B3:B6;">55") равняется 2. Данную функцию можно использовать для подсчета количества оценок каждого вида: • Для двоек: =СЧЁТЕСЛИ(AB17:AM17;2); • Для троек: =СЧЁТЕСЛИ(AB17:AM17;3); • Для четверок: =СЧЁТЕСЛИ(AB17:AM17;4); • Для пятерок: =СЧЁТЕСЛИ(AB17:AM17;5). Переключитесь в Excel и посмотрите формулы расчета среднего значения и подсчета количества оценок каждого вида у одного студента. Подсчитать же общее количество можно, просуммировав столбы с оценками каждого вида, или применяя функцию СЧЁТЕСЛИ, но для всего диапазона ячеек с оценками. Последний вариант и реализован в таблице. Обратите внимание на подсчет общего количества оценок (ячейка AW16), в данном случае подсчет происходит умножением количества студентов на количество предметов. Это не совсем верно, так как не учитывает возможность отсутствия оценки у студента. Корректнее было бы суммировать либо диапазон с количеством оценок каждого вида у каждого студента, либо суммировать итоговые значения оценок каждого вида. Подсчет основывается на двух функциях ЧИСЛСТОЛБ и ЧСТРОК, имеющих только один параметр – диапазон ячеек. Первая определяет число столбцов в диапазоне, а вторая число строк. Конечно, когда диапазон маленький, то подсчитать соответствующие значения не составляет труда, однако если диапазон большой или явно не указан (вычисляется с помощью других формул), то вычисление числа строк и столбцов удобнее производить с помощью указанных функций. 8.2.4. Определение категории студента Для определения категории студента нам необходимо знать количество оценок каждого вида. Как человек определяет категорию студента сравнением количества оценок каждого вида, так же будет сравнивать Excel. Для простоты мы разберем классификацию студентов на две категории: отличник и двоечник. Полный же анализ произведем далее – программно. 111
Для сравнения в Excel есть функция ЕСЛИ. Данная функция возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА (условие выполняется), и другое значение, если ЛОЖЬ (условие не выполняется). Функция ЕСЛИ используется для условной проверки значений и формул. Примеры. 1. В следующем примере, если значение ячейки A10 равно 100, то условие выполняется, т. е. имеет значение ИСТИНА и вычисляется сумма для ячеек B5:B15. В противном случае условие не выполняется, т. е. имеет значение ЛОЖЬ и возвращается пустой текст (""), очищающий ячейку, которая содержит функцию ЕСЛИ. =ЕСЛИ(A10=100;СУММ(B5:B15);"") 2. Предположим, что рабочий лист по расходам содержит в ячейках B2:B4 фактические расходы за январь, февраль, март: 1500, 500 и 500 соответственно. Ячейки C2:C4 содержат данные по предполагаемым расходам за те же периоды: 900, 900 и 925. Можно написать формулу для проверки соответствия бюджету расходов определенного месяца, генерируя тексты сообщений с помощью следующих формул: =ЕСЛИ(B2>C2;"Превышение бюджета";"") условие выполняется, значение в ячейке с условием равняется "Превышение бюджета"; =ЕСЛИ(B3>C3;"Превышение бюджета";"") условие не выполняется, значение в ячейке с условием равняется "". Замечание. До семи функций ЕСЛИ могут быть вложены друг в друга в качестве значений аргументов.
В нашем случае для диагностирования двух категорий студентов необходимо проверить количество двоек (если оно не равно нулю, то студент двоечник) и количество пятерок (если оно равно количеству предметов, т. е. 12, то студент отличник). В ячейке AS17 записана соответствующая формула: =ЕСЛИ(AO17<>0;"двоечник";ЕСЛИ(AR17=12;"отличник";"")) Обратим внимание на то, что второе условие ЕСЛИ проверяется в том случае, когда первое условие не выполняется, т. е. имеет значение ЛОЖЬ. Если продолжить написание условий, то, поставив условие в качестве третьего аргумента вложенной функции ЕСЛИ, можно определить и троечников и хорошистов: =ЕСЛИ(AO17<>0;"двоечник"; ЕСЛИ(AR17=12;"отличник"; ЕСЛИ(AP17<>0;"троечник","хорошист"))). 112
Замечание. 1. Необходимо строго следить за числом скобок в формулах: число открытых скобок должно равняться числу закрытых. 2. Рекомендуется рисовать блок-схему условий на бумаге для более эффективной записи условий и самоконтроля.
Для нашего последнего условия блок-схема имеет вид (рис. 83). Число двоек не равно нулю
Нет
Да Вывод: двоечник
Число пятерок равно количеству предметов
Нет
Да Вывод: отличник
Число троек не равно нулю
Нет
Да Вывод: троечник
Вывод: хорошист
Рис. 83. Блок-схема условия.
Для определения категории каждого студента полученную формулу необходимо скопировать в ячейки после числа оценок каждого вида. Поскольку у нас в формулах относительные ссылки, то они автоматически изменятся (только номера строк, так как мы расположили формулы в одном столбце), что позволит не редактировать каждую из них.
Задание № 30. Замените в таблице формулу в столбце AS, так чтобы она определяла все категории студентов (двоечник, троечник, хорошист и отличник). Формула, приведенная в таблице, определяет только две категории: двоечник и отличник. 8.2.5. Определение стипендии студента Для определения стипендии нам необходимо знать, к какой категории относится студент. Это мы проделали в предыдущем пункте. Теперь мы можем с помощью функции ЕСЛИ определить размер стипендии. Особенность, которая характерная для многих задач заключается в следующем: если Вы в качестве аргумента функции ЕСЛИ укажете число (реальный размер стипендии), то при изменении этого числа Вам придется переписать формулу и снова ее скопировать во все ячейки, где использовалось это число. Для того чтобы этого не происходило, указывай113
те не числа, а ссылки на ячейки, где эти числа хранятся, тогда при изменении значения этих ячеек изменятся и значения формул. Конечно, ссылки должны быть абсолютными. Напоминание. Абсолютной ссылкой на ячейку называют ссылку на данную ячейку независимо от положения формулы, например, $A$10, A$5, $B12. В столбце AT записана следующая формула напротив каждого студента: =ЕСЛИ(AS17="двоечник";"";ЕСЛИ(AS17="отличник";$AK$10;$AT$10)) В ячейках AK10 и AT10 хранятся суммы стипендий для отличников и для троечников-хорошистов соответственно. Изменив значения этих ячеек, Вы увидите, как изменятся значения стипендий в ячейках столбца AT.
Задание № 31. Замените в таблице формулу в столбце AT, так чтобы она определяла стипендии для всех категорий студентов (двоечников – без стипендии, троечников – минимальная, хорошистов – повышенная и отличников – именная). Формула, приведенная в таблице, определяет только две стипендии – для двоечников и отличников. Подсказка. Отведите какие-нибудь не занятые ячейки таблицы для хранения размера одной стипендии для троечников, хорошистов и отличников. Занесите размер стипендий в эти ячейки (назначьте сами). Формула определения стипендий будет строиться также как формула определения категории студентов, но на базе формулы приведенной выше для назначения стипендий отличникам и двоечникам. 8.2.6. Определение стипендиального фонда Для определения общего стипендиального фонда необходимо сложить все значения стипендий в диапазоне AT17:AT316. Для определения стипендиального фонда отличников необходимо сложить стипендии отличников. Это можно осуществить с помощью функции условного суммирования СУММЕСЛИ. У этой функции три параметра: интервал; критерий; суммируемый интервал. Интервал – это интервал вычисляемых ячеек (для них проверяется критерий). Критерий – это критерий в форме числа, выражения или текста, который определяет, какая ячейка добавляется. Например, критерий может быть выражен как 32, "32", ">32", "яблоки". Суммируемый интервал – диапазон, в котором производится суммирование. Если не задан, то суммируются ячейки определенные параметром "интервал". Т. е. суммироваться одни ячейки, а проверяться на удовлетворение параметра "критерий" другие. 114
Формула вида: =СУММЕСЛИ($AT$17:$AT$316;$AT$10) суммирует ячейки, находящиеся в столбце AT, при условии, что они равны (по значению) ячейке AT10, т. е. в нашем случае размеру стипендии троечника-хорошиста. Абсолютные ссылки не позволяют измениться формуле при копировании. Аналогично можно подсчитать сумму стипендиального фонда отличников, только необходимо изменить адрес ячейки, содержащей размер одной стипендии отличника (в таблице это ячейка AK10). 8.2.7. Вычисление процентных отношений Вычисление процентного отношения Вам знакомо еще со школы и каких-либо трудностей не представляет. Формулы, вычисляющие процент, просты и Вы сможете изучить их реализацию в Excel самостоятельно. Единственной особенностью является то, что умножение на 100% в Excel не нужно. Достаточно указать процентный формат ячеек. Это можно выполнить через меню «Формат» пункт «Ячейки», вкладку «Число». Либо вызвав контекстное меню правой кнопкой мыши и командой «Формат ячеек», либо через панель инструментов «Форматирование» . нажав на кнопку «Процентный формат» Замечание. Одной из особенностей вычисления процентов является то, что при вычислении процентов для округленных чисел (или при округлении процентов) может получиться ситуация, что сумма процентов не будет равняться 100 %, а будет отличаться в последнем знаке (в меньшую сторону).
8.2.8. Вычисление среднего балла по предметам и определение максимального из них Средний балл по предметам находится суммированием всех оценок в соответствующем столбце и делением их на число студентов. Формула, определяющая средний балл по математике (первому предмету), имеет вид: =СУММ(AB$16:AB$317)/ЧСТРОК($AB$17:$AB$316). Обе функции Вам уже знакомы, адресация суммы имеет одну абсолютную ссылку – строкам, так как при копировании этой формулы в другую ячейку должен измениться предмет, по которому определяется средний балл. Для определения максимального балла из средних по предметам можно использовать функцию МАКС: =МАКС(AW37:AW48). Диапазон ячеек с AW37 по AW48 содержит средние баллы по предметам. Определение же названия предмета немного сложнее. ="П"&ТЕКСТ(ПОИСКПОЗ(МАКС(AW37:AW48);AW37:AW48;0);"0") Функция ПОИСКПОЗ возвращает относительное положение элемента массива, который соответствует заданному значению указанным 115
образом. С помощью данной функции можно найти положение максимального среднего балла в диапазоне предметов. Функция записывается следующим образом: ПОИСКПОЗ (искомое значение; просматриваемый массив; тип сопоставления). Искомое значение – это значение, используемое при поиске значения в таблице. "Искомое значение" – это значение, для которого ищется соответствие в аргументе "просматриваемый массив". Например, когда Вы ищете номер телефона в телефонной книге, Вы используете имя человека как искомое значение, но значение, которое Вам нужно получить – это сам номер телефона. Параметр "искомое значение" может быть значением (числом, текстом или логическим значением) или ссылкой на ячейку, содержащую число, текст или логическое значение. Просматриваемый массив – это непрерывный интервал ячеек, возможно, содержащих искомые значения. Параметр "просматриваемый массив" может быть массивом или ссылкой на массив. Тип сопоставления – это число –1, 0 или 1. Тип сопоставления указывает, как Microsoft Excel сопоставляет параметр "искомое значение" со значениями в аргументе "просматриваемый массив". • Если параметр "тип сопоставления" равен 1, то функция ПОИСКПОЗ находит наибольшее значение, которое равно или меньше, чем параметр искомое значение. Просматриваемый массив должен быть упорядочен по возрастанию: ..., –2, –1, 0, 1, 2, ..., A-Z, ЛОЖЬ, ИСТИНА. • Если параметр "тип сопоставления" равен 0, то функция ПОИСКПОЗ находит первое значение, которое в точности равно аргументу искомое значение. Просматриваемый массив может быть в любом порядке. • Если параметр "тип сопоставления" равен –1, то функция ПОИСКПОЗ находит наименьшее значение, которое равно и больше чем искомое значение. Просматриваемый массив должен быть упорядочен по убыванию: ИСТИНА, ЛОЖЬ, Z-A, ..., 2, 1, 0, –1, –2, ..., и так далее. • Если параметр "тип сопоставления" опущен, то предполагается, что он равен 1. Замечания. 1. ПОИСКПОЗ возвращает позицию соответствующего значения в аргументе "просматриваемый массив", а не само значение. Например: ПОИСКПОЗ("б";{"а";"б";"в"};0) возвращает 2 – относительную позицию буквы "б" в массиве {"а";"б";"в"}. 2. ПОИСКПОЗ не различает регистры при сопоставлении текстов.
116
3. Если функция ПОИСКПОЗ не находит соответствующего значения, то возвращается значение ошибки #Н/Д. 4. Если параметр "тип сопоставления" равен 0 и параметр "искомое значение" является текстом, то параметр "искомое значение" может содержать символы шаблона, звездочки (*) и знака вопроса (?). Звездочка соответствует любой последовательности символов, знак вопроса соответствует любому одиночному символу.
Итак, в выражении: ="П"&ТЕКСТ(ПОИСКПОЗ(МАКС(AW37:AW48); AW37:AW48;0);"0") функция ПОИСКПОЗ ищет положение максимального элемента (находит первый элемент равный максимальному значению – последний параметр у функции равен нулю) среди ячеек, содержащих средний балл по предметам. Замечание. В данном случае в Excel задается строгое условие, поэтому он будет находить первый совпадающий элемент. Чтобы найти несколько предметов имеющих максимальный и одновременно одинаковый средний балл можно воспользоваться средствами Visual Basic.
Функция ТЕКСТ переводит число в текстовую строку. Это необходимо сделать, так как чтобы получить название (условное) предмета мы соединяем букву "П" с номером предмета, имеющим наивысший средний балл. У функции ТЕКСТ два параметра, первый – число, переводимое в текст, второй – формат числа для перевода. В нашем случае второй параметр "0" – это означает, что число будет целым при переводе (без дробных знаков). 8.2.9. Выделение категории студентов с помощью условного форматирования Для выделения результатов вычисления или других значений можно использовать условные форматы (формат (например, узор ячейки или цвет шрифта), который Microsoft Excel автоматически применяет к ячейке, если выполняется указанное условие). Например, пусть ячейка содержит формулу, вычисляющую разницу между прогнозируемыми и реальными продажами. Если реальные продажи превышают прогнозируемые, Microsoft Excel может выделить ячейку зеленым цветом, а в обратном случае – красным. Если значение ячейки изменилось и больше не соответствует необходимым свойствам, Microsoft Excel временно скрывает форматы, выделяющие это свойство. Условные форматы остаются до тех пор, пока их не удалят, даже если ни одно из свойств не соответствует данным, и определенные форматы ячеек не выводятся на экран. Мы с помощью условного форматирования будем выделять в таблице двоечников. Для выполнения условного форматирования необходимо выполнить следующие шаги: 117
Шаг 1. Выделение ячеек, формат которых необходимо изменить. Выделите всю таблицу с фамилиями, оценками, средним баллом и стипендией. Вы можете это выполнить по-разному, либо мышью, либо клавишами Shift, стрелками и PageDown. Напоминание. Быстрое выделение осуществляется так: встаньте на ячейку с фамилией "С1". Нажмите клавиши Shift и Ctrl. Удерживая их, нажмите клавиши «стрелка вправо», «стрелка вниз» (в любом порядке). Диапазон выделен. Клавиша Shift производит выделение (со стрелками или PageUp, PageDown), а клавиша Ctrl быстрое перемещение к следующему пустому пространству (с теми же клавишами). Шаг 2. Выбор в меню «Формат» команды «Условное форматирование». Шаг 3. Чтобы в качестве условия форматирования использовать значения выделенных ячеек, выберите параметр "значение", выберите операцию сравнения, а затем в необходимое поле введите значение. Ввести можно заданное значение или формулу, но перед формулой необходимо поставить знак равенства (=). Для оценки данных или условий, отличных от значений выделенных ячеек, в качестве критерия форматирования используйте формулу. Слева из поля выберите параметр "формула", а затем в поле справа введите формулу. Формула должна принимать логическое значение ИСТИНА или ЛОЖЬ. ФОРМУЛЫ В КАЧЕСТВЕ КРИТЕРИЯ ФОРМАТИРОВАНИЯ Значения выделенных ячеек можно сравнивать с константой или с результатами формулы. Чтобы определить критерий форматирования при оценке данных в ячейках, не входящих в выделенный диапазон, или при проверке нескольких критериев, можно использовать логическую формулу. Чтобы при выбранном параметре "значение" сравнить значения выделенных ячеек с результатом формулы, формула должна начинаться со знака равенства. Вычисления по данной формуле могут производиться только на активном листе. Чтобы оценить данные на другом листе или в другой книге, на активном листе необходимо определить имя для данных на другом листе или в другой книге либо ввести ссылку на данные в ячейке активного листа, затем сослаться на указанную ячейку или имя в формуле. Ссылки на ячейки можно ввести в формулу, выделив ячейки непосредственно на листе. Выделение ячеек на листе вводит абсолютные ссылки. Если необходимо, чтобы были определены ссылки для каждой ячейки в выделенном диапазоне, используйте относительные ссылки. В нашем случае необходимо выбрать параметр "формула" (первый выпадающий список), затем ввести следующую формулу: =И($AS17="двоечник"). 118
Логическая формула И указывает на то, что последующая формула (или выражение) должна выполняться с формулами, записанными в ячейках в выделенном диапазоне. Формула заключается в простом сравнении значений ячеек, стоящих в столбце AS со значением "двоечник". Абсолютная адресация по столбцу необходима для того, чтобы Excel применял эту формулу только для ячеек содержащих категорию студентов, а не для всех выделенных ячеек. Относительная адресация по строкам позволяет для каждой строки применять свою формулу. Такая формула позволит выделить строки в таблице, которые удовлетворяют этой формуле. Можно форматировать по значению, но тогда форматирование будет действовать только на столбец, где находятся категории студентов, а не на всю строку, содержащую данную категорию. Шаг 4. Нажмите на кнопку «Формат» в появившемся окне. Шаг 5. Выберите шрифт, его цвет, подчеркивание, рамку и затенение ячеек или шаблоны. Выбранные форматы будут применены, только если значение ячейки отвечает поставленному условию или если формула принимает значение ИСТИНА. Шаг 6. Для добавления условия выберите команду «Добавить», а затем повторите шаги 3–5. Указать можно до трех условий (если Вы форматируете с помощью формул, то можно расширить формулы). Добавление условий позволит выделить до четырех различных категорий (четвертая задается обычным форматом). Например, двоечников можно выделить красным цветом, троечников желтым, хорошистов синим, а отличников зеленым.
Задание № 32. Выделите в таблице все строчки с двоечниками красным жирным шрифтом. 8.2.10. Построение диаграммы Разберем еще раз построение диаграмм и графиков. При отображении данных на диаграммах Microsoft Excel выводит значения ячеек в качестве столбцов, линий, сегментов и других элементов диаграмм. При создании диаграммы значения из листа автоматически представляются в диаграммах. Например, в гистограммах мастер диаграмм для каждого значения из листа создает столбец определенной высоты. Диаграммы связаны с данными листа, из которого они были созданы. При изменении данных на листе изменяются также и диаграммы. Для начала выделите диапазон с AV17 по AW20. Затем, либо через меню «Вставка» выберите команду «Диаграмма…», либо нажмите на панели инструментов «Стандартная» кнопку «Мастер диаграмм» Вызванный мастер диаграмм предложит Вам проделать четыре шага. 119
.
Шаг 1. Выбор типа диаграммы. Выберите в появившемся окне тип диаграммы. Диаграммы бывают двух классов: стандартные и нестандартные. Смена одного класса другим производится выбором необходимой закладки. Чтобы посмотреть предварительный вид стандартной диаграммы выберите необходимый тип и нажмите кнопку «Просмотр результата». Для решения нашей задачи подойдет любая круговая диаграмма (хотя, может быть, Вы найдете лучший тип для представления наших данных). В примере был выбран нестандартный тип: вырезанные сектора. Для перехода к следующему шагу нажмите кнопку «Далее >». Для отмены вставки диаграммы кнопку «Отмена». Для построения диаграммы "как есть" кнопку «Готово». Шаг 2. Источник данных диаграммы. Необходимо указать диапазон данных для построения диаграммы (мы это сделали заранее). Указать расположение данных – в столбцах или в строках. В нашем примере данные располагаются в столбце, поэтому указываем – в столбцах. Кроме того, Вы можете указать ряды данных на вкладке «Ряд». Иногда, Excel неверно принимает подписи по оси за данные, в этом случае необходимо удалить ненужный ряд данных. Так же на этой закладке можно указать подписи данных под осью или на графике (подписи категорий). В поле «Имя» можно задать ячейку таблицы, содержащую название диаграммы. При необходимости вернуться на предыдущий шаг нажмите кнопку «Назад <» (чтобы снова выбрать тип диаграммы). Шаг 3. Параметры диаграммы. В качестве параметров диаграммы можно указать названия осей (если они имеются), название графика – на вкладке «Заголовки». На вкладке «Легенда» можно указать расположение легенды (условные обозначения) значений. На вкладке «Подписи данных» можно вывести на график значения возле точек графика, подписи значений. Шаг 4. Размещение диаграммы. Указывается положение диаграммы в книге Excel. Либо на отдельном листе, либо на листе с данными. 8.2.11. Создание программного кода Изучим применение операторов Visual Basic для обработки информации. Создадим такую программу, которая позволила бы вывести на экран общее количество студентов, число отличников, хорошистов, троечников, двоечников и их процентное соотношение. А так же общее количество оценок, число двоек, троек, четверок, пятерок и их процентное соотношение. Стипендиальный фонд, в том числе по категориям студентов, с возможностью моделирования суммы стипендиального фонда. И список успевающих студентов с их средним баллом. 120
ПОСЛЕДОВАТЕЛЬНОСТЬ ОПЕРАЦИЙ ДЛЯ СОЗДАНИЯ ПРОГРАММЫ Вызывается панель инструментов «Visual Basic» (из контекстного меню, вызываемого правой кнопкой мыши на области панелей инструментов или через меню «Вид» и подменю «Панели инструментов»). На панели инструментов следует нажать кнопку «Элементы управ. Выбрать элемент управления «Кнопка» и нарисовать его на ления» свободном месте. Далее вызвать правой кнопкой мыши контекстное меню на элементе управления. В контекстном меню выбрать команду «Свойства». После этого в появившемся окне свойств изменить необходимые свойства. Например, свойство Caption – меняет название кнопки. Название кнопки и ее размеры можно изменить и другой командой контекстного меню «Объект кнопка – Изменить». При необходимости можете поменять цвет, шрифт кнопки, добавить тень (свойство Shadow в окне свойств) и т. д. Далее двойным нажатием левой кнопки мыши на объекте или через контекстное меню командой «Исходный текст» можно войти в редактор Visual Basic. В редакторе Вы увидите следующие операторы: Private Sub CommandButton1_Click(); End Sub. Операторы Sub и End Sub на начало и конец процедуры или подпрограммы. Процедура – функционально законченная последовательность совместно выполняемых инструкций, имеющая имя. Существуют процедуры типа Function, Property и Sub. Имя процедуры всегда определяется на уровне модуля. В процедурах должны содержаться все исполняемые программы. Вложенность процедур в другие процедуры не допускается. Инструкция – синтаксически завершенная конструкция, представляющая отдельное действие, описание или определение. В качестве инструкций используются операторы, функции, служебные слова. Обычно, инструкция занимает отдельную строку программы, хотя допускается использование двоеточия для размещения в одной строке нескольких инструкций. Допускается также использование символа продолжения строки _ (подчеркивание) для продолжения одной логической программной строки на нескольких физических строках. Пример. = – инструкция (оператор присваивания); Sin – инструкция (функция синуса); Const – инструкция (служебное слово). 121
Константа – именованный элемент, сохраняющий постоянное значение в течение выполнения программ. Константа может быть задана как строковый или числовой литерал (константа в явном представлении), другая константа или любая комбинация констант и арифметических и логических операторов, за исключением операторов Is и возведения в степень. В каждом главном приложении можно определить собственный набор констант. Пользователь имеет возможность определить дополнительные константы с помощью инструкции Const. Константы могут использоваться в любых местах программы вместо реальных значений. Пример. 10 – константа (любое число является константой); "ad" – константа (любое выражение в кавычках является константой). Процедура Sub представляет собой последовательность инструкций языка Visual Basic, ограниченных инструкциями Sub и End Sub, которая выполняет действия, но не возвращает значение. Процедура Sub может получать аргументы, как, например, константы, переменные, или выражения, передаваемые ей вызывающей процедурой. Если процедура Sub не имеет аргументов, инструкция Sub должна содержать пустые скобки. У нас имеется следующий текст: Private Sub CommandButton1_Click(); End Sub. В нашем случае перед оператором Sub стоит инструкция Private. Так же как и для переменных, эта инструкция означает, что данная процедура будет доступная в пределах одного модуля – в нашем случае это "Лист 1 (Сессия)". После оператора Sub идет имя процедуры. Данное имя Excel дает автоматически, так как основной процедурой на объект класса «Кнопка» является обработка события "нажатие мышью на кнопку" («Click»). Имя процедуры состоит из имени объекта – CommandButton1 и названия события – «Click». Процедура не получает параметров, поэтому после имени процедуры идут пустые скобки – (). Между этими двумя строчками необходимо написать текст программы, которая вызовет на экран окно со статистическими данными. Этот код заключается в одной строчке: UserForm1.Show Инструкция Show является методом, который показывает на экран объект класса UserForm. Объекта пока не существует, поэтому создадим его. Для создания объекта класса UserForm нажмите на панели инструментов «Стандарт» соответствующую кнопку, либо через меню «Вставка» командой «UserForm». Необходимо изменить заголовок этой формы (свойство Caption) на фразу "Статистика по студентам". Размеры самого окна подправляются в процессе создания других объектов. Свойство 122
StartUpPosition должно быть установлено в 1 – CenterOwner, чтобы окно выводилось посредине листа. Окно свойств вызывается или клавишей F4 или через контекстное меню на объекте командой «Свойства» или через меню «Вид» командой «Окно свойств». Далее создается объект класса «Рамка». Объект данного класса может содержать другие объекты. Необходимо изменить название рамки на "Количество оценок", это делается с помощью свойства Caption. Если шрифт не является русским, то измените его на русский шрифт с помощью свойства Font. Стандартным системным экранным шрифтом (которым пишется меню) является MS Sans Serif. В созданном объекте класса «Рамка» располагают объекты класса «Надпись», с текстом "число оценок всего", "число двоек", "число троек", "число четверок", "число пятерок". Изменение текста производится с помощью свойства Caption, затем текст выравнивают по правому краю свойством TextAlign, устанавливая его значение в 3 – fmTextAlignRight. Цвет надписей меняется свойством ForeColor. После создается еще один объект класса «Надпись» и изменяют ему свойство SpecialEffect на значение 2 – fmSpecialEffectSunken. Данный объект можно скопировать (так же как Вы копируете текст в Word). Нажимаете один раз на объекте левой кнопкой мыши (если он не выделен), затем клавиши Ctrl+Insert, а после Shift+Insert. Этот объект будет содержать значение, получаемое при расчете с помощью программы. При необходимости меняют цвет шрифта (свойство ForeColor) и фона (свойство BackColor). Аналогично создаются заготовки в виде объектов класса «Рамка» для информации об успеваемости студентов и стипендиальном фонде. Для информации об успевающих студентах создается только рамка. В объекте класса «Рамка» с заголовком "Стипендия" присутствует три объекта класса «Счетчик». Значения свойств Max, Min, Value первого объекта установлены в 120, 60, 80 соответственно. Второго объекта в 180, 120, 120, а третьего в 320, 180, 250. Первое значение указывает потолок стипендии: минимальной – для первого объекта, повышенной – для второго и именной – для третьего объекта. Второе значение указывает минимум тех же стипендий. А третье значение указывает на текущий размер этих стипендий (должно лежать в пределах первого и второго). С помощью данных объектов пользователь сможет изменять размер стипендий и получать суммы стипендиального фонда. Кроме того, эти объекты имеют особенные свойства ControlTipText – пояснительный текст к объекту, который выводится на желтом фоне, когда указатель мыши находится некоторое время на объекте. Данное свойство изменено так же у объектов класса «Надпись» стоящих рядом с объектами класса «Счетчик». Внимательно посмотрите на эти свойства. 123
И, наконец, последний объект класса «Рамка» содержит объект класса «Список». Данный объект также имеет особенное свойство ControlTipText, которое поясняет назначение объекта. После создания всех этих объектов приступают к написанию программы. Переход в режим написания программы осуществляется либо двойным нажатием левой кнопки мыши на объекте класса UserForm (но не другом объекте, который содержит UserForm), либо нажатием кнопки программа в окне проекта (вызывается либо через меню «Вид» командой «Окно проекта», либо клавишами Ctrl+R). Вызвать режим написания программы можно через контекстное меню (вызывается правой кнопкой мыши) командой «Программа» на объекте класса UserForm. Появится окно модуля, вверху которого есть два выпадающих списка. Левый список содержит названия всех доступных интерфейсных объектов, а правый все доступные события для каждого из объектов. Для написания программы, которая будет выполняться при появлении окна на экране (а нам нужна именно такая программа, когда мы нажимаем на кнопку, расположенную на листе, должно появляться окно с рассчитанными значениями) необходимо в левом списке выбрать объект «UserForm1», а в правом событие «Initialize», которое возникает при появлении окна на экране. Появится "заготовка" для процедуры: Private Sub UserForm_Initialize() End Sub Далее нужно написать программу. Текст программы с комментариями приведен ниже (записаны после знака «'»). Все, что заключено в рамки в реальной программе отсутствует – это дополнительные объяснения. Dim Obj As Object
' Вспомогательная переменная
Здесь объявляется новый для Вас тип переменной – Object. Переменная данного типа может содержать любой объект, который имеется в книге. В программе данная переменная будет содержать ячейку таблицы. Dim i As Integer
' Вспомогательная переменная
Данная переменная будет использоваться в качестве цикловой переменной Dim Count_Of_Note As Integer ' Число оценок Dim Count2 As Integer ' Число двоек 124
Dim Count3 As Integer Dim Count4 As Integer Dim Count5 As Integer
' Число троек ' Число четверок ' Число пятерок
Объявляются переменные, которые будут содержать общее число оценок, число двоек, троек, четверок, пятерок. ' Выводим начальный размер минимальной стипендии Label40.Caption = SpinButton1.Value ' Выводим начальный размер повышенной стипендии Label41.Caption = SpinButton2.Value ' Выводим начальный размер именной стипендии Label42.Caption = SpinButton3.Value Выводим значения объектов класса «Счетчик» на экран. Данные значения будут содержать объекты класса «Надпись», расположенные рядом. Обратите внимание на то, как осуществляется доступ к свойствам объекта. Он производится через точку. Несмотря на то, что свойство Value является числом, а Caption текстом, преобразование типов данных не нужно. Откуда взять название объектов класса «Надпись» – из окна свойств, там необходимо посмотреть главное свойство любого объекта – Name. ' Обнуляем количество оценок Count2 = 0: Count3 = 0: Count4 = 0: Count5 = 0 Count_Of_Note = 0 ' Обнуляем количество студентов Student2 = 0: Student3 = 0: Student4 = 0: Student5 = 0 ' Просмотрим каждую ячейку в диапазоне двоек For Each Obj In Worksheets("Сессия").Range("ao17:ao316") Count2 = Count2 + Obj.Value ' Суммируем число двоек ' Считаем двоечников If Obj.Value > 0 Then Student2 = Student2 + 1 End If Next Obj Код участка программы можно выразить следующей блок-схемой (рис. 84). 125
Для каждой ячейки на листе "Сессия" в диапазоне от AO17 до AO316
Число двоек = Числу двоек + значение текущей ячейки
Нет
Значение ячейки больше нуля?
Да Число двоечников = Числу двоечников + 1
Рис. 84. Блок-схема участка программы.
Здесь перебираются все ячейки в диапазоне от AO17 до AO316 на листе с названием "Сессия", что является диапазоном количества двоек у каждого студента. За перебор отвечает цикл For Each .. In … Next. Переменная Count2, содержащая количество двоек наращивается на величину Obj.Value, которая содержит значение ячейки (числовое или текстовое). Если попадется текст в этом диапазоне, то возникнет ошибка несоответствия типа (пытаемся числовой переменной прибавить текст). В этом же цикле удобно подсчитать количество двоечников. Если у ячейки значение Value не равно нулю, значит студент двоечник. Конечно, если в таблице окажется случайно число 123 (а предметов всего 12), то программа это не учтет. Для этого надо добавить в условие сравнение Obj.Value < 13. Если значение ячейки не равно нулю, то необходимо увеличить переменную Student2 (количество двоечников) на единицу. Кроме того, данный код зависит от формул на листе, так как не считает число двоек у каждого студента, а использует уже подсчитанные значения и суммирует их. ' Просмотрим каждую ячейку в диапазоне троек For Each Obj In Worksheets("Сессия").Range("ap17:ap316") Count3 = Count3 + Obj.Value ' Суммируем число троек Next Obj ' Просмотрим каждую ячейку в диапазоне четверок For Each Obj In Worksheets("Сессия").Range("aq17:aq316") Count4 = Count4 + Obj.Value ' Суммируем число четверок Next Obj 126
' Просмотрим каждую ячейку в диапазоне пятерок For Each Obj In Worksheets("Сессия").Range("ar17:ar316") Count5 = Count5 + Obj.Value ' Суммируем число пятерок ' Считаем отличников If Obj.Value = 12 Then Student5 = Student5 + 1 End If Next Obj Число отличников можно найти как сумму студентов имеющих число пятерок равное количеству предметов (в нашем случае 12). Число троечников определяется сложнее, так как у "потенциального" троечника (число троек не равно нулю) могут быть двойки. Число хорошистов тоже определяется сложнее по той же причине. ' Число оценок равно сумме 2,3,4,5 Count_Of_Note = Count2 + Count3 + Count4 + Count5 Label13.Caption = Count_Of_Note ' Выводим на экран число оценок Label14.Caption = Count2 ' Выводим количество двоек Label15.Caption = Count3 ' Выводим количество троек Label16.Caption = Count4 ' Выводим количество четверок Label17.Caption = Count5 ' Выводим количество пятерок ' Вычисление процентов ' Процент двоек Label18.Caption = Format(Count2 / Count_Of_Note, "0.00%") Функция Format осуществляет преобразование числа в определенный формат. В данном случае функция Format преобразует число к процентному формату (умножает на 100) с двумя знаками после запятой – "0.00%"). ' Процент троек Label19.Caption = Format(Count3 / Count_Of_Note, "0.00%") ' Процент четверок Label20.Caption = Format(Count4 / Count_Of_Note, "0.00%") ' Процент пятерок Label21.Caption = Format(Count5 / Count_Of_Note, "0.00%") ' Просмотрим каждую ячейку в диапазоне оценок For i = 17 To 316 ' Считаем троечников If Worksheets("Сессия").Range("ao" + Trim(Str(i))) = 0 And _ 127
Worksheets("Сессия").Range("ap" + Trim(Str(i))) > 0 Then Student3 = Student3 + 1 End If ' Считаем хорошистов If Worksheets("Сессия").Range("ao" + Trim(Str(i))) = 0 And _ Worksheets("Сессия").Range("ap" + Trim(Str(i))) = 0 And _ Worksheets("Сессия").Range("aq" + Trim(Str(i))) > 0 Then Student4 = Student4 + 1 End If ' Заносим успевающих студентов в список If Worksheets("Сессия").Range("ao" + Trim(Str(i))) = 0 Then ListBox1.AddItem (Worksheets("Сессия"). Range("aa" + + Trim(Str(i))). Value & " – " & _ Worksheets("Сессия"). Range("an" + Trim(Str(i))).Value) End If Next i Знак подчеркивания ( _ ) означает, что строка программы продолжается на следующей физической строке. Подсчет троечников осуществляется так: если у студента количество двоек равно 0 и количество троек больше нуля, то он – троечник. Аналогично делается вывод по хорошистам. Интересным является способ создания списка успевающих студентов. Объект класса «Список» имеет метод AddItem. Данный метод добавляет одну строку в список. Строка должна представлять собой текст. В нашем случае текст составляется из фамилии (берется значение ячейки из столбца AA, и добавляется к нему через знак минуса (с помощью знаков &, которые соединяют текстовые строки) значение среднего балла (столбец AN)). Обратите внимание на формирование адреса ячейки: "aa" + Trim(Str(i)). Функция Str переводит числовое значение в строку текста (например, число 234 переводит в "234"), а функция Trim обрезает пробелы в начале и в конце строковой переменной (например, строку " 34е " преобразует в "34е"). Итак, поскольку адрес ячейки представляет собой текст, состоящий из названия столбца и номера строки, то для его формирования мы к названию столбца – AA (мы его знаем заранее) нужно добавить в виде текста номер строки (номера меняются в теле цикла). Поскольку у нас имеется номер строки в виде числа (значение переменной i), то нужно преобразовать его в текст. Функция Str переводит число в текст, однако, она добавляет в начале пробел (если число положительное) или минус (если число отрицательное). У нас число положительное, но пробел в имени ячейки недопустим, поэтому используется функция Trim. 128
' Всего студентов – вычисляется как сумма студентов всех категорий Students = Student2 + Student3 + Student4 + Student5 Label22.Caption = Students Label26.Caption = Student2 Label25.Caption = Student3 Label24.Caption = Student4 Label23.Caption = Student5
' Выводим на экран число студентов ' Выводим количество двоечников ' Выводим количество троечников ' Выводим количество хорошистов ' Выводим количество отличников
' Выводим на экран процент Label30.Caption = Format(Student2 / Students, "0.00%") Label29.Caption = Format(Student3 / Students, "0.00%") Label28.Caption = Format(Student4 / Students, "0.00%") Label27.Caption = Format(Student5 / Students, "0.00%") ' Подсчитываем суммы стипендий Label37.Caption = Student3 * SpinButton1.Value ' Минимальной Label38.Caption = Student4 * SpinButton2.Value ' Повышенной Label39.Caption = Student5 * SpinButton3.Value ' Именной Сумма стипендий равна произведению числа студентов, получающих эту стипендию, на размер одной стипендии. Объекты класса «Счетчик» содержат размер одной стипендии для каждой категории студентов. ' Стипендиальный фонд Label32.Caption = Student5 * SpinButton3.Value + Student4 * SpinButton2.Value + Student3 * SpinButton1.Value Выход обратно из модуля к виду объекта класса UserForm можно в окне проекта, либо выполнить, нажав мышью кнопку «Объект» дважды нажав мышью на самом объекте UserForm. После записи этой программы необходимо еще заставить программу реагировать на нажатия пользователя на счетчики. Для этого нажмите два раза кнопкой мыши на первом объекте класса «Счетчик». Вы увидите новую "заготовку" под процедуру: Private Sub SpinButton1_Change() End Sub Данная процедура будет обрабатывать событие «Change», которое возникает при изменении значения счетчика пользователем (во время работы программы). Необходимо написать следующий код в "заготовке": ' Выводим измененный размер минимальной стипендии Label40.Caption = SpinButton1.Value ' Сумма стипендий 129
Label37.Caption = Student3 * SpinButton1.Value ' Минимальной ' Стипендиальный фонд Label32.Caption = Student5 * SpinButton3. Value + Student4 * SpinButton2. Value + Student3 * SpinButton1.Value Данный код позволит обновить значения (текст) трех объектов, которые содержат: размер минимальной стипендии; стипендиальный фонд для троечников; стипендиальный фонд всех стипендий. Обратите внимание, что при вычислении общего фонда используются переменные, хранящие число студентов определенных категорий. Имейте в виду, что до использования этих переменных, они должны быть определены (рассчитываются при появлении окна). Кроме того, эти переменные определены вне какой-либо процедуры (посмотрите в программе). Они доступны всем процедурам, которые располагаются в этом модуле. Данный код с небольшими изменениями в названиях объектов и меняемых значениях необходимо также написать для других объектов класса «Счетчик». Осталось самое малое – запустить программу. Нажмите кнопку F5 на панели инструменили кнопку «Запуск программы/UserForm» тов. Через небольшое время Вы увидите результат. Можно закрыть редактор Visual Basic (клавиши Alt+Q или через меню «Файл» командой «Закрыть и вернуться в Microsoft Excel»). Теперь, при каждом нажатии на созданную нами кнопку будет выполняться наша программа, и появляться наше окно. Если необходимо изменить свойства кнопки, то нужно войти в рена панели жим конструктора, нажав кнопку «Режим конструктора» инструментов «Visual Basic”. Выход осуществляется также.
Задание № 33. Внимательно изучите весь программный код. Попробуйте сами себе объяснить назначение каждой строчки программы. Изучите свойства объекта. Мысленно повторите процедуру создания программы. Если программа в Вашей заготовке отсутствует, то создайте ее.
130
8.3. Применение полученных знаний для решения однотипных задач 8.3.1. Задача обработки информации об измерениях температуры Пусть имеются данные о результатах измерений температуры с 1960 по 1989 год. Температура измерялась в градусах Цельсия десять раз в году в определенные дни. Требуется: • Произвести расчет максимального, минимального и среднего значений за весь период наблюдений, и для каждого года отдельно, с округлением результата до двух знаков. Построить график отображающий динамику среднего, максимального и минимального значений по годам. • Упорядочить наблюдения по возрастанию и по убыванию, разместить упорядоченные значения в два столбца справа от заданного ряда наблюдений. • Рассчитать средние значения температуры для каждого дня, в которые производились измерения (округленные до двух знаков после запятой). • Рассчитать первые 5 наибольших значений и последние 5 наименьших значений температуры за весь срок наблюдений. • Рассчитать число дней (и процент их в общем числе дней) за срок наблюдений, в которых температура была: 9 не выше 15 °С; 9 не выше 20 °С; 9 не выше 25 °С; 9 не выше 30 °С; 9 не выше 35 °С; 9 выше 35 °С; 9 выше 15 °С и ниже 20 °С; 9 выше 20 °С и ниже 25 °С; 9 выше 25 °С и ниже 30 °С; 9 выше 30 °С и ниже 35 °С. Построить диаграмму, отображающую число дней в каждом интервале температуры. • Составить таблицу значений температур 1-го, 2-го, ... ,10-го дня. Рассчитать для них среднее, максимальное и минимальное значения. • Выделить условным форматированием первый день каждого года.
131
• Составить программу, рассчитывающую среднее, максимальное, минимальное значения за весь период наблюдения и за каждый день на протяжении периода наблюдений. 8.3.2. Некоторые особенности решения задачи обработки температур Поставленная задача почти полностью решена. Ниже будут описаны некоторые шаги решения этапов задачи.
Задание № 34. Внимательно изучите весь лист "Температура". Обратите внимание на функции, используемые для решения задачи. Ниже будет пояснена некоторая часть формул используемых на этом листе. Особое внимание обратите на программный код. Попробуйте сами себе объяснить назначение каждой строчки программы. 8.3.3. Нахождение максимального, минимального и среднего значения Нахождение максимального значения производится с помощью функции МАКС с указанием диапазона поиска. Нахождение минимального значения производится с помощью функции МИН, среднее значение с помощью функции СРЗНАЧ. Число значений находится путем определения числа строк в диапазоне с данными. Округление значения среднего производится функцией ОКРУГЛ. Формулы для нахождения максимального, минимального и среднего значения за весь период наблюдения находятся на листе "Температура", в ячейках: • AH20 (число значений): =ЧСТРОК(AC21:AC320); • AH21 (максимальное значение): =МАКС(AC21:AC320); • AH22 (минимальное значение): =МИН(AC21:AC320); • AH23 (среднее значение): =ОКРУГЛ(СРЗНАЧ(AC21:AC320);2). Среднее, максимальное и минимальное значения для каждого года в отдельности находятся с помощью этих же функций (задание не выполнено на листе).
Задание № 35. Рассчитайте среднее, максимальное и минимальное значение для каждого года. Постройте график отражающий динамику рассчитанных значений по годам. Учтите, что записать книгу в Excel Вы сможете только на собственную дискету или в свой каталог в сети (сохранение файла понадобится, так как задание Вы будете выполнять несколько дней). Вы можете сохранить книгу Excel на дискету с новым именем. Затем открывайте два файла – один с оригинальной версией работы, а другой собственный – с дискеты. 132
8.3.4. Упорядочивание данных Часто необходимо произвести сортировку данных. Для этого можно использовать следующие шаги: 1. Скопировать данные (если не нужно сортировать начальные данные, а в нашем случае это выполнять не нужно, так как начальные данные расположены по годам) в новую область. На листе "Температура" столбцы (AD, AE) с дублированными данными выделены голубым цветом. Операцию копирования можно произвести так: встать на ячейку AC21 и удерживая клавиши Ctrl и Shift, нажать клавишу со стрелкой вниз (быстрое выделение области), затем нажать клавиши Ctrl+Insert (запоминание выделенного диапазона ячеек), после перейти на ячейку AD21 и нажать Shift+Insert (копирование ячеек из буфера в таблицу). Эти же операции можно произвести с помощью мыши (выделение диапазона) и через меню «Правка» с помощью команд «Копировать» (запоминание выделенного диапазона ячеек) и «Вставить» (копирование ячеек из буфера в таблицу). 2. Выделить сортируемый диапазон ячеек, операция выделения описана выше. 3. Отсортировать ячейки. В нашем случае необходимо нажать на панели инструментов «Стандартная» кнопку «Сортировка по возраста(сортировка выбранных элементов в порядке от начала алфавита нию» к его концу, от меньших чисел к большим и от более ранних дат к более поздним по столбцу, в котором находится курсор). Или (для второго столбца с дублированными данными – AE) «Сортировка по убыванию» (противоположный порядок), в зависимости от необходимой операции. Ячейки можно сортировать по значениям ячеек одного или нескольких столбцов. Строки, столбцы или отдельные ячейки в процессе сортировки переупорядочиваются в соответствии с заданным пользователем порядком сортировки (способ изменения относительного положения данных, основанный на значении или типе данных; данные можно сортировать по алфавиту, по числу или по дате). Ячейки можно сортировать в возрастающем (от 1 до 9, от А до Я) или убывающем (от 9 до 1, от Я до А) порядке. По умолчанию ячейки сортируются в алфавитном порядке. Для сортировки месяцев и дней недели в соответствии с их логическим, а не алфавитным порядком следует использовать пользовательский порядок сортировки (неалфавитный и нечисловой порядок сортировки, например: воскресенье, понедельник, вторник; или – водород, кислород, железо). В Microsoft Excel определено несколько порядков сортировки, а с помощью вкладки «Списки» диалогового окна «Параметры» (меню «Сервис») можно определить свой собственный порядок сортировки. Такой порядок 133
сортировки также используется, если требуется отсортировать список в другом, особом порядке. Например, если в одном из столбцов списка содержатся значения «Низкий», «Средний» или «Высокий», можно создать такой порядок сортировки, что строки, содержащие «Низкий», будут первыми, «Средний» – следующими и «Высокий» – последними. Третий шаг можно выполнять через меню «Данные» командой «Сортировка». В диалоговом окне «Сортировка диапазона», вызываемого с помощью этой команды можно задать сортировку по двум (и даже трем) столбцам. Это нужно когда сортируешь список людей (сначала по фамилии, затем по имени, а после по отчеству). В этом же окне с помощью кнопки «Параметры» можно задать пользовательский порядок сортировки. 8.3.5. Расчет средних значений для каждого дня Выполняя задание №35, Вы, наверное, указывали диапазон значений каждого года, отыскивая адреса в таблице. Следующее выполнение задания подскажет Вам более эффективный способ (но более сложный для понимания). В Excel (не в Visual Basic) есть понятие массива и формула массива. В общем-то, массивом в Excel называют группу ячеек, отличающуюся от диапазона характером ссылок на нее в формулах. Обычно формула при обработке нескольких аргументов (значения функции, используемые для вычислений) возвращает одно значение; в качестве аргумента формулы может при этом выступать либо ссылка на ячейку, содержащую значение, либо само значение. Для создания ссылки на диапазон ячеек используется формула массива, позволяющая ввести в одну ячейку массив значений. Этот массив значений называется массивом констант; удобен он тем, что при этом не требуется заполнять значениями вспомогательные ячейки. Формула массива может выполнить несколько вычислений, а затем вернуть одно значение или группу значений. Формула массива воздействует на несколько наборов значений, называемых аргументами массива. Каждый аргумент массива должен иметь соответствующий номер строки и столбца. Формула массива создается так же, как и простая формула. Выделяется ячейка или группа ячеек, в которых необходимо создать формулу, вводится формула, а затем нажимаются клавиши Ctrl + Shift + Enter. Если необходимо вычислить одно значение, Microsoft Excel может понадобиться выполнить несколько действий для возврата такого значения. Например, следующая формула (вводится с помощью клавиш Ctrl + Shift + Enter) вычисляет среднее значение только тех ячеек, принадлежащих диапазону D5:D15, которым в столбце А поставлена в соответствие строка «авиалиния Небеса». Функция ЕСЛИ находит ячейки в диапазоне 134
A5:A15, содержащие строку «авиалиния Небеса», и возвращает значения, соответствующие этой строке в диапазоне D5:D15, функции СРЗНАЧ. {=СРЗНАЧ(ЕСЛИ(A5:A15="авиалиния Небеса",D5:D15))} Для вычисления нескольких значений в формуле массива, необходимо ввести массив в диапазон ячеек, имеющих соответствующее число строк или столбцов, как аргументы массива. Кроме того, формулу массива можно использовать для вычисления одного или нескольких значений для последовательности, которая не указана на листе. В формулу массива можно включать константы так же, как это делается в простой формуле, но массив констант должен вводиться в определенном формате. В нашей задаче в ячейках с AH27 по AH36 расположены формулы, вычисляющие средний балл для каждого из десяти дней на протяжении всех лет. Формула имеет вид: {=ОКРУГЛ(СРЗНАЧ(ЕСЛИ($AB$21:$AB$320=AG27; $AC$21:$AC$320));2)} Фигурные скобки {} у формулы означают, что это формула массива. Они появляются после нажатия Ctrl + Shift + Enter, исчезают при начале редактирования формулы. Внимание! Редактирование и ввод формулы массива всегда должен заканчиваться нажатием клавиш Ctrl + Shift + Enter. Функции, используемые в формуле Вам знакомы. Как же работает эта формула? В функции ЕСЛИ задан диапазон проверяемых ячеек – AB21:AB320 (с абсолютной адресацией, чтобы не изменялся). Если значение ячейки из этого диапазона (номер дня) равно значению ячейки AG27 (содержит номер дня, для которого находим среднее), то возвращается значение соответствующей ячейки из диапазона AC21:AC320. Затем для всех найденных ячеек (удовлетворяющих условию) определяется среднее значение, которое после округляют до двух знаков после запятой. Например, ячейка AG27 содержит значение один. Тогда функция ЕСЛИ проверит из диапазона AB21:AB320 все ячейки, и сравнение условия в функции будет равно значению ИСТИНА для ячеек AB21, AB31, AB41, … (они содержат тоже значение равное единице). Поэтому функция ЕСЛИ выберет из диапазона AC21:AC320 соответствующие ячейки – AC21, AC31, AC41, … и возвратит их значения для функции СРЗНАЧ, которая найдет их среднее значение. Для остальных ячеек функция ЕСЛИ не возвратит никакого значения.
135
8.3.6. Расчет первых пяти наибольших и последних пяти наименьших значений Расчет построен на двух функциях: НАИБОЛЬШИЙ и НАИМЕНЬШИЙ. Функция НАИБОЛЬШИЙ (диапазон, k) возвращает k-ое наибольшее значение из множества данных, определенных диапазоном. Эта функция используется, чтобы выбрать значение по его относительному местоположению. Например, функцию НАИБОЛЬШИЙ можно использовать, чтобы определить наилучший, второй или третий результат в баллах, показанный при тестировании. Замечания. 1. Если массив пуст, то функция НАИБОЛЬШИЙ возвращает значение ошибки #ЧИСЛО!. 2. Если k ≤ 0 или если k больше, чем число точек данных, то функция НАИБОЛЬШИЙ возвращает значение ошибки #ЧИСЛО!.
Аналогичные аргументы и замечания имеет функция НАИМЕНЬШИЙ, только возвращает наименьшее k-ое значение из диапазона данных. Пример формул, используемых на листе "Температура": =НАИБОЛЬШИЙ($AC$21:$AC$320;AJ21), =НАИМЕНЬШИЙ($AC$21:$AC$320;AJ31). Формулы содержат не конкретное значение параметра k, а ссылку на ячейку, содержащую необходимое значение. Это удобно, так как позволяет найти 7, 2, 15 (любое допустимое) наибольшее или наименьшее значения. 8.3.7. Расчет числа дней, в которых температура была в одном из диапазонов Расчет основан на одной функции СЧЁТЕСЛИ. Она уже Вам знакома. В качестве критерия на листе "Температура" задается ссылка на ячейку, в которой в виде текста находится условие. В ячейке AH42 находится следующая формула: =СЧЁТЕСЛИ($AC$21:$AC$320;AG42) В указанном диапазоне ячеек (где находятся начальные данные) подсчитывается число ячеек, удовлетворяющих условию, находящемуся в ячейке AG42. В нашем случае, там расположен текст "<=30". Поэтому функция возвратит число ячеек, которые содержат значения меньше, либо равные 30. Чтобы подсчитать, сколько дней температура была, скажем больше 25 °С и меньше 30 °С, необходимо подсчитать число дней, в которых температура была меньше 25 °С и число дней, в которых температура была меньше 30 °С. Затем вычесть из второго числа первое. 136
8.3.8. Составление таблицы температур Подсчет средней температуры для каждого дня мы осуществляли с помощью формул массива. Однако когда требуется иметь таблицу значений для каждого дня, этот способ неудобен. Имеется другой не менее интересный способ выбора необходимых данных из всего объема. Справа от начальных данных находится большая область (часть ее заполнена), выделенная желтым фоном. В ней чередуются колонки с номерами дней и ссылками. В столбцах с названием "Ссылка" находится текст, который содержит адреса ячеек, содержащих температуру в день который написан в заголовке в колонке слева. Как вычислить адреса ячеек? Посмотрите на начальные данные. У них есть закономерность, через каждые десять строк расположены ячейки, содержащие температуру в один и тот же день, но в разные года. Если последовательно записать их в столбец, то получим температуру одного дня в разные года. Но не нужно вписывать их вручную – вспомните процедуру автозаполнения. Достаточно написать первые два значения, скажем для третьего столбца "Ссылка" это будет AC23, AC33. Затем выделить все ячейки в этом столбце, начиная с ячейки после заголовка столбца "Ссылка" (в нашем случае – AR23) до ячейки AR52 (количество ячеек равно числу лет наблюдений – 30). После этого нужно выполнить из меню «Правка» команду «Заполнить/Прогрессия» и указать «Тип» как автозаполнение. Excel автоматически заполнит все ячейки нужными значениями (буквы в названии ячеек – AC, останутся, а цифры изменятся с шагом десять – столько измерений у нас в году). Теперь используя функцию ДВССЫЛ можно получить необходимые значения. Для этого в столбце слева от ссылок (с заголовком номера дня) необходимо написать формулу: =ДВССЫЛ(х) х представляет собой имя ячейки, содержащей имя другой ячейки (с данными температуры какого-то дня). Т. е. в нашем случае ячейка AO23 содержит следующую формулу: =ДВССЫЛ(AP23) Microsoft Excel возьмет значение ячейки AP23 (оно равно AC22) и возвратит значение ячейки по этому адресу (значение ячейки AC22 равно 18.61).
Задание № 36. Заполните область до конца и рассчитайте среднее, максимальное и минимальное значения для каждого дня (по аналогии с рассчитанными значениями). Учтите, что записать книгу в Excel Вы сможете только на собственную дискету.
137
8.3.9. Условное форматирование и автофильтр Шаги для выполнения условного форматирования были описаны выше. Единственная подсказка – условное форматирование выполняется по формуле: =$AB21=1. Выделяться будут строки, у которых в столбце AB (имеет абсолютную адресацию) в ячейках значения равны единице, т. е. номеру первого дня. Вы, наверное, обратили внимание, что у некоторых ячеек имеются кнопки, вызывающие список значений (рис. 85). Это образуется не с помощью элементов интерфейса, а с помощью автофильтра. Для его установления используют команду «Фильтр/Автофильтр» из меню Рис. 85. Ячейки с кнопками. «Данные». Он устанавливается на все выделенные ячейки в строке и смежные с ними ячейки с данными. Снятие автофильтра производится той же командой. Так, после столбца с температурой, отсортированной в порядке убывания, на листе пустой столбец. Если бы он имел значения, то автофильтр был бы установлен и на него (даже если его не выделить). Выбор одного из значений приводит к отображению только тех строк, которые в данном столбце содержат выбранное значение. 8.3.10. Составление программы Начало
Max = A(1) Number = 1
I = 2, N, 1
Нет
A(i)>Max Да Max = A(i) Number = i
Конец
Рис. 86. Блок-схема алгоритма поиска максимума.
В программе используется типовой алгоритм поиска максимума, минимума. Блок-схема алгоритма поиска максимума имеет вид (рис. 86). Отличием программы от этой блок-схемы является то, что цикл начинается с первого элемента (с первой ячейки), так как цикл предназначен для вычисления еще нескольких параметров. Программа достаточно простая и Вы с ней легко разберетесь. В главном цикле перебираются все ячейки с данными и накапливаются суммы температур (для вычисления среднего) за каждый день (первая колонка StDay(i, 1)). Кроме того, вычисляются максимальные (вторая колонка StDay(i, 2)) и минимальные (третья колонка StDay(i, 3)) значения за каждый день. В цикле использован интересный прием. Как узнать какой день обрабатывается? Для этого необходим счетчик – переменная Count, которая содержит номер дня, к которому относится текущее зна138
чение переменной Obj (текущая ячейка). Как только день обработан, переменная Count наращивает значение на единицу, а если это был последний день (т. е. Count стала равна 11 после добавления единицы), то переменную Count снова делают равной 1. Рассмотрим участок, где формируется список дней. For i = 1 To 10 ' Для получения среднего необходимо разделить сумму на ' число лет наблюдения ' Заносим данные в список ListBox1.AddItem "День " & i & ": " ' Первая колонка с названием дня Для добавления новой строки в список используется метод AddItem (он позволяет занести данные в первую колонку списка, если их несколько). Объект ListBox1 имеет свойство ColumnCount равное четырем, а свойство ColumnWidth равное 49.95 пт; 35 пт; 35 пт; 35 пт (при задании свойства можно просто перечислять цифры через точку с запятой без букв "пт" – пункт). Первое свойство задает число колонок, а второе свойство их ширину (поэтому чисел четыре). Далее с помощью свойства List задаются значения еще трех колонок первой строки. ' Вторая колонка со средним значением ListBox1.List(i – 1, 1) = Format(StDay(i, 1) / 30, "0.00") Обратите внимание, что счет строк в объекте класса «Список» начинается с нуля, поэтому указывается номер строки как i –1. Следующий параметр отражает номер колонки – 1 (счет тоже начинается с нуля). Sum = Sum + StDay(i, 1) / 30 ' накапливаем сумму средних значений ' Третья колонка с максимальным значением ListBox1.List(i – 1, 2) = StDay(i, 2) ' Ищем максимальное значение If Max < StDay(i, 2) Then Max = StDay(i, 2) End If ' Четвертая колонка с минимальным значением ListBox1.List(i – 1, 3) = StDay(i, 3) ' Ищем минимальное значение If Min > StDay(i, 3) Then 139
Min = StDay(i, 3) End If Next i 8.4. Задача на самостоятельное решение Имеются данные о продажах определенных типов автомобилей, производимых разными странами, за первое полугодие по месяцам. Требуется: • Рассчитать показатели, характеризующие продажу автомобилей (количество проданных автомобилей каждого типа за 1, 2 кварталы и за полугодие в целом, а также сумму продаж за каждый месяц, квартал и полугодие) (см. таблицу, подлежащие заполнению клетки выделены желтым фоном, итоги – в последней строке таблицы). Отформатируйте клетки с объемом выручки в числовой формат с 2-мя знаками после запятой. • Выделите контрастным форматированием (условное форматирование) автомашины производства России. • Установите автофильтр для выделения сведений об автомашинах отдельных марок. • Ниже таблицы разместите результаты расчета статистики. Количество проданных автомобилей по странам-производителям, наиболее популярные автомобили (первые пять) – их тип и число. • Постройте диаграмму, отражающую продажи автомобилей по странам. • Определите процент автомобилей "Жигули" (всех моделей) в общем количестве проданных автомобилей за первый квартал, и в количестве проданных автомобилей по России. • Составить программу отображения информации о продаже автомобилей по странам (количество и объем продаж в рублях), информации о наиболее продаваемых автомобилях (первые пять) и выбора типа автомобиля в зависимости от имеющейся суммы. Пользователю предоставить возможность изменения суммы (с помощью объекта класса «Счетчик») и выводить список автомобилей, которые можно купить на эту сумму (название и цена). Подсказка: метод Clear очищает объект класса «Список» (удаляет из него все строчки). 8.5. Самоконтроль В результате изучения главы 8 Вы должны освоить: 1. Принципы и методы обработки информации (сортировку данных, поиск данных, вычисление среднего значения, максимального зна140
чения, минимального значения, вычисление процентов, выделение категорий данных); 2. Работу с функциями Excel позволяющими осуществлять обработку информации; 3. Работу с массивами в Excel; 4. Построение графиков отображающих информацию в наиболее наглядном виде; 5. Создание простейших программ по выводу статистической информации. Вы должны знать: 1. Процедуры обработки информации (подсчет среднего балла, нахождение минимального и максимального значений, сортировку данных, вычисление процентов и условного форматирования, выделение категорий данных, поиск данных); 2. Процедуру создания графиков, их типы и назначение; 3. Процесс создания программ, отображающих информацию, используемые интерфейсные объекты, методы, свойства, события. 8.5.1. Контрольные вопросы 1. Что такое примечание? 2. Как создать примечание? 3. Как изменить примечание? 4. Как удалить примечание? 5. Можно ли использовать функции форматирования (жирный шрифт, размер, цвет) по отношению к примечанию? 6. Как округлить число с помощью функции Excel? 7. Как установить процентный формат ячеек в Excel? 8. Как вычислить среднее значение с помощью функции Excel? 9. Можно ли вычислить среднее значение, не используя функцию СРЗНАЧ? 10. Что находит функция СЧЁТЕСЛИ? Приведите пример применения функции. 11. Как подсчитать число строк и столбцов в диапазоне? 12. Как выделяют категорию данных? Опишите процесс выделения необходимых данных. 13. Приведите несколько примеров применения функции ЕСЛИ? 14. Может ли функция ЕСЛИ быть вложенной в другую функцию? 15. Как определить стипендию студента? 16. Что такое абсолютная ссылка? 17. Что такое относительная ссылка? 18. Что такое диапазон ячеек? 141
19. Что вычисляет функция СУММЕСЛИ? Приведите пример. 20. Как вычисляются проценты? 21. Всегда ли сумма процентов отдельных категорий будет равна 100%? Как можно избежать этого? 22. Может ли сумма процентов при округлении начальных значений быть больше 100%. 23. Как найти максимальное значение в диапазоне ячеек? 24. Что вычисляет функция ПОИСКПОЗ? 25. Какие типы сопоставления есть у функции ПОИСКПОЗ? 26. Что выполняет функция ТЕКСТ? 27. Объясните, как получить название предмета с максимальным средним баллом. 28. Как выполнить условное форматирование? 29. Что такое условное форматирование? 30. Чем отличается критерий в условном форматировании: «по значению» от критерия «по формуле»? 31. Как выделить категорию двоечников с помощью условного форматирования? 32. Как выделить категорию хорошистов с помощью условного форматирования? 33. Какие классы диаграмм Вы знаете? 34. Какие типы стандартных диаграмм Вам известны? 35. Перечислите несколько нестандартных типов диаграмм (не менее пяти). 36. Опишите шаги мастера по созданию диаграмм. 37. Опишите назначение элемента управления «Кнопка» и его свойства. 38. Опишите назначение объекта класса «Рамка» и его свойства. 39. Опишите назначение объекта класса «Счетчик» и его свойства. 40. Опишите назначение объекта класса UserForm и его свойства. 41. Что выполняет метод Show? Для чего он используется в программе? 42. Что выполняет метод AddItem? Для чего он используется в программе? 43. Когда происходит событие «Click»? У какого объекта оно может возникать? Как событие обрабатывается в программе? 44. Когда происходит событие «Initialize»? У какого объекта оно может возникать? Как событие обрабатывается в программе? 45. Что вычисляет функция Format? Для чего она применяется в программе? 46. Что вычисляет функция Str? Для чего она применяется в программе? 47. Что вычисляет функция Trim? Для чего она применяется в программе? 48. Расскажите алгоритм подсчета числа двоечников. 142
49. Расскажите алгоритм подсчета числа троечников. 50. Расскажите алгоритм подсчета числа хорошистов. 51. Расскажите алгоритм подсчета числа отличников. 52. Расскажите алгоритм подсчета числа двоек. 53. Расскажите алгоритм подсчета числа троек. 54. Расскажите алгоритм подсчета числа четверок. 55. Расскажите алгоритм подсчета числа пятерок. 56. Расскажите алгоритм создания списка студентов, получающих стипендию. 57. Как произвести сортировку данных? 58. Что такое порядок сортировки? Какие Вам известны стандартные порядки сортировки. 59. Что такое пользовательский порядок сортировки? Как его создать? 60. Для чего используется пользовательский порядок сортировки? 61. Что определяет понятие массива в Excel? 62. Что такое формула массива? Для чего она используется? Приведите пример. 63. Что вычисляет функция НАИБОЛЬШИЙ? Какие у нее есть параметры? Приведите пример. 64. Что вычисляет функция НАИМЕНЬШИЙ? Какие у нее есть параметры? Приведите пример. 65. Расскажите процедуру автозаполнения. 66. Вспомните, как и когда можно использовать заполнение ячеек с помощью команд Excel. 67. Как работает функция ДВССЫЛ? Что она вычисляет? Приведите пример. 68. Что такое автофильтр? Объясните его назначение. 69. Расскажите и объясните алгоритм поиска минимума. 70. Расскажите и объясните алгоритм поиска максимума. 71. Расскажите и объясните алгоритм поиска среднего значения. 72. Можно ли найти максимальный и минимальный элементы в одном цикле и одном условии. Обоснуйте свой ответ. 73. Может ли максимальный элемент равняться минимальному элементу. Обоснуйте свой ответ. 74. Объясните, что делает метод Clear. 75. Что возвращает функция ЛЕВСИМВ. Зачем она нужна, приведите пример. 76. Что возвращает функция ИНДЕКС. Зачем она нужна, приведите пример. 77. Какие подзадачи решают при обработке информации? 143
Приложение Таблица «Сессия» Файл-заготовка содержит таблицу Excel c формулами (рис. 87).
Рис. 87. Первая часть таблицы «Сессия».
В ячейках AA18-AM317 находятся простые числа – оценки по предметам (от 2 до 5), расположенные случайным образом. В ячейках AB17AM17 находятся краткие названия предметов («П1», …, «П12») с примечаниями – полными названиями. В ячейках AK11 и AT11 хранятся размеры стипендий для отличников и успевающих студентов соответственно. Формулы в ячейках (скопировать в столбце до 317 строки): AN18:=ОКРУГЛ(СРЗНАЧ(AB18:AM18),2) AO18:=СЧЁТЕСЛИ(AB18:AM18,2) AP18:=СЧЁТЕСЛИ(AB18:AM18,3) AQ18:=СЧЁТЕСЛИ(AB18:AM18,4) AR18:=СЧЁТЕСЛИ(AB18:AM18,5) AS18:=ЕСЛИ(AO18<>0,"двоечник",ЕСЛИ(AR18=12,"отличник","")) AT18:=ЕСЛИ(AS18="двоечник","",ЕСЛИ(AS18="отличник",$AK$1 1, $AT$11)) Вторая часть таблицы содержит результаты обработки таблицы по студентам (рис. 88).
144
Рис. 88. Вторая часть таблицы «Сессия».
Формулы в ячейках: AW17:=ЧИСЛСТОЛБ(AB18:AM18)*ЧСТРОК(AB18:AB317) AW18:=СЧЁТЕСЛИ($AB$18:$AM$317,5) AW19:=СЧЁТЕСЛИ($AB$18:$AM$317,4) AW20:=СЧЁТЕСЛИ($AB$18:$AM$317,3) AW21:=СЧЁТЕСЛИ($AB$18:$AM$317,2) AW23:=ЧСТРОК(AM18:AM317) AW25:=СЧЁТЕСЛИ($AS$18:$AS$317,"отличник") AW26:=СЧЁТЕСЛИ($AS$18:$AS$317,"двоечник") AW28:=AW25/$AW$23 AW29:=AW26/$AW$23 AW31:=СУММ(AT18:AT317) AW33:=СУММЕСЛИ($AT$18:$AT$317,AT11) AW34:=СУММЕСЛИ($AT$18:$AT$317,AK11) Третья часть таблицы содержит результаты обработки таблицы по предметам (рис. 89). 145
Рис. 89. Третья часть таблицы «Сессия».
Формулы в ячейках: AW38:=СУММ(AB$17:AB$318)/ЧСТРОК($AB$18:$AB$317) – скопировать в ячейки AW39:AW49 AY38:=МАКС(AW38:AW49) AY40:="П"&ТЕКСТ(ПОИСКПОЗ(МАКС(AW38:AW49),AW38:AW4 9,0), "0") Таблица «Температура» Файл-заготовка содержит таблицу Excel c формулами (рис. 90).
Рис. 90. Первая часть таблицы «Температура»
В ячейках AA21, AA31, AA41, …, AA311 находятся года (числа) 1960, 1961, 1962, …, 1989. В ячейках AB21, …, AB320 периодически повторяются дни 1, 2, …, 10. В ячейках AC21-AC320 значения температуры 146
(дробные числа) от 10 до 40. В ячейках AD21-AD320 отсортированные по возрастанию, а в AE21-AE320 по убыванию значения температуры. Формулы в ячейках: AH20:=ЧСТРОК(AC21:AC320) AH21:=МАКС(AC21:AC320) AH22:=МИН(AC21:AC320) AH23:=ОКРУГЛ(СРЗНАЧ(AC21:AC320),2) AH27:=ОКРУГЛ(СРЗНАЧ(ЕСЛИ($AB$21:$AB$320=AG27,$AC$21: $AC$320)),2) – скопировать в столбец AH28-AH36 AK21:=НАИБОЛЬШИЙ($AC$21:$AC$320,AJ21) – скопировать в AK22-AK25 AK28:=НАИМЕНЬШИЙ($AC$21:$AC$320,AJ28) – скопировать в AK29-AK32 Результаты обработки значений температуры показаны на рис. 91.
Рис. 91. Вторая часть таблицы «Температура».
Формулы в ячейках: AH39:=СЧЁТЕСЛИ($AC$21:$AC$320,AG39) – скопировать в ячейки AH40-AH44 AH47:=AH39 AH48:=AH40-AH39 AH49:=AH41-AH40 AH50:=AH42-AH41 AH51:=AH43-AH42 AH52:=AH44 AM54:=СРЗНАЧ(AM23:AM52) 147
AM55:=МАКС(AM24:AM52) AM56:=МИН(AM23:AM52) AO54:=СРЗНАЧ(AO23:AO52) AO55:=МАКС(AO24:AO52) AO56:=МИН(AO23:AO52) В столбце перед средним, максимальным и минимальным значениям по дням находятся данные – значения температуры в этот день в разные года. Для их извлечения используется формула: AM23:=ДВССЫЛ(AN23) Эта формула скопирована в ячейки AM24-AM52. Данные для этой формулы берутся из соседнего столбца (AN23-AN52), в который они заносятся вручную. Там находятся названия ячеек ac21, ac31, …, ac311 в виде текста. Для других дней формулы идентичны. Таблица «Автомашины» Вид таблицы показан на рис. 92, 93, 94.
Рис. 92. Первая часть таблицы «Автомашины».
Рис. 93. Вторая часть таблицы «Автомашины».
148
Рис. 94. Третья часть таблицы «Автомашины».
Примечания в ячейках: AC45: Воспользуйтесь формулой массива {=сумм(если…)} для подсчета объемов продаж AM51: Используйте функцию НАИБОЛЬШИЙ( ) AN51: Используйте функции ПОИСКПОЗ( ) и ИНДЕКС(диапазон; индекс), вторая функция возвращает значение ячейки из указанного диапазона ячеек, по индексу (находится с помощью первой функции). AT45: Для выделения "Жигулей" воспользуйтесь функцией ЛЕВСИМВ(<адрес>). Эта функция возвращает левый символ строки, содержащийся в ячейке по указанному адресу (аналогично функции Left(S$,1)). Применяйте формулы массива. Вычисление процента ведите относительно ячейки AN40. AU45: Введите формулу подсчета числа российских машин проданных за 1-ое полугодие. Формула в ячейке AD57:=СУММ(AC45:AC52).
149
CПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 1. Информатика. Базовый курс / Симонович С. В. и др. – СПб: Питер, 2000. – 640 с. 2. Якубайтис Э. А. Информационные сети и системы. Справочная книга. – М.: Финансы и статистика, 1996. – 368 с. 3. Додж М., Стинсон К. Эффективная работа с Microsoft Excel 2000. Пер. с англ. – СПб: Питер, 2000. – 1056 с. 4. Язык компьютера. / Под ред. В. М. Курочкина. Пер. с англ. – М.: Мир, 1989. – 240 с. 5. Петров А. В. и др. Вычислительная техника и программирование: Курсовая работа / Петров А. В., Титов М. А., Шкатов П. Н.; Под ред. А. В. Петрова. – М.: Высш. шк., 1992. – 192 с.
150
СОДЕРЖАНИЕ ВВЕДЕНИЕ ......................................................................................................................................... 3 1. ОБЩИЕ СВЕДЕНИЯ О ТАБЛИЧНЫХ ПРОЦЕССОРАХ .................................................................. 8 1.1. Появление табличных процессоров .................................................................................. 8 1.2. Характеристики табличного процессора..................................................................... 10 2. ОСНОВНЫЕ НАВЫКИ РАБОТЫ С MICROSOFT EXCEL ............................................................. 13 2.1. Основные понятия табличного процессора.................................................................. 13 2.1.1. Именованный стиль ............................................................................................... 13 2.1.2. Нумерованный стиль ............................................................................................. 14 2.1.3. Объекты таблицы ................................................................................................... 14 2.2. Вид табличного процессора Excel .................................................................................. 15 2.3. Перемещение по таблице и выделение ячеек ................................................................ 15 2.4. Ввод данных в ячейки ....................................................................................................... 18 2.4.1. Ввод чисел............................................................................................................... 19 2.4.2. Ввод текста.............................................................................................................. 20 2.4.3. Ввод дат и времени суток...................................................................................... 20 2.5. Форматирование ячеек.................................................................................................... 21 2.6. Операции копирования, удаления, перемещения, очистки и заполнения ячеек......... 29 2.7. Операции изменения размеров строк и столбцов ........................................................ 34 2.8. Операции с файлами......................................................................................................... 36 2.9. Самоконтроль................................................................................................................... 37 2.9.1. Контрольные вопросы к главе 1 и 2 ..................................................................... 38 2.9.2. Упражнения на самостоятельную работу............................................................ 39 3. ВЫЧИСЛЕНИЯ В MICROSOFT EXCEL ........................................................................................ 40 3.1. Синтаксис формулы......................................................................................................... 40 3.1.1. Операторы в формулах .......................................................................................... 41 3.1.2. Приоритет операторов ........................................................................................... 42 3.2. Ссылки на ячейку .............................................................................................................. 43 3.2.1. Относительные и абсолютные ссылки................................................................. 44 3.3. Использование функций для вычисления значений........................................................ 47 3.3.1. Использование панели формул............................................................................. 48 3.3.2. Ввод формулы с функцией.................................................................................... 49 3.3.3. Мастер функций ..................................................................................................... 50 3.4. Группы функций ................................................................................................................ 53 3.5. Самоконтроль................................................................................................................... 55 3.5.1. Контрольные вопросы ........................................................................................... 56 3.5.2. Упражнения на самостоятельную работу............................................................ 56 4. РАБОТА С ЛИСТАМИ И ОКНАМИ ............................................................................................... 58 4.1. Выбор листов в книге....................................................................................................... 59 4.2. Изменение количества отображаемых ярлычков листов .......................................... 59 4.3. Контекстно-зависимое меню для ярлычков листов .................................................... 60 4.4. Управление видимостью листов .................................................................................... 62 4.5. Несколько окон для одного рабочего листа .................................................................. 62 4.6. Смена, сокрытие, свертывание окон............................................................................. 63 4.7. Изменение масштаба изображения .............................................................................. 64 4.8. Самоконтроль................................................................................................................... 64 4.8.1. Контрольные вопросы ........................................................................................... 65 4.8.2. Упражнения на самостоятельную работу............................................................ 65
151
5. СОЗДАНИЕ МАКРОСОВ ............................................................................................................... 66 5.1. Запись макроса ................................................................................................................. 67 5.2. Выполнение макроса......................................................................................................... 68 5.3. Назначение области графического объекта для запуска макроса ............................ 69 5.4. Назначение кнопки панели инструментов для запуска макроса ................................ 69 5.5. Удаление макроса ............................................................................................................. 71 5.6. Самоконтроль................................................................................................................... 72 5.6.1. Контрольные вопросы ........................................................................................... 72 5.6.2. Упражнения на самостоятельную работу............................................................ 73 6. ПОСТРОЕНИЕ ДИАГРАММ .......................................................................................................... 74 6.1. Шаг 1. Выбор типа диаграммы...................................................................................... 74 6.2. Шаг 2. Источник данных диаграммы ............................................................................ 83 6.3. Шаг 3. Параметры диаграммы ...................................................................................... 84 6.4. Шаг 4. Размещение диаграммы ...................................................................................... 85 6.5. Самоконтроль................................................................................................................... 85 6.5.1. Контрольные вопросы ........................................................................................... 86 6.5.2. Упражнения на самостоятельную работу............................................................ 86 7. ВВЕДЕНИЕ В VISUAL BASIC FOR APPLICATION ........................................................................ 88 7.1. Изучение свойств интерфейсного объекта UserForm ................................................ 89 7.2. Окно проекта .................................................................................................................... 92 7.3. Интерфейсные объекты ................................................................................................. 93 7.3.1. Надпись.................................................................................................................... 94 7.3.2. Поле.......................................................................................................................... 95 7.3.3. Кнопка ..................................................................................................................... 97 7.3.4. Выключатель........................................................................................................... 97 7.3.5. Флажок..................................................................................................................... 98 7.3.6. Переключатель........................................................................................................ 98 7.3.7. Список ..................................................................................................................... 98 7.3.8. Поле со списком ..................................................................................................... 99 7.3.9. Полоса прокрутки................................................................................................. 100 7.3.10. Счетчик................................................................................................................ 100 7.3.11. Рамка .................................................................................................................... 100 7.3.12. Рисунок ................................................................................................................ 101 7.4. Самоконтроль................................................................................................................. 102 7.4.1. Контрольные вопросы ......................................................................................... 102 7.4.2. Упражнения на самостоятельную работу.......................................................... 105 8. ЗАДАЧИ ОБРАБОТКИ ИНФОРМАЦИИ ...................................................................................... 106 8.1. Постановка задачи......................................................................................................... 107 8.2. Решение задачи ............................................................................................................... 108 8.2.1. Работа с примечаниями ....................................................................................... 108 8.2.2. Определение среднего балла............................................................................... 109 8.2.3. Определение количества оценок каждого вида ................................................ 110 8.2.4. Определение категории студента ....................................................................... 111 8.2.5. Определение стипендии студента ...................................................................... 113 8.2.6. Определение стипендиального фонда ............................................................... 114 8.2.7. Вычисление процентных отношений................................................................. 115 8.2.8. Вычисление среднего балла по предметам и определение максимального из них ......................................................................................................................... 115 8.2.9. Выделение категории студентов с помощью условного форматирования ... 117 8.2.10. Построение диаграммы ..................................................................................... 119
152
8.2.11. Создание программного кода............................................................................ 120 8.3. Применение полученных знаний для решения однотипных задач............................. 131 8.3.1. Задача обработки информации об измерениях температуры ......................... 131 8.3.2. Некоторые особенности решения задачи обработки температур................... 132 8.3.3. Нахождение максимального, минимального и среднего значения ................ 132 8.3.4. Упорядочивание данных ..................................................................................... 133 8.3.5. Расчет средних значений для каждого дня........................................................ 134 8.3.6. Расчет первых пяти наибольших и последних пяти наименьших значений . 136 8.3.7. Расчет числа дней, в которых температура была в одном из диапазонов ..... 136 8.3.8. Составление таблицы температур ...................................................................... 137 8.3.9. Условное форматирование и автофильтр.......................................................... 138 8.3.10. Составление программы.................................................................................... 138 8.4. Задача на самостоятельное решение.......................................................................... 140 8.5. Самоконтроль................................................................................................................. 140 8.5.1. Контрольные вопросы ......................................................................................... 141 ПРИЛОЖЕНИЕ ............................................................................................................................... 144 СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ .............................................................................. 150 СОДЕРЖАНИЕ …………………………………………………………………………………...148
153