|
Вариантов создания собственного календаря с помощью формул, тоже может
быть много, но в этой заметке Вы увидите только несколько способов(формул) :
Откройте рабочую книгу, в которой Вы предполагаете
создать календарь
Активируйте нужный рабочий лист
Выберите ячейку, в которой в дальнейшем будет
выбираться месяц, например, J2
В меню Данные выберите команду Проверка
и в появившемся стандартном диалоговом окне Проверка вводимых
значений, в поле со списком Тип данных: выберите
Целое число, после чего, в поле со списком Значение:
выберите Между и в текстовом поле Минимум: введите 1,
а в поле поле Максимум: введите 12

Выберите ячейку, в которой в дальнейшем будет
выбираться год, например, K2
В меню Данные выберите команду Проверка
и в появившемся стандартном диалоговом окне Проверка вводимых значений,
в поле со списком Тип данных: выберите Целое число, затем,
в поле со списком Значение: выберите Между и в текстовом
поле Минимум: введите 1900 (или 1904, если Вы используете
систему дат 1904 - более подробно в меню Сервис - Параметры - Вычисления
- Система дат 1904), а в поле Максимум: введите 9999
(на самом деле, при необходимости, Вы можете сократить разрыв между мин.
и макс., более того, Вы можете вообще отказаться от проверки, если уверены,
что никогда не совершите ошибку при вводе номера месяца и года, или же,
выбор будет осуществляться с помощью элементов управления, например,
Поле со списком и/или даже Полоса прокрутки)

В меню Вставка выберите пункт Имя и команду
Присводить. В появившемся стандартном диалоговом окне
Присвоение имени, в текстовом поле Имя: введите ДЕНЬ,
а в текстовом поле Формула: введите, а лучше, вставьте предварительно
скопированный нижеприведённый текст
={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;32;33;34;35:36;37;38;39;40;41;42}

Выделите диапазон ячеек, состоящий из 42 ячеек
= 6 строк X 7 столбцов, например, B3:H8
(важно, чтобы Вы выделили именно этот диапазон, причём, начиная именно
с ячейки B3, в противном случае, в некоторых формулах придётся
менять адрес этой ячейки)
Введите одну из нижеопубликованных формул массива
и обязательно нажмите клавиши CTRL + SHIFT + ENTER
(последняя формула предполагает предварительное присвоение ячейкам
K2, J2 имён ГОД и МЕСЯЦ
см.пример)
=ДАТА(K2;J2;ДЕНЬ)-ДЕНЬНЕД(ДАТА(K2;J2;1);3)
=ДАТА(K2;J2;ДЕНЬ-ДЕНЬНЕД(ДАТА(K2;J2;1);3))
=ДАТА(ГОД;МЕСЯЦ;ДЕНЬ-ДЕНЬНЕД(ДАТА(ГОД;МЕСЯЦ;1);3))
Теперь измените параметры форматирования
(порядок действий может быть другой, в т.ч. и до создания формулы) :
- В меню Формат выберите команду Ячейки,
и в появившемся диалоговом окне в списке Числовые форматы:
выберите (все форматы), а в текстовом поле Тип: введите
ДД (если дни с 1 по 9 должны отображаться с лидирующим нулём, т.е.
01, 02 и т.д. или Д (если лидирующий нуль не нужен)

- В меню Формат выберите команду
Условное форматирование и в диалоговом окне в списке
Условие 1 выберите Формула, а в текстовом поле введите
следующую формулу :
=МЕСЯЦ(B3)<>$J$2
Теперь, кликните кнопку Формат и установите цвет шрифта и/или
заливки так, чтобы даты смежных месяцев не отображались, для этого,
например, установите цвет шрифта = изначальному цвету заливки или
выберите белый цвет (оба варианта можно найти в
примере)
- Если Вы хотите, чтобы текущий день выделялся на
Вашем календаре, то кликните кнопку А также >> и добавьте
нижеприведённую формулу и, разумеется, измените Формат так, чтобы
Сегодня не терялось на фоне всех остальных дней.
=B3=СЕГОДНЯ()

- Если Вы что-то забыли ... самое время довести до
совершенства свой календарь, например, выделить выходные дни, т.е.
субботу и воскресенье красным цветом.
Теперь, календарь на выбранный месяц готов, и он может выглядить,
например, вот так :

Если же Вас "пугает" формула
массива, которая, кстати, была выбрана потому, что позволяет избежать
случайного удаления/изменения в отдельно взятой ячейке, причём, без защиты
ячейки и рабочего листа, то второй вариант заключается в создании самой
первой даты и постепенному увеличению этой даты на один день.
Т.е., если в ячейке B3 Вы введёте :
=ДАТА($K$2;$J$2;1)-ДЕНЬНЕД(ДАТА($K$2;$J$2;1);3)
=ДАТА(ГОД;МЕСЯЦ;1)-ДЕНЬНЕД(ДАТА(ГОД;МЕСЯЦ;1);3)
или
=("1."&J2&"."&K2)-ДЕНЬНЕД("1."&J2&"."&K2;3)
=("1."&МЕСЯЦ&"."&ГОД)-ДЕНЬНЕД("1."&МЕСЯЦ&"."&ГОД;3)
то в ячейке C3 достаточно уже будет ввести
=B3+1 и т.д.
Автор :
Климов Павел Юрьевич
|
|
© 2004-2016 Климов П.Ю. Все права защищены. |
WebDesign & Error's
Klimoff
|