Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Главное меню

Сравнение времени

Автор Mosik, 14.05.2012, 18:39

« назад - далее »

Mosik

Здравствуйте.
Помогите пожалуйста, т.к. мозг уже сломан.
Есть сервисные работы с фиксированными тарифами. Например до 8.15 тариф - 1500, с 8.15 до 17.30 - 700 рублей, после 17.30 - снова 1500. Выходные и праздничные дни соответственно по 1500.
Время работы может начинаться когда угодно, общее количество рабочих часов может переходить через 00.00 часов., т.е.
Например: Начало работ 13.05.12 в 15:00, окончание работ 14.05.12 в 6:00 - соответственно с 15 до 17.30 считается по 700 р., остальное время по 1500. Как это сделать технически. Вручную не посчитать, строк для расчета порядка 3500...

MCH


Mosik

#2
Очень здорово, огромное спасибо. Один вопрос только: А можно расшифровку смысла? Ну т.е. какие условия выполняются какими функциями? Я пыталась сделать это через "если" "и" "час" "минуты", но там получается такая формула, что хочется застрелиться. А в данной формуле мне не очень смысл понятен - откуда что берется.
И еще один вопрос, как в эту функцию вставить выходные дни, т.е. в выходные работа расценивается как сверхурочная, т.е. по 1500

IKor

Цитата: Mosik от 14.05.2012, 21:12
А можно расшифровку смысла? Ну т.е. какие условия выполняются какими функциями?
Функция суммирует произведения продолжительности временных отрезков, укладывающихся в выбранном интервале, на заданные ставки. Почитайте описание функции ПРОСМОТР() в справке и поэкспериментируйте на простых примерах.

Посмотрите еще один вариант решения вашей задачи. Он проще для понимания и адаптации, хотя он далеко не универсален (ограничения явно прописаны в тексте).

Относительно учета праздников и выходных.
Существуют встроенные функции РАБДЕНЬ() и ЧИСТРАБДНИ(), с помощью которых можно попытаться решить задачу, но переносы рабочих дней на выходные ими не учитываются.
Можно написать собственную функцию и для каждого года указать переносы и исключения, но я предлагаю попросту добавить лишний столбец в таблицу и при необходимости указывать исключения - смотрите прилагаемый файл.

DV68

#4
Цитата: Mosik от 14.05.2012, 21:12
...как в эту функцию вставить выходные дни, т.е. в выходные работа расценивается как сверхурочная, т.е. по 1500
Мой вариант в файле: