|
Еще раз о работе с датамиУважаемые читатели! У газеты-вкладки “В мир информатики” появился свой электронный адрес: vmi@1september.ru. В нашей газете (см. [1]) уже отмечалось, что в электронной таблице Microsoft Excel можно работать не только с числами и текстами, но и с датами. Даты можно сравнивать между собой, складывать и вычитать, а также использовать в других вычислениях. Например, можно вычислить число дней между двумя датами, определить, какой день недели приходился на ту или иную дату, и т.п. В статье был приведен ряд функций для работы с датами. Есть еще одна полезная функция, которая называется КОНМЕСЯЦА. Она возвращает последний день месяца, отстоящего на указанное количество месяцев от некоторой даты. Ее формат: КОНМЕСЯЦА(нач_дата ; число_месяцев), — где нач_дата — это начальная дата, число_месяцев — это количество месяцев до или после даты нач_дата. Положительное значение аргумента число_месяцев означает будущие даты; отрицательное значение — прошедшие даты. Значение возвращается в виде числа1. Еще одна важная особенность этой функции заключается в том, что даты должны вводиться с использованием функции ДАТА или как результат вычисления по другим формулам и функциям. Например, для 15 февраля 2009 года следует использовать ДАТА(2009;2;15). Эта функция КОНМЕСЯЦА часто используется в бухгалтерских задачах, в задачах, связанных с работой складов, и т.п. В [2] в рубрике “Задачник” она упоминается в связи с задачей автоматического определения числа дней в том или ином месяце. Заметим, что функция КОНМЕСЯЦА не является стандартной. Если в вашей версии программы Excel ее нет, то необходимо установить так называемую “надстройку” “Пакет анализа”, выполнив команды Сервис — Надстройки и выбрав указанную надстройку. После этого функция станет доступной. Задачи для самостоятельной работы1. Используя функцию КОНМЕСЯЦА, определите количество дней в каждом месяце 2010 года. 2. Для текущей даты определите: а) число дней, прошедших с начала текущего месяца; б) сколько дней осталось до конца текущего месяца (см. рис. 2).
Рис. 1 Указания по выполнению. Значение в ячейке В2 вручную не вводить (использовать необходимую функцию). Еще одна полезная возможность программы Microsoft Excel при работе с датами — автоматическое получение рядов дат. Если, например, нужно получить на листе все даты, соответствующие 13 числам каждого месяца года, то это можно сделать следующим образом: 1) ввести в какую-то ячейку дату, соответствующую 13 января этого года; 2) установить указатель активной ячейки на ячейку с введенной датой; 3) выбрать в меню пункт Правка, а в нем подпункт Заполнить и затем Прогрессия; 4) в появившемся диалоговом окне Прогрессия указать: · расположение данных, которые будут получены автоматически, — в столбце (по столбцам) или в строке (по строкам); · тип данных — даты; · единицы изменения значений — месяц; · шаг изменения значений — 1; · предельное значение получаемых дат (13 декабря рассматриваемого года), — после чего щелкнуть на кнопке ОК. При выборе других единиц изменения значений — день, рабочий день или год, в полученном перечне будут представлены даты очередных дней, очередных рабочих дней и очередных годов (при том же месяце и дне). Задачи для самостоятельной работы3. Выясните, в какие месяцы 2009 года тринадцатое число приходится на понедельник (см. рис. 2).
Рис. 2 Указания по выполнению1. Получите на листе все даты 2009 года с тринадцатым числом. 2. Для каждой даты определите номер соответствующего дня недели. Для этого используйте функцию ДЕНЬНЕД. Ее формат: ДЕНЬНЕД(Дата_в_числовом_формате; тип) — где Дата_в_числовом_формате — дата, день недели которой необходимо найти, введенная, извините за тавтологию, в формате “дата”. Параметр тип — это число, которое определяет тип возвращаемого значения. Если он равен 1 или опущен, то номер дня недели определяется как целое число в интервале от 1 (воскресенье) до 7 (суббота). Можно также применить другую нумерацию: — от 1 (понедельник) до 7 (воскресенье), в этом случае значение параметра тип следует указать равным 2; — от 0 (понедельник) до 6 (воскресенье); тип = 3. Поскольку указанный номер дня носит вспомогательный характер (наша главная цель — название дня), то определите его в какой-либо ячейке вне зоны видимости листа. 3. Для определения названия дня недели по значению номера дня используйте функцию ВЫБОР. Ее формат: ВЫБОР(номер_индекса; значение1; значение2;…), — где значение1, значение2, ... — аргументы-значения, из которых выбирается значение функции, а номер_индекса — это номер выбираемого аргумента-значения. Если номер_индекса равен 1, то функция ВЫБОР возвращает значение1; если он равен 2, то функция ВЫБОР возвращает значение2 и так далее. При решении задачи 1 вам придется вводить в ячейки названия 12 месяцев. А знаете ли вы, что этот процесс можно автоматизировать? Для этого введите в нужную ячейку “январь”. Протащите маркер заполнения этой ячейки еще на 11 ячеек, и они будут заполнены другими названиями месяцев. Можно также автоматизировать ввод в ячейки названий кварталов (“1 кв.”, “2 кв.”, “3 кв.”, “4 кв.”) и названия дней недели (“понедельник”, “вторник”, …). Еще несколько задач на использование дат4. Измените оформление листа для решения предыдущей задачи, чтобы результаты выглядели так, как на рис. 3.
Рис. 3 5. Получите на листе рабочие дни для сентября 2010 года. 6. Для текущей даты вычислить: а) порядковый номер дня с начала года; б) сколько дней осталось до конца года (например, для 30 декабря — 1 день); в) сколько дней осталось до конца недели (см. рис. 4).
Рис. 4 Решения, пожалуйста, присылайте в редакцию (можно решать не все задачи). Фамилии всех приславших ответы будут опубликованы, а ребят, приславших лучшие ответы, мы поощрим. Литература 1. Работа с датами в электронной таблице Microsoft Excel. / “В мир информатики” № 101 (“Информатика” № 1/2008). 2. Решение задачи “Как найти остатки?” / “В мир информатики” № 122 (“Информатика” № 4/2009). 1 Чтобы просмотреть числа в виде дат, надо выделить ячейку и в меню Формат выбрать команду Ячейки, после чего выбрать в списке Числовые форматы вариант Дата и соответствующий тип представления. |