Списки. Сначала учебного года преподаватель (или классный руководитель) начинает вести компьютерный учёт текущих оценок, получаемых студентами его группы по разным предметам. По внешнему виду это должен быть список фамилий, против которых стоят разнесённые по датам занятий отметки, а в отдельный столбец выводятся подсчитываемые по определённым формулам баллы за семестр, какими они получаются на данный момент. Отдельным предметам посвящены отдельные рабочие листы. Само собой разумеется, что таблицу нужно разлиновать, подобрать подходящие шрифты и выравнивания для её ячеек и т.п.
Для отображения даты подходящей будет ориентация текста под углом в 90 градусов, для всей третьей строки - и горизонтальное и вертикальное выравнивание по центру, а для ячейки S3 - ещё и с переносом по словам. Ширину столбцов надо подобрать так, чтобы вся таблица умещалась на одной странице, и убедиться в этом с помощью предварительного просмотра. В названии таблицы (несмотря на большую длину оно всё «прописано» в ячейке А1) использован жирный шрифт. И так далее. Все эти режимы выбираются из меню «Формат» пункт «Ячейки», хотя надо помнить, что перед вызовом любой команды мы сначала выделяем объект её применения.
При вводе номеров и дат удобно пользоваться автозаполнением. Так, вписав первую дату 2.9.99 (допустим, занятия идут парами раз в неделю), можно затем протянуть курсорную рамку за маркер заполнения правой клавишей мышки и выбрать из контекстного меню вариант «Прогрессия». Нам останется лишь указать, что прогрессия нужна арифметическая, с шагом, равным не единице, как будет предложено по умолчанию, а семёрке, и с предельным значением 27.12.99. Только столбец с 4.11.99 мы затем удалим - каникулы!
Что же касается расположения фамилий по алфавиту, то при вводе об этом можно не заботиться, и вписывать их как угодно, а по окончании - заказать «Сортировку по возрастанию» с панели инструментов, только, опять-таки, выделив сначала нужные ячейки (В4:В21). Вообще, полученный список имеет смысл запомнить на будущее, поскольку он, наверное, потребуется ещё не раз и в других таблицах, связанных с группой. Это можно сделать прямо сейчас, пока все фамилии выделены. Надо в меню «Сервис» щёлкнуть пункт «Параметры», а в нём раскрыть закладку «Списки». В дополнение к уже имеющимся четырём спискам (понедельник, вторник, январь, февраль...), мы импортируем «Новый» из выделенных ячеек. Это позволит применять и к фамилиям учеников операцию автозаполнения: вводить одну лишь первую фамилию, а дальше делать протяжку правой клавишей, подобно тому, как это было для чисел.
Наконец, рамки устанавливать лучше в самую последнюю очередь, когда уже будут вписаны формулы в столбце 8, иначе при копировании формул появятся лишние границы.
Функция СУММПРОИЗВ. Каждую неделю преподаватель должен собирать сведения о ходе учёбы и пополнять ими свою таблицу. Не дожидаясь конца семестра, когда подчас в спешке приходится выставлять итоговые баллы, он сам, да и его подопечные смогут в любой момент отслеживать состояние дел и предпринимать какие-то меры, если оно окажется вдруг неудовлетворительным.
Первым приходит в голову, в качестве способа определения итога, простое усреднение. Берутся все имеющиеся оценки, и находится их среднеарифметическое значение. При выставлении в журнал оно, естественно, будет округлено до целого - систему возьмём обычную, пятибалльную. Однако ведь есть уроки более важные, и менее важные. Не хотелось бы смешивать все в одну кучу и приписывать оценкам одинаковое влияние на результат. Чтобы избежать такого уравнивания, введём в таблицу дополнительную строку, где укажем как бы «вес» каждого занятия. Для обычных уроков пусть он будет равен единице, а для особо серьёзных - двойке. Числа не обязательно должны быть целыми, да и градаций можно ввести больше, чем две, вплоть до того, что каждому уроку дать свой коэффициент. Только их надо где-то расположить, в каких-то ячейках таблицы, скажем во второй строке, над датами.
Пусть всего в семестре 16 занятий, и среди них три контрольные. Итоговый результат определяем так: сначала оценки, полученные на разных уроках, перемножаем на коэффициенты этих уроков, и складываем вместе все произведения. Это будет сумма баллов с учетом их «веса». Затем подсчитываем количество оценок, на которое надо будет разделить сумму, чтобы выйти на так называемое «средневзвешенное» значение. Для каждого действия - своя функция.
Для баллов это «СУММПРОИЗВ», в нашем случае с двумя аргументами; областями (С4:R4) и (С2:R2). Числа из обеих будут браться попарно, перемножаться первое с первым, второе со вторым, третье с третьим и т.д. и после окончания умножения - суммироваться.
К подсчёту количества оценок надо подойти осторожно, и не просто вписать функцию «СЧЁТ», а учесть, что некоторые из них входили в сумму с двойным весом, или, иначе говоря, по два раза. Значит, и сосчитаны должны быть дважды, как простые и как контрольные.
Вставка первой функции в ячейку S4 завершается щелчком по «ОК» на её карточке, однако всё выражение при этом ещё не будет окончено. Чтобы дописать остаток, надо перейти в строку формул, встать в самый конец строки и добавить после знака деления вторую функцию.
Абсолютные адреса. Формула усреднения, написанная для первого по списку студента, должна быть повторена и для других, и сделать это надо, как обычно, посредством копирования. Однако в данном случае перед копированием формулу требуется немного подправить. Дело в том, что при перемещении формулы вниз по списку те ссылки, которые в неё входят, также изменятся соответственно сдвигу. Поскольку сдвиг будет производиться вертикально вниз, то во всех фигурирующих в формуле адресах цифровая составляющая увеличится на единицу для следующей строки, затем ещё на единицу - для следующей и т.д. Изменение второго аргумента с С2:R2 на СЗ:RЗ, потом на С4:R4 и далее, совершено недопустимо. Умножать-то требуется именно на числа второго ряда. Вот таким адресам, которые должны оставаться неизменными при сдвиге формулы, приписывается статус абсолютных, в отличие от всех остальных, относительных. Знаком абсолютности служит символ "$" и его надо до того, как копировать формулу, поставить в адресе перед каждым числом, подлежащем фиксации. Делаем это, понятно, в строке формул, установив перед этим курсорную рамку на ячейке S4. В нашем случае таких абсолютных адресов имеется всего два, указывающих на область С$2:R$2, где размещены весовые коэффициенты, одни и те же для всех студентов.
Введенные формулы дают то, что и было задумано при их конструировании. Так, например, у студента Мальцева простое среднеарифметическое равнялось бы четырём с половиною - три пятёрки и три четвёрки, но поскольку вес пятёрок, полученных за контрольные больше, то итоговый бал за месяц до конца семестра выходит отличным. А, скажем, у студентки Алексеевой, наоборот, перевешивают всё же тройки, хотя их столько же, сколько и четвёрок.
Правда, вид столбца S неудачен. Формат всех его числовых ячеек следует заказать таким, чтобы в таблице были видны лишь целые части полученных результатов. Для этого даже не требуется раскрывать соответствующее меню, достаточно просто сделать несколько одиночных щелчков по значку «Уменьшить разрядность» на панели инструментов. А с другой стороны, может быть неплохо бы и оставить хотя бы один знак после запятой. И кстати, если уж зашла речь о внешнем виде таблицы, совсем не обязательно выводить на экран сами весовые коэффициенты. Для них, пожалуй, стоит заказать цвет шрифта белым, как у фона.
Сбор статистики. Контрольным работам традиционно придаётся особая важность в учебном процессе. Обычно преподаватель после их проведения подсчитывает, сколько студентов имеют отличные оценки, сколько - просто хорошие, а сколько и неудовлетворительные.
Для сбора статистики существует целый набор встроенных функций. Здесь есть и просто «СЧЁТ» - чтобы определить, в скольких ячейках из указываемой области стоят числа, а есть и «СЧЁТЗ» - счёт значений, если нас интересуют не только те ячейки, которые содержат числа, но и хоть что-нибудь вообще содержат, т.е. не являются пустыми. Для пустых же ячеек, вернее для вывода их количества (в ячейки Н26, М26 и Q26) оказалась подходящей функция, которая так и называется «СЧИТАТЬПУСТОТЫ». В качестве аргумента ей задают один или более адресных диапазонов.
Следует, правда, различать две вещи: «не был на уроке» или же «не писал контрольную». Хотя и то, и другое мы обозначаем буквой «н» - в самом журнале или в его статистике, однако если на простом уроке «н» допустимо - студент проболел или прогулял, то вот контрольную надо сдавать обязательно, и «н» тут быть не должно. Либо студент отсутствовал в тот день в школе, либо контрольную писал, да не справился с заданием и получив двойку, хочет её исправить, - и в том и в другом случае в соответствующую клеточку ничего не ставится. Пока работа всё же не будет выполнена на дополнительных занятиях и хоть какая-то оценка не будет проставлена.
Подсчёт отличных, хороших, удовлетворительных и неудовлетворительных работ ведётся в ячейках Н22:Н25, М22:М25 и Q22:Q25 с помощью функции «СЧЁТЕСЛИ» по соответствующим образцам «5», «4», «3» и «2».
Логическая арифметика. Формулы дают средневзвешенное значение итогового балла. Это уже лучше, чем простое среднеарифметическое. Но всё же подход пока ещё слишком упрощённый, и не отслеживает нюансов. Скажем, если взять студента Никитина, то окажется, что имея всего только две оценки в текущем семестре, да и то лишь одну из них за контрольную, он, тем не менее, претендует на четвёрку в семестре. Этого нельзя признать обоснованным. Желательно, чтобы каким-то образом учитывалась ещё и активность работы студента.
Представляется разумным ввести некоторый дополнительный критерий оценки. Пусть, например, обязательным условием для аттестации за семестр будет, во-первых, сдача всех трех контрольных, и, во-вторых, - наличие трёх обычных оценок.
Условия можно было бы учесть в самой формуле для итогового балла. Но она и так уже громоздкая, так что дальнейшее её усложнение практически выходило бы за рамки возможного. Поэтому правильным решением будет отслеживать выполнение обоих условий в каких-то других клетках. Выделим в исходной таблице столбец S и через меню «Вставка» добавим пять дополнительных, не обращая пока внимания на то, что выходим при этом за пределы страницы.
Сначала в ячейку S4 введём формулу «=ЕПУСТО(Н4)» и распространим её на другие клетки этого столбца до S21 включительно (при этом ссылка на относительный адрес автоматически будет подстраиваться под новое местоположение формулы). Функция «ЕПУСТО», являясь логической, выдаст значение «ЛОЖЬ» (т.е. там не пусто) или «ИСТИНА» (да, там пусто). В зависимости от того, имеется какая-нибудь оценка за первую контрольную или нет. В ячейку же S22 введём формулу «=И(S4:S21)», которая логически перемножая значения из вышележащего диапазона адресов, даст фактически ответ на вопрос «А может эту работу группа вообще не выполняла?» Если хотя бы у одного студента оценка за неё стоит, ответ будет «ЛОЖЬ», и это значит, что группа работу выполняла, поскольку срок для неё пришёл. Аналогично всё то же самое проделываем по отношению ко второй и третьей контрольным работам в двух следующих столбцах.
Далее, в ячейку V4 вводим формулу «=И(S4=S$22;Т4=Т$22;U4=U$22)». Её смысл таков: «Данный студент идёт в ногу со всем классом?» Если выходит «ИСТИНА» т.е. «да, именно поэтому», то первое условие аттестации соблюдено, если же выходит «ЛОЖЬ», то значит за студентом имеется должок, и первое условие аттестации не соблюдено. Эту формулу мы копируем вниз на весь список.
Наконец в ячейки W4 - W21 вводим последнюю формулу, согласно которой снова выдаётся значение «ИСТИНА» или «ЛОЖЬ» в зависимости от того, соблюдено или нет второе условие, касающееся числа обычных, не контрольных оценок.
Скрытые столбцы. Итак, формулы для автоматического отслеживания необходимых условий аттестации введены. Система слежения работает, но только плохо, что её служебные, вспомогательные сообщения загромождают экран. Хотелось бы, чтобы они, продолжая работать, тем не менее, были бы не видны, и этого легко достичь. Выделяем буквы с S и до W включительно, а затем в меню «Формат» выбираем последовательно пункты «Столбец» и «Скрыть».
Правда, сейчас скрывать столбцы преждевременно. Надо ведь ещё слегка подправить формулу для итогового балла, поскольку пока что она совсем не учитывает, выполнены ли поставленные условия, или не выполнены. (Если же сокрытие столбцов всё-таки уже произведено, и требуется обратно вывести их на экран, то надо выделить их соседей слева и справа, т.е. R и X, и заказать в том же меню пункт «Отобразить»).
Подправлять формулу для итогового балла лучше так. К настоящему моменту в ней уже зафиксирован порядок вычисления оценки за полугодие, но независимо от того соблюдены ли условия аттестации. «=СУММПРОИЗВ(С4:R4;С$2:R$2)/СЧЁТ(С4:R4;Н4;М4;Q4)» - эту часть будущей формулы менять не нужно, надо только добавить к ней указание о том, когда можно приступить к самому вычислению, а когда нельзя. Если оба условия аттестации соблюдены, то приступать к вычислению можно, а если хотя бы одно из них нет, то и вычислять нечего, просто ставить «не аттестован».
Подобные действия выполняются, очевидно, с помощью функции «ЕСЛИ». Однако перед тем как заказать её для ввода в ячейку Х4, надо то, что в данный момент в ней записано, переместить в буфер обмена (вырезать с помощью «ножниц»). Для чего это делается? Для того чтобы потом, когда будет заполняться та ветвь функции «ЕСЛИ», которая называется «Значение_если_истина», не описывать способ вычисления заново, а просто вставить его из буфера. Во вторую же ветвь, «Значение_если_ложь» собственно, только и останется ввести буквы «н/а».
Ну а для формулировки условия мы используем логическую функцию И(V4;W4). Она берёт два значения «ИСТИНА» или «ЛОЖЬ» (какие бы они ни были) как раз из тех ячеек, что будут впоследствии скрыты, и производит их логическое произведение. Получится, что условие состоит в том, чтобы и там, и там была «ИСТИНА», ведь только такой вариант нас устраивает.
Круговая диаграмма. Статистические итоги по контрольным работам представляются настолько важными, что их надо бы отобразить в графической форме. Наиболее удобным видом такого отображения в данном случае является круговая диаграмма. В принципе, построение диаграммы любого вида совершается одинаковым образом: лучше всего сразу выделить те ячейки, содержимое которых требуется отобразить, после чего вызвать мастера и в диалоге с ним уточнить всевозможные детали оформления.
Берём сначала ячейки из области (G22:Н25), и щёлкаем по значку мастера диаграмм на панели инструментов. Круговых диаграмм он предлагает несколько видов (шесть стандартных и ещё две нестандартных), - выберем второй по счёту вариант под названием «Объёмный» и пройдём далее. Так как ячейки уже были выделены, то в следующей карточке мастера ничего менять не потребуется, а вот на третьей мы остановимся, чтобы ввести некоторые дополнительные пояснения.
Прежде всего, дадим будущей диаграмме заголовок «Первая контрольная». Затем перейдём к вкладке «Легенда» и перепробовав разные способы её размещения, вернемся, пожалуй, к тому, что было предложено («справа»). Заглянув напоследок на третью вкладку «Подписи данных», закажем весьма удачное в смысле информативности и композиции решение под названием «доля».
Разместить диаграмму нам, конечно, удобнее всего на том же листе, где находятся сами данные, что мы и делаем, щёлкая по кнопке «Готово» и покидая мастера. Размер полученной диаграммы надо немного уменьшить, так чтобы она накрыла область ячеек (А28:I39). Делается это с той целью, чтобы рядом справа и снизу осталось место для двух таких же диаграмм по второй и третьей контрольным, и ещё четвёртой диаграммы по итоговым оценкам.
Причём вторую и третью совсем необязательно строить заново, - гораздо удобнее просто скопировать первую всю целиком в буфер обмена, а затем вставить два раза в соседние области. Ну, естественно, после вставки потребуется и ту, и другую подкорректировать, определив для каждой свой собственный диапазон отображаемых данных.
Так, для второй диаграммы надо будет щёлкнуть по её площади правой клавишей мыши, и из контекстного меню выбрать пункт «Исходные данные...». Появится карточка с двумя вкладками. В верхней, которая называется «Диапазон данных», мы должны, войдя в поле ввода с тем же именем и немного сдвинув саму карточку в сторону, чтобы не мешала, выделить клетки (L22:М25). После чего, не заходя даже в следующую закладку «Ряд», уже щёлкнуть ОК, - на диаграмме будут отображены новые результаты. Останется теперь лишь поменять заголовок, для чего достаточно будет щёлкнуть по нему левой клавишей мыши, чтобы дальше действовать как с обычным текстом.
Защита ячеек. В полученной таблице, как, вообще говоря, и в любой другой, надо различать те ячейки, где содержатся исходные данные и те, в которых производятся, согласно записанным в них формулам, какие-либо действия над этими данными. Данные могут, по самой своей природе, меняться, принимать новые значения. Так, например, отметки за декабрьские занятия еще только будут выставляться, когда придёт время, а выставленные за контрольные работы баллы могут быть, в принципе, изменены, если учитель допускает пересдачу.
Наоборот, формулы в ячейках из столбцов S, Т,...,W, X ни в коем случае не должны быть подвергнуты изменениям. Средства для этого в программе имеются, и используют их следующим образом. Начать надо будет с выделения тех ячеек, которые не нуждаются в защите - в нашем случае это диапазон (С4:R18). Затем, выбрав из меню «Формат» пункт «Ячейки...», мы должны перейти в появляющемся диалоговом окне (карточке) к вкладке, которая так и называется «Защита».
Все ячейки уже изначально, по умолчанию, имеют статус защищаемых. И как раз для выделенных нами этот статус надо поменять, т.е. снять соответствующую галочку и нажать ОК.
Таблицу сохраним на диске в файл под именем «Табель успеваемости».