Added by on 2016-03-03

Номер недели по дате

Потребность знать номер рабочей недели для заданной даты (либо группы дат) очень востребованная вещь в управленческом учете. Понедельные отчеты, еженедельный контроль исполнения замысла, недельная сетка вещания в рекламе – все это требует умения определять номер рабочей недели для заданной даты. Задача, на первый взгляд, несложная, но (как неизменно) имеется пара очень значительных нюансов.

Во-первых, в различных государствах отсчет конца и начала самой семь дней – различаются. У нас в Российской Федерации днем отсчета семь дней принят понедельник, а в других государствах (к примеру, США и Израиле) – воскресенье.

Во-вторых, вопрос — какую семь дней вычислять первой? На сегодняшний момент существуют как минимум два главных варианта с различной логикой. Разглядим их последовательно.

Метод 1. Стандарт ГОСТ ИСО 8601-2001

Первой рабочей неделей года считается та, на которую выпадает первый четверг года (либо 4 января, в случае если желаете). Тут логика несложна. Первая семь дней – это та, на которую было нужно больше трех дней (больше половины семь дней) из наступившего года.

Некое неудобство в том, что в году получается в то время, когда 52, а в то время, когда 53 рабочих семь дней. Плюс ко всему 1 января может свободно появляться 52 семь дней прошлого года.

Но этот вариант официально принят в Российской Федерации с 2002 года как национальный и остается им сейчас (см. ГОСТ ИСО 8601-2001 ). Дабы посчитать номер семь дней по дате по таковой совокупности, возможно применять вот такую формулу:

=ОТБР(ОСТАТ(A1+3-ДЕНЬНЕД(A1;2);365,25)/7+1)

=TRUNC(MOD(A1+3-WEEKDAY(A1;2);365,25)/7+1)

В Excel 2013, кстати, функцию для расчета номера семь дней по ISO добавили в обычный комплект – она именуется НОМНЕДЕЛИ.ISO (WEEKNUM.ISO)

Метод 2. семь дней с 1-м января и функция НОМНЕДЕЛИ (WEEKNUM)

В этом случае первой семь дней года считается та, на которую попадает 1 января. Тут кроме этого появляется сложность в том, что в году может оказаться 52 либо 53 семь дней и, плюс ко всему, 1 января может выпасть на воскресенье, т.е. шесть последних дней года смогут

появляться уже в семь дней с номером 1, что затрудняет отчетность. Однако, в случае если таковой метод нумерации вам нужен, то его возможно реализовать функцией НОМНЕДЕЛИ (WEEKNUM).

В случае если у вас Excel не 2007 версии, то сперва нужно будет подключить надстройку Пакет анализа через меню Сервис-Надстройки (Tools — Add-Ins — Analysis ToolPak) . дабы к перечню функций Excel в категории время и Дата добавилась функция НОМНЕДЕЛИ (WEEKNUM). В Excel 2007 ничего намерено подключать не нужно — эта функция входит в обычный комплект. Дальше эту функцию в нужную ячейку и показываем в качестве довода ячейку с датой и точку отсчета семь дней (1 — с воскресенья, 2 – с понедельника):

При всей внешней простоте этого решения, тут имеется две засады. Во-первых, в случае если у того пользователя, что откроет ваш файл, не будет заблаговременно подключена надстройка Пакет анализа либо у него не Excel 2007 – он заметит вместо номера семь дней неточность #ЗНАЧ. Excel сам не выявит эту функцию, необходимо в обязательном порядке заблаговременно подключить надстройку.

Во-вторых, заглавия функций из надстроек Excel сам не переводит на другой язык при открытии книги в Excel с другой версией. Другими словами, в случае если кроме того у пользователя и подключена надстройка, но версия Excel английская, то он также заметит вместо номера семь дней неточность #VALUE. по причине того, что необходимо вручную исправить русское наименование функции НОМНЕДЕЛИ на британское WEEKNUM – лишь так она получит. Исходя из этого применение данной функции из надстройки Пакет анализа прекрасно лишь в тех случаях, в то время, когда предполагается, что никто не считая вас с файлом трудиться не будет.

А вдруг будет? Тогда лучше пойти вторым методом. Он более примитивен, но надежен. В случае если высказать предположение, что дата хранится в ячейке А1, то вот такая формула посчитает такой же номер семь дней, как и функция НОМНЕДЕЛИ:

=1+ЦЕЛОЕ(( A1 -ДАТА(ГОД( A1 +4-ДЕНЬНЕД( A1 +6));1;5)+ДЕНЬНЕД(ДАТА(ГОД( A1 +4-ДЕНЬНЕД( A1 +6));1;3)))/7)

либо в английской версии:

=1+INT((A1-DATE(YEAR(A1+4-WEEKDAY(A1+6)),1,5)+WEEKDAY(DATE(YEAR(A1+4-WEEKDAY(A1+6)),1,3)))/7)

Источник: www.planetaexcel.ru

Дни недели в Excel

Увлекательные записи:

Подборка статей, которая Вас должна заинтересовать:

Comments are closed.