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


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

Каким днем недели был день вашего рождения?

Чтобы ответить на вопрос, вынесенный в заголовок статьи, сначала используем электронную таблицу Microsoft Excel.

Оформим лист так, как показано на рис. 1.

 

Рис. 1

Видно, что в ячейку В1 будет вводиться дата рождения, а ответ должен выводиться в ячейке В2. Как получить ответ? В программе Microsoft Excel предусмотрен ряд функций для работы с датами [1]. К сожалению, среди них нет функции, возвращающей название дня недели по заданной дате. Но зато есть функция, результатом которой является порядковый номер дня недели для заданной даты. Она называется ДЕНЬНЕД, ее общий вид такой:

ДЕНЬНЕД(Дата_в_числовом_формате; тип)

— где Дата_в_числовом_формате — дата, день недели которой необходимо найти, введенная, извините за тавтологию, в формате “дата”. Напомним (см. [1]), что для того чтобы ввести в ячейку дату, как правило, следует указать номер дня, номер месяца и две последние цифры года через точку (12.12.87), дефис (12-12-87) или символ “/” (12/12/87).

Параметр тип — это число, которое определяет тип возвращаемого значения. Если он равен 1 или опущен, то номер дня недели определяется как целое число в интервале от 1 (воскресенье) до 7 (суббота). Можно также применить другую нумерацию:

— от 1 (понедельник) до 7 (воскресенье), в этом случае значение параметра тип следует указать равным 2;

— от 0 (понедельник) до 6 (воскресенье); тип = 3.

Итак, используя функцию ДЕНЬНЕД, можно найти номер дня недели (при том или ином порядке нумерации), что мы и сделаем. Поскольку этот номер носит вспомогательный характер (наша главная цель — название дня), то определим его в какой-либо ячейке вне зоны видимости листа, например, в ячейке S1. Итак, запишем в этой ячейке формулу =ДЕНЬНЕД(B1), т.е. используем нумерацию дней, установленную, как говорится, по умолчанию.

А уже по номеру дня недели мы можем найти его название. Для этого применим функцию ВЫБОР. Ее формат:

ВЫБОР(номер_индекса; значение1; значение2;…),

— где значение1, значение2, ... — аргументы-значения, из которых выбирается значение функции, а номер_индекса — это номер выбираемого аргумента-значения. Номер_индекса должен быть числом от 1 до 29, формулой или ссылкой на ячейку, содержащую число в диапазоне от 1 до 29. Если номер_индекса равен 1, то функция ВЫБОР возвращает значение1; если он равен 2, то функция ВЫБОР возвращает значение2 и так далее.

Следовательно, при значении параметра тип в функции ДЕНЬНЕД, равном 1 (значение по умолчанию), для получения искомого ответа нужно в ячейке записать формулу:

=ВЫБОР(H1; “Воскресенье”; “Понедельник”; “Вторник”;
“Среда”; “Четверг”; “Пятница”; “Суббота”)

Задания для самостоятельной работы

1. Оформите лист таким образом, чтобы нумерация дней недели начиналась с понедельника.

2. Определите, каким днем недели были:

— день вашего рождения;

— 15 февраля 1954 года;

— 26 октября 1949 года.

Ответы присылайте в редакцию.

В заключение зададим вопрос — как же программа Microsoft Excel “узнает” номер дня недели для заданной даты? Один из возможных1 вариантов решения описан в следующей статье.

Литература

1. Работа с датами в электронной таблице Microsoft Excel. / “В мир информатики” № 101 (“Информатика” № 1/2008).


1 Каким именно алгоритмом пользовались разработчики программы, нам неизвестно.

TopList