Страницы: 1
RSS
Задание на просчет премии за первое второе и третье место в месяц, составил формулу, в графе функций все просчитывается верно, но в ячейку уходят совершенно другие данные
 
Доброго времени суток, имеем следующее задание:

·        Премия за место начисляется при условии выполнения плана, если в текущем месяце магазин занял первое, второе или третье место (не по абсолютным значениям товарооборота, а по процентам выполнения плана):

– за первое место – 5% от фактической суммы;

– за второе место – 3% от фактической суммы;

– за третье место – 1,5% от фактической суммы;

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

к нему составил следующую формулу:  =ЕСЛИ(И(НАИБОЛЬШИЙ(ЕСЛИ($A$2:$A$51=A2;$G$2:$G$51;0);1)=G2;G2>=0);D2*5%;ЕСЛИ(И(НАИБОЛЬШИЙ(ЕСЛИ($A$2:$A$51=A2;$G$2:$G$51;0);2)=G2;G2>=0);D2*3%;ЕСЛИ(И(НАИБОЛЬШИЙ(ЕСЛИ($A$2:$A$51=A2;$G$2:$G$51;0);3)=G2;G2>=0);D2*1,5%;0)))

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

Буду рад любым объяснениям почему так происходит либо же корректировкам моей формулы.

 
Может по тому что ваша конструкция -это формула массива а весия excel не из последних.
Далее вопрос корректности результата. При равном результатеформула возьмет например три лидера в первое место, а нужно ли иначе не известно. Оптимизации формулы - уже высший пилотаж. Для лабы -Потянет но я с телефона смотрю, не проверял.
хотя я б так записал
=D2*IF(AND(LARGE(IF($A$2:$A$51=A2;$G$2:$G$51);1)=G2;G2>=0);5%;IF(AND(LARGE(IF($A$2:$A$51=A2;$G$2:$G$51);2)=G2;G2>=0);3%;IF(AND(LARGE(IF($A$2:$A$51=A2;$G$2:$G$51);3)=G2;G2>=0);1,5%;0)))
конечно хотелось бы записать так
=D2*IF(G2>=0;IFERROR(LOOKUP(G2;LARGE(IF($A$2:$A$51=A2;$G$2:$G$51);{3\2\1});{1,5\3\5}%);))
но будет опасность что спалитесь, что не сами делали.

А вот почему не совпадает с E,  так наверно проверка кривовата. или задача поставлена не корректно.
Изменено: БМВ - 13.05.2024 20:19:47
По вопросам из тем форума, личку не читаю.
 
Благодарю, поправил по вашему примеру формулу, заработало. Версия exel 21, и так и не понятно почему не срабатывала моя.
 
Цитата
Stracot написал:
exel 21, и так и не понятно почему не срабатывала моя.
скорее всего по тому что превращало в массивную операцию не так как задумано.
ну и в качестве оптимизации длинного но простого варианта вынести сравнение выполнения плана можно так
=IF(G2>=0;D2*IF(LARGE(IF($A$2:$A$51=A2;$G$2:$G$51);1)=G2;5%;IF(LARGE(IF($A$2:$A$51=A2;$G$2:$G$51);2)=G2;3%;IF(LARGE(IF($A$2:$A$51=A2;$G$2:$G$51);3)=G2;1,5%;0)));0)
Изменено: БМВ - 14.05.2024 07:59:30
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх