Расчет суммы премии. Скрытие столбцов.
На данном этапе расчет производится с использованием логических функций ЕСЛИ. Первая формула в ячейке АА2 (рис. 5.25) создается по принципу: если служащий проработал менее года (значение ячейки Z2 сравнивается со значением ячейки U4), то премия равна произведению значения оклада, указанного в ячейке Е2, на коэффициент, внесенный в ячейку V4. Таким образом, в ячейке АА2 используется формула, приведенная ниже:
= ЕСЛИ($Z2 < $U$4; $E2 * $V$4; AB2)Так как коэффициент в ячейке V4 отсутствует, то есть равен нулю, то и размер премии равен нулю.
Аналогичные формулы введены в ячейки АВ2, АС2 и AD2:
= ЕСЛИ($Z2 < $U$5; $E2 * $V$5; AC2) = ЕСЛИ($Z2 < $U$6; $E2 * $V$6; AD2) = ЕСЛИ($Z2 < $U$7; $E2 * $V$7; AE2)Но формула в ячейке АЕ2 несколько от них отличается:
= ЕСЛИ($Z2 >= $U$8; $E2 * $V$8; 0)Если количество проработанных лет больше либо равно количеству лет, указанному в ячейке U8, то размер оклада умножается на коэффициент, указанный в ячейке V8.

Рис. 5.25. Формулы для расчета суммы премии в зависимости от стажа работы
Вложение формул
Выполним операцию вложения формул из ячеек Х2 и Y2 в формулу, которая находится в ячейке Z2:
= ОТБР(($V$2 - K2) / 365.25)Процесс вложения формул с функциями ЕСЛИ начнем с ячейки АЕ2 – мы вкладываем ее в ячейку AD2, а из ячейки AD2 – в ячейку АС2 и т. д. В ячейку АА2 введем формулу:
= ЕСЛИ($Z2 < $U$4; $E2 * $V$4; ЕСЛИ($Z2 < $U$5; $E2 * $V$5; ЕСЛИ($Z2 < $U$6; $E2 * $V$6; ЕСЛИ($Z2 < $U$7; $E2 * $V$7; ЕСЛИ($Z2 >= $U$8; $E2 * $V$8; 0)))))Формулу из ячейки Z2 вложим вместо ссылок на эту ячейку в формулу ячейки АА2:
= ЕСЛИ(ОТБР(($V$2 - K2) / 365.25) < $U$4; $E2 * $V$4; ЕСЛИ(ОТБР(($VS2 - K2) / 365.25) < $U$5; $E2 * $V$5; ЕСЛИ(ОТКР(($V$2 - K2) / 365.25) < $U$6; $E2 * $V$6; ЕСЛИ(ОТБР(($V$2 - K2) / 365.25) < $U$7; $E2 * $V$7; ЕСЛИ(ОТБР(($V$2 - K2) / 365.25) >= $U$8; $E2 * $V$8; 0)))))Теперь в расчетах участвуют только формулы, расположенные в ячейках S2 и АА2. В ячейке AF2 создадим формулу, основанную на логической функции ЕСЛИ:
= ЕСЛИ(S2; AA2; "Ошибка!")Данная формула определяет, какое логическое значение находится в ячейке S2. Если это значение ИСТИНА, формула возвращает сумму премии. Если значение ЛОЖЬ, то возвращается сообщение Ошибка!.
Обратите внимание, что третьим аргументом формулы является текст. Это означает, что в функцию ЕСЛИ можно вводить любой текст (в частности, разного рода сообщения).
В формулу из ячейки AF2 вместо ссылок на адреса ячеек мы введем находящиеся в них формулы. В результате получим такую формулу:
= ЕСЛИ(И(ЕПУСТО(L2); ЕСЛИ(D2 = G2; ИСТИНА; ЛОЖЬ); ЕСЛИ(Н2 = ЛЕВСИМВ(С2; НАЙТИ(" "; С2) - 1); ИСТИНА; ЛОЖЬ)); ЕСЛИ(ОТБР(($V$2 - K2) / 365.25) < $U$4; $E2 * $V$4; ЕСЛИ(ОТБР(($V$2 - K2) / 365.25) < $U$5; $E2 * $V$5; ЕСЛИ(ОТБР(($V$2 - K2) / 365.25) < $U$6; $E2 * $V$6; ЕСЛИ(ОТБР(($V$2 - K2) / 365.25) < $U$7; $E2 * $V$7; ЕСЛИ(ОТБР(($V$2 - K2) / 365.25) >= $U$8; $E2 * $V$8; 0))))) / "Ошибка!")