Страницы: 1
RSS
Количество дней в неделе по номеру неделе в месяце, номеру месяца, года.
 
Добрый день!
годМесяцНомер недели в   месяце
2016            75
201681
201682
201683
201684
201685
201691
подскажите формулу для вычисления количества дней в неделях.

Спасибо.  
Изменено: Nikioio - 18.05.2017 17:07:23
 
Здравствуйте! Проверяйте:
 
Здравствуйте. Еще вариант. Можно сказать массивная, но вводится без трех клавиш.
Код
=СУММПРОИЗВ(--(НОМНЕДЕЛИ(((("1."&C5&"."&B5)-1)+СТРОКА($1:$31)>=--("1."&C5&"."&B5))*((("1."&C5&"."&B5)-1)+СТРОКА($1:$31)<=КОНМЕСЯЦА(--("1."&C5&"."&B5);0))*((("1."&C5&"."&B5)-1)+СТРОКА($1:$31));2)-(НОМНЕДЕЛИ(--("1."&C5&"."&B5);2)-1)=D5))
 
НОМНЕДЕЛИ в данном случае использовать нельзя.
Цитата
Система 2  Неделя, на которую приходится первый четверг года, считается первой неделей, и для нее возвращается число 1.
Функция определяет номер недели года, а в задаче нужно вычислить номер недели месяца

Вот, на скорую руку. Желающие, упрощайте.
=ВЫБОР(D5;8-ДЕНЬНЕД(ДАТА(B5;C5;1);2);7;7;7;МИН(7;ДЕНЬ(ДАТА(B5;C5+1;1)-1)-29+ДЕНЬНЕД(ДАТА(B5;C5;1);2));ЕСЛИ(ДЕНЬНЕД(ДАТА(B5;C5+1;1)-1;2)<3;ДЕНЬНЕД(ДАТА(B5;C5+1;1)-1;2);))
Здесь:
неделя 1: 8-ДЕНЬНЕД(ДАТА(B5;C5;1);2);
нелели 2-4 - всегда по 7 дней;
неделя 5: МИН(7;ДЕНЬ(ДАТА(B5;C5+1;1)-1)-29+ДЕНЬНЕД(ДАТА(B5;C5;1);2))
неделя 6: ЕСЛИ(ДЕНЬНЕД(ДАТА(B5;C5+1;1)-1;2)<3;ДЕНЬНЕД(ДАТА(B5;C5+1;1)-1;2);))
Расписал по частям и увидел ошибку:  ЕСЛИ(ДЕНЬНЕД(ДАТА(B5;C5+1;1)-1;2)<3 - в неделе5 тоже можеет быть от одного дня и больше
 
Но вроде здесь это обойдено
Код
((("1."&C5&"."&B5)-1)+СТРОКА($1:$31));2)-(НОМНЕДЕЛИ(--("1."&C5&"."&B5);2)-1)

Предположим что С5=январь, тогда 1 января это в любом случае первая неделя года и от первой недели отнять НОМНЕДЕЛИ(--("1."&C5&"."&B5);2)-1=0 будет 1.  В формуле от недели годовой вычитается номер предыдущей недели начала месяца, в результате искомый месяц начинается с первой недели. Вроде как правильно, но нужно погонять, мож где что и выскочит.

Изменено: gling - 19.05.2017 00:18:50
 
Не проверял, функция насторожила...
 
я точно знаю 2-я, 3-я и 4-я недели месяца ВСЕГДА содержат по 7 дней, а остальное-таки нужно считать
и для старта нужно бы определиться с терминологией:
если первая неделя года - это неделя, которая содержит 1-й четверг в году
то, видимо, 1 число месяца всегда принадлежит первой неделе этого месяца даже если это воскресенье (последний день
не этой неделе)
таким образом месяц может содержать от 4 до 6 недель, первая и последняя могут содержать произвольное количество дней, а все внутренние - по 7.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Вариант решения.
=ВЫБОР(C2;ОСТАТ(1-ДАТА(A2;B2;1);7)+1;7;7;7;7-ОСТАТ(1-ДАТА(A2;B2+1;1)+1;7))
Ошибок работы формулы не обнаружил. Возможно и есть. Надеюсь ТС проверит.
Алексей М.
 
Коллеги, в продолжении темы. Теперь мне необходимо вычислить либо массив дат входящих в неделю и вернуть количество с учетом не рабочих. Файл во вложении.
 
С такой постановкой задач и отношением к форуму Вам наверное лучше обратиться сюда
 
Цитата
Nikioio написал:
Коллеги, <...> Теперь мне необходимо вычислить либо массив дат
Коллеги, автору необходимо ))
 
Мне всегда казалось что данная площадка только расширяется в своем многообразии и привлекает все больше и больше людей от подобного рода вопросов. Я сам порекомендовал данный форум не одному пользователю.

Давайте воспринимать данную тему спортивным интересом. Если эту задачу не возможно решить интересом -  обсудим вознаграждение.

Спасибо.
 
Nikioio, Вам несколько людей помогали - Вы ни одному из них даже не ответили, не поблагодарили. Не сообщили - подошли Вам решения или нет. Но уже ставите новую задачу. Это нормально?
 
Ребята, прошу прощения. Спасибо всем кто помогал. Вы меня не раз выручали. От души.
 
Вопрос для другой темы.
 
Обнаружил ошибку определения количества дней в последней неделе из за отсутствия в формуле определения количества недель в месяце.
Количество недель определяется в столбце D.
Формула определения дней в неделе использует значения столбца D. При желании можно сделать одну формулу.
Формула определения количества недель
=ОТБР((ДЕНЬ(ДАТА(A2;B2+1;))+ДЕНЬНЕД(ДАТА(A2;B2;1);2)+5)/7)
Количество дней в неделе
=ЕСЛИ(C2=1;ОСТАТ(1-ДАТА(A2;B2;1);7)+1;ЕСЛИ(C2=D2;7-ОСТАТ(1-ДАТА(A2;B2+1;1)+1;7);7))
Алексей М.
Страницы: 1
Наверх