Форум по VBA и MS Office

VBA, Excel => Работа в программе "Excel" => Тема начата: Данила от 21 августа 2017, 11:21

Название: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 21 августа 2017, 11:21
Доброго времени суток!

При заполнении итоговой таблицы отчетности возникла трудность с заполнением.

Есть сотрудники, всего их 40 человек, которые получают денежную компенсацию за факт выхода на работы.
Если выходят на "Юр. лицо" - получают 1000 рублей, если на "Физ. лицо" - получают 600 рублей.
Но оплата выхода может быть выплачена только один раз за день, не смотря на то, что выходил он несколько раз на работу к разным типам клиентов.

То есть по сути она платится за первый выход в день, все последующие не оплачиваются.

Как в таблице в итоговой графе сделать автоматический алгоритм, который бы позволял при выходе одной и той же фамилии в один и тот же день второй и последующие разы - за этот второй и последующие разы ставить ему 0, а при выходе первый раз на "Юр. лицо" ставить 1000, на  "Физ. лицо" ставить 600?

[вложение удалено администратором]
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Администратор от 21 августа 2017, 12:03
Формула для "G3":
=ЕСЛИ(СЧЁТЕСЛИМН(A$2:A2;A3;F$2:F2;F3)=0;ЕСЛИ(E3="Физ. лицо";600;ЕСЛИ(E3="Юр. Лицо";1000;"?"));0)

[вложение удалено администратором]
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 21 августа 2017, 12:16
Спасибо большое... Супер... Как Вы это делаете!?
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 22 августа 2017, 14:31
Нужно в рабочие дни оплачивать выход только после 18:00, в выходные и праздничные дни оплачивать всегда выход.
Также действует правило только одного первого раза по каждой фамилии в один и тот же день.
В таблицу добавил время начала и время окончания работ.

[вложение удалено администратором]
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 22 августа 2017, 14:37
И еще бы на всякий случай другой вариант расчета выходов в другом листе книги, а то чует моё сердце, что руководство еще не определилось как оплачивать выходы.

Если 70 и более % пришлась на работу после 18:00 в рабочий день, то выход оплачивать.
Выход в выходные и праздничные дни оплачивать всегда.

Также действует правило только одного первого раза по каждой фамилии в один и тот же день.
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Администратор от 22 августа 2017, 15:48
Для первого случая сделал. Если нормально, то для второго попробую сделать.

[вложение удалено администратором]
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 22 августа 2017, 16:20
Спасибо большое...
Про процентовку попробуете?
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Администратор от 22 августа 2017, 17:43
Для второго случая.

[вложение удалено администратором]
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 23 августа 2017, 08:02
Спасибо... Все работает как часики!
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 25 августа 2017, 05:35
Можно ли изменить формулу для столбца L?
Всё остаётся так же как и есть, единственное - убрать из формулы фактическое время окончания работ и завязать расчёт на фактическое время начала работ и сумму минут по смете.

[вложение удалено администратором]
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Администратор от 25 августа 2017, 08:06
Внёс изменения в имя IsPerer:
=ЕСЛИ(НЕ(Раб_день);ИСТИНА;ЕСЛИ(STime>=--"18:00";ИСТИНА;ЕСЛИ(STime+$K3/60/24<=--"18:00";ЛОЖЬ;ЕСЛИ(STime+$K3/60/24-"18:00">=(STime+$K3/60/24-STime)*0,7;ИСТИНА))))

И используйте в своих формулах в дальнейшем абсолютный адрес для столбцов, хотя бы для того, чтобы можно было тестировать формулу справа от таблицы, т.к. в диспетчере имён формулу нельзя протестировать.
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 25 августа 2017, 08:11
Хорошо. Я понял.
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Администратор от 25 августа 2017, 08:12
Оптимизировал имя IsPerer:
=ЕСЛИ(НЕ(Раб_день);ИСТИНА;ЕСЛИ(STime>=--"18:00";ИСТИНА;ЕСЛИ(STime+$K3/60/24<=--"18:00";ЛОЖЬ;ЕСЛИ(STime+$K3/60/24-"18:00">=$K3/60/24*0,7;ИСТИНА))))
Название: Re: Excel: Выбор размера оплаты от статуса клиента с помощью формулы
Отправлено: Данила от 25 августа 2017, 08:52
Спасибо большое... Я как всегда в эмоциях от ваших познаний в эксель и от оперативности вашей помощи...