Расчет суммы премии
На данном этапе расчет производится с использованием логических функций ЕСЛИ. Первая формула в ячейке АА2 (рис. 5.25) создается по принципу: если служащий проработал менее года (значение ячейки Z2 сравнивается со значением ячейки U4), то премия равна произведению значения оклада, указанного в ячейке Е2, на коэффициент, внесенный в ячейку V4. Таким образом, в ячейке АА2 используется формула, приведенная ниже:
=ЕСЛИ($Z2<$U$4;$Е2*$V$4;АВ2)
Так как коэффициент в ячейке V4 отсутствует, то есть равен нулю, то и размер премии равен нулю.
Аналогичные формулы введены в ячейки АВ2, АС2 и AD2:
=ЕСЛИ($Z2<$U$5;$Е2*$У$5;AС2) =ECЛM($Z2<$U$6;$E2*$V$6;AD2) =ECЛИ($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 введем формулу:
=ECЛИ($Z2<$U$4;$E2*$V$4; ECЛИ($Z2<$U$5;$E2*$V$5; ЕСЛИ($Z2<$U$6;$Е2*$V$6; EСЛИ($Z2<$U$7;$E2*$V$7; ЕСЛИ($Z2>=$U$8;$Е2*$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;АА2;"Ошибка!")
Данная формула определяет, какое логическое значение находится в ячейке 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)))))/"Ошибка!")
Теперь рассмотрим лист Оклады целиком, со всеми используемыми для расчета таблицами (рис. 5.26).
Лист состоит из следующих элементов:
- список с окладами (диапазон А1:Е11);
- фрагмент базы данных сотрудников (G1:L11);
- таблица с условиями начисления премии (U1:V8);
- таблица с информацией о количестве полных проработанных на предприятии лет(Z1:Z11);
- область вложенных формул (AF2:AF11).
Рис. 5.26. Структура листа Оклады после создания вложенной формулы