Главная страница «Первого сентября»Главная страница журнала «Информатика»Содержание №9/2009


В мир информатики
Microsoft Excel углубленно

Еще раз о работе с датами

Уважаемые читатели!

У газеты-вкладки “В мир информатики” появился свой электронный адрес: 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 Чтобы просмотреть числа в виде дат, надо выделить ячейку и в меню Формат выбрать команду Ячейки, после чего выбрать в списке Числовые форматы вариант Дата и соответствующий тип представления.

TopList