Страницы: 1
RSS
Количество дней и сумма часов за определенную неделю месяца
 
Доброго времени суток, форумчане. Есть следующая задачка. Нужно на листе "Отчет" в соответствующих ячейках написать формулы для подсчета количества отработанных часов и отработанных дней за каждую неделю каждого месяца (Данные находятся на листе "Учет времени"). Количество отработанных дней и сумма отработанных часов за месяц у меня получилось посчитать. Буду очень рад помощи. Спасибо
 
На листе "Учет времени" я изменил формулу в столбце "B".
 
Спасибо, за помощь. Вот только вопрос, а зачем Вы поменяли формулу, ведь в России недели считаются по ГОСТ ИСО 8601-2001, там как раз и была вбита формула, удовлетворяюшая этому условию. На эту тему на форуме есть ветка http://www.planetaexcel.ru/techniques/6/86/
 
polyarikspb, я думал, что в России первая неделя в году, это неделя, в которой 1 января.
Вы можете скорректировать параметр в функции НОМНЕДЕЛИ.
 
Karataev, ок, подкоректирую.... еще раз спасибо
 
Karataev, Добрый день. Удалось наконец-то посмотреть Ваши формулы в моем файле. Поломал голову, не могу понять, где закралась ошибка.... Если добавить сегодняшнюю дату на листе "Учет времени" (то есть получается 6-я неделя июля), то этот день появляется на листе "Отчет" в неделе "6" июля и в неделе "1" августа. Пробывал подставлять правильную формулу недели в году (из столбца "С" листа "Учет времени") все равно, что то не так. Прошу Вашей помощи. Спасибо
 
Да, формулы на листе "Отчет" неправильно считали - не учитывали месяц, а учитывали только номер недели. Изменил формулы на листе "Отчет".
Изменено: Karataev - 31.07.2017 17:52:22
 
Karataev, круто получилось, теперь все верно считает, спасибо. И если не затруднит, подсказать еще формулу для расчета количества рабочих дней в каждой неделе месяца с учетом праздничных дней. (За месяц количество рабочих дней с учетом праздников посчитал на листе "Отчет" столбец "W". Праздники прописаны на листе "Данные")...
 
Могу предложить вариант с допстолбцом "K" на листе "Учет времени".
 
Karataev, ок, спасибо за помощь. У меня идея была, чтобы в столбцах "количество рабочих дней" по неделям на листе "Отчет" были заполнены все строчки по всем месяцам. (То есть, например в столбце количество рабочих дней за месяц, я вижу, сколько будет рабочих дней в каждом месяце на протяжении всего года, соответственно такая же информация должна быть и понедельно, независимо от количества отработанных дней)
 
За основу я взял файл из поста 8. Допстолбца нет, добавлены только формулы на лист "Отчет".
 
Karataev, низкий поклон, то что надо!
 
Возникла еще одна непонятка, проверял на excel 2013 и 2016. Если на листе "Учет времени" в строке с днем недели пятница писать "время прихлда" с 8.30 до 8.39 а "время ухода" соответственно с 16.00 до 16.09 (так чтобы в столбце "Переработка" получалось 0:00), то почему то именно в эти промежутки времени возникает ошибка, а вдругие промежутки времени нет такой ошибки и показывает время переработки 0:00. (Выделил строки желтым цветом). Не пойму, где "собака порылась"?
 
В функции "НОМНЕДЕЛИ" используйте параметр 21, чтобы недели считались так, как у Вас используется в Вашей организации.

По поводу проблемы. Перейдите в ячейку "J61", затем вкладка "Формулы" - Вычислить формулу.
В вычислении, где отнимается время H61-I61, Вы увидите, что не получается ноль, хотя отнимаются одинаковые числа.
Это связано с тем, что на мониторе Excel нам показывает одно число, а где-то внутри Excel'я число находится в другом виде.
Такое бывает периодически. Чтобы такого не было, нужно округлять числа или сделать какие-то другие действия. На форуме эта проблема периодически обсуждается.
У меня пока нет мыслей, как сделать математические операции со временем. Возможно нужно приводить время к какому-нибудь виду, а не использовать прочто числа, а затем уже делать математические действия с часами, минутами и секундами, а не как сейчас, когда это все в виде одного дробного числа, с которым Excel не умеет работать.
 
Karataev, спасибо, буду думать.... как можно обойти этот "недочет" экселя
 
Придумал такое, но это не научно обосновано, просто методом "тыка" придумано.
Округляйте число до 15 цифр после запятой. В Excel'е может быть максимально 15 значащих цифр.
Вдруг это универсальное средство для всех случаев, когда Excel неправильно считает.

Формула для "H61":
=ЕСЛИОШИБКА(ОКРУГЛ(F61-E61-G61;15);" ")

Для столбца "I" формулу можно оставить, какая есть сейчас, т.к. в него Вы записываете конкретные данные, а не расчетные.
И если нужно сделать ячейку пустой, то обычно подставляется не пробел, как у Вас, а пустая строка:
=ЕСЛИОШИБКА(ОКРУГЛ(F61-E61-G61;15);"")
Изменено: Karataev - 04.08.2017 10:46:57
 
Karataev, ок, попробую вечерком, спасибо
 
Karataev, еще можно сделать через двойное условие ЕСЛИ, потестил, вроде работает..... =ЕСЛИ(G61>H61;G61-H61;ЕСЛИ(G61=H61;"0:00";"-"&ТЕКСТ(H61-G61;"ч:мм")))
 
polyarikspb, ошибся, столбец удалял ....=ЕСЛИ(H61>I61;H61-I61;ЕСЛИ(H61=I61;"0:00";"-"&ТЕКСТ(I61-H61;"ч:мм")))
 
Столкнулся с еще одной проблемкой - с выводом рабочих дней. Вот если, допустим, будет перенос рабочего дня на субботу или воскресенье, то как это учесть в формуле в столбце "А" на листе "Учет времени" =РАБДЕНЬ(A2;1;Праздники)    - где в формуле "Праздники" - это вручную прописываемые дни на листе "Данные". Предполагаю, что можно как то сделать дополнительный столбец с переносами рабочих дней на субботу и и воскресенье и чтобы этот столбец учитывался в формуле =РАБДЕНЬ(A2;1;Праздники)
 
Почитав интернет, пришел к выводу, что в Excel'е нет штатных средств для решения данной задачи (уже второй "косяк" у Excel'я в этой теме!).
Нужно что-то изобретать.
Изменено: Karataev - 06.08.2017 22:15:25
 
Karataev, ну раз так, значит надо и в правду  что то придумывать...с решением "косяков экселя". От первого я избавился (решение писал выше), а вот от этого пока не знаю как... Надеюсь на помощь форумчан
 
На листе "Данные" я сделал столбец "I". В него записывайте рабочие выходные дни.
Формулы я вставил на листе "Отчет" только в столбец "D". В остальные вставьте по такому же принципу.
Формула для "D4":
=ЧИСТРАБДНИ(A4;A4+(7-ДЕНЬНЕД(A4;2));Праздники)+СЧЁТЕСЛИМН(Данные!I:I;">="&A4;Данные!I:I;"<="&A4+(7-ДЕНЬНЕД(A4;2)))
Изменено: Karataev - 06.08.2017 22:29:49
 
Karataev, попробую Ваше решение, спасибо
 
Karataev, прошу прощения, что снова обращаюсь за помощью, я понял, что у меня Ваша формула по такому же принципу, как для "D4" работает только "для недели 2" - столбец "G4"        =ЧИСТРАБДНИ(A4+(8-ДЕНЬНЕД(A4;2));A4+(8-ДЕНЬНЕД(A4;2))+6;Праздники)+СЧЁТЕСЛИМН(Данные!I:I;">="&A4;Данные!I:I;"<="&A4+(8-ДЕНЬНЕД(A4;2))+6)     а для остальных недель с 3 по 6, столбцы J4, M4, P4, S4, и для месяца - столбец W4 - не работает
 
Для столбца "G" еще сделал пример. Вы неправильно указали начало недели, Вы взяли начало недели для первой недели, а не для второй. Вот формула для "G4":
=ЧИСТРАБДНИ(A4+(8-ДЕНЬНЕД(A4;2));A4+(8-ДЕНЬНЕД(A4;2))+6;Праздники)+СЧЁТЕСЛИМН(Данные!I:I;">="&A4+(8-ДЕНЬНЕД(A4;2));Данные!I:I;"<="&A4+(8-ДЕНЬНЕД(A4;2))+6)
 
Цитата
Karataev написал: первая неделя в году, это неделя, в которой 1 января.
Нет. Первая неделя - в которой первый четверг.
 
Karataev, теперь у меня почти получилось, вот только под вопросом осталось с рабочими днями за месяц в столбце "W", не пойму как там применить правильно формулу. А также есть небольшие сомнения в столбце "S"
 
В столбец "S" Вы добавили подсчет количества рабочих выходных дней после всей формулы, а надо было вставить внутрь формулы.
Обратил внимание, что на листе "Данные" дата в "G15" не учитывается формулами, т.к. имя "Праздники" это диапазон "G$2:$G$14". Попробуйте использовать умную таблицу. Я изменил имя "Праздники" и теперь это имя будет видеть все добавляемые Вами праздники. Только обратите внимание, что ячейка "G15" не входит в умную таблицу. Вам надо включить эту ячейку в умную таблицу, чтобы моя формула сработала.
Изменено: Karataev - 22.08.2017 09:20:45
 
Karataev, спасибо, "потестю" вечером...верно ли все считает. Еще раз благодарю
Страницы: 1
Читают тему
Наверх