Иллюстрированный самоучитель по Microsoft Excel 2002

Определение выходных дней в табеле

Перенос выходных дней

На практике нередки случаи переноса выходных дней. В нашем табеле реакция на такие переносы не обеспечена. Сейчас мы исправим этот недостаток. Даты дней, которые вследствие переноса стали рабочими, будем вводить в область G22:G24 листа Праздники. Этой области присвоим имя ДатаПеренос (рис. 7.13).

Даты дней, которые вследствие переноса стали выходными, добавим в список праздников, находящийся в диапазоне A15:G16 листа Праздники (рис. 7.5).

Теперь в табеле нам нужна формула, которая будет определять, не перенесен ли данный выходной. Для ее получения доработаем формулу из ячейки С27 табеля.

Иллюстрированный самоучитель по Microsoft Excel 2002 › Электронный табель учета рабочего времени › Определение выходных дней в табеле
Рис. 7.13. Список с перемещенными датами

Скопируйте ее из строки формул, вставьте в ячейку С31, замените имя ДатаПраздн именем ДатаПеренос и удалите функцию НЕ.

Результирующая формула в ячейке С31 должна иметь следующий вид:

= ЕНД(ВПР(C9; ДатаПеренос; 1; ЛОЖЬ))

Формула возвращает значение ЛОЖЬ, если находит дату среди перенесенных, или значение ИСТИНА, если не находит. Таким образом, эта ячейка будет содержать значение ЛОЖЬ, если день вследствие переноса стал рабочим. Если же ячейка содержит значение ИСТИНА, значит, статус дня не изменился.

Теперь мы должны проанализировать значения ячеек С30 и С31. Первая содержит логическое значение, которое указывает на то, является ли день выходным либо праздничным. Логическое значение во второй ячейке отражает факт изменения статуса дня (то есть не стал ли он вследствие переноса выходных рабочим днем).

Формула для анализа должна работать так. День является выходным, если его статус не изменился (С31 содержит значение ИСТИНА), и он является праздничным, субботним или воскресным (С30 содержит значение ИСТИНА). Во всех остальных случаях день будет рабочим.

Составить такую формулу можно с помощью функции И. Она возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА, и значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ. Данная функция принадлежит к категории Логические и имеет следующий синтаксис:

И(логическое_значение1; логическое_значение2;...)

Здесь логическое_значение1, логическое_значение2,… – это от I до 30 проверяемых условий, которые могут иметь либо значение ИСТИНА, либо значение ЛОЖЬ.

Введите в ячейку С32 такую функцию:

= И(C30; C31)

В данную функцию надлежит вложить формулы из ячеек С30 и С31. Ниже показано, как выглядит результирующая формула в ячейке С32:

= И(ИЛИ(ЕСЛИ(ДЕНЬНЕД(C9) = 7; ИСТИНА; ЕСЛИ(ДБНЬНЕД(C9) = 1; ИСТИНА; ЛОЖЬ)); C27); ЕНД(ВПР(A9; ДатаПеренос; 1; ЛОЖЬ)))

Скопируйте формулы из ячеек С27 и С32 в ячейки С10 и С11.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.