Как посчитать неделю по дате в excel

Номер недели по дате функцией НОМНЕДЕЛИ

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

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

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

Способ 1. Стандарт ГОСТ ИСО 8601-2001 и функция НОМНЕДЕЛИ.ISO

Первой рабочей неделей года считается та, на которую выпадает первый четверг года (или 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)

Номер недели ISO

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

В этом случае первой неделей года считается та, на которую попадает 1 января. Здесь также возникает сложность в том, что в году может оказаться 52 или 53 недели и, плюс ко всему, 1 января может выпасть на воскресенье, т.е. шесть последних дней года могут оказаться уже в неделе с номером 1, что затрудняет отчетность. Тем не менее, если такой способ нумерации вам нужен, то его можно реализовать функцией НОМНЕДЕЛИ (WEEKNUM), появившейся в Excel начиная с 2007 года. Синтаксис этой функции таков:

=НОМНЕДЕЛИ(Дата; Тип_отсчета)

где

  • Дата — ячейка с датой, для которой нужно определить номер недели
  • Тип_отсчета — число (1, 2 или 3), обозначающее тип нумерации дней в неделе. Вариант 1 — американский (неделя начинается с воскресенья), вариант 2 — наш.

Номер недели функцией НОМНЕДЕЛИ

Ссылки по теме

  • Основные принципы работы с датами и временем в Microsoft Excel
  • Номер квартала по дате
  • Вычисление возраста или стажа в годах, месяцах, днях
  • Выпадающий календарь для удобного ввода даты из надстройки PLEX

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

В этой статье описаны синтаксис формулы и использование функции НОМНЕДЕЛЬ
в Microsoft Excel.

Описание

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

Для этой функции могут использоваться две разные системы.

  • Система 1    Неделя, на которую приходится 1 января, считается первой неделей года, и для нее возвращается число 1.

  • Система 2    Неделя, на которую приходится первый четверг года, считается первой неделей, и для нее возвращается число 1. Эта методика определена в стандарте ISO 8601, который широко используется в Европе для нумерации недель.

Синтаксис

НОМНЕДЕЛИ(дата_в_числовом_формате;[тип])

Аргументы функции НОМНЕДЕЛИ описаны ниже.

  • Дата_в_числовом_формате     Обязательный. Дата, по которой определяется неделя. Даты должны вводиться с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2008 г. воспользуйтесь выражением ДАТА(2008,5,23). Если даты вводятся как текст, это может привести к возникновению проблем.

  • Тип     Необязательный. Число, которое определяет, с какого дня начинается неделя. Значение по умолчанию — 1.

Тип

Начало недели

Система

1 или опущен

Воскресенье

1

2

Понедельник

1

11

Понедельник

1

12

Вторник

1

13

Среда

1

14

Четверг

1

15

Пятница

1

16

Суббота

1

17

Воскресенье

1

21

Понедельник

2

Замечание

  • В приложении Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 г. соответствует число 1, а 1 января 2008 г. — число 39 448, поскольку интервал между датами составляет 39 448 дней.

  • Если Serial_number находится вне диапазона для текущего базового значения даты, #NUM! возвращается ошибка.

  • Если Return_type находится вне диапазона, указанного в таблице выше, #NUM! возвращается ошибка.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные

09.03.2012

Формула

Описание

Результат

=НОМНЕДЕЛИ(A2)

Номер недели в году, на которую припадает дата 09.03.2012, если неделя начинается в воскресенье (по умолчанию).

10

=НОМНЕДЕЛИ(A2;2)

Номер недели в году, на которую припадает дата 09.03.2012, если неделя начинается в понедельник (второй аргумент, т. е. 2).

11

Нужна дополнительная помощь?

Содержание

  • Отображение дня недели в Экселе
    • Способ 1: применение форматирования
    • Способ 2: использование функции ТЕКСТ
    • Способ 3: применение функции ДЕНЬНЕД
  • Вопросы и ответы

День недели в Microsoft Excel

При работе в программе Excel иногда ставится задача, чтобы после ввода конкретной даты в ячейку выводился день недели, который ей соответствует. Естественно, решить данную задачу посредством такого мощного табличного процессора, как Эксель, возможно, причем несколькими способами. Давайте посмотрим, какие варианты существуют для выполнения данной операции.

Отображение дня недели в Экселе

Существуют несколько способов отобразить день недели по введенной дате, начиная от форматирования ячеек и заканчивая применением функций. Давайте взглянем на все существующие варианты выполнения указанной операции в Экселе, чтобы пользователь мог выбрать самый лучший из них для конкретной ситуации.

Способ 1: применение форматирования

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

  1. Вводим любую дату, содержащую данные о числе, месяце и годе, в ячейку на листе.
  2. Дата в Microsoft Excel

  3. Кликаем по ячейке правой кнопкой мыши. Запускается контекстное меню. Выбираем в нем позицию «Формат ячеек…».
  4. Переход в окно форматирования в Microsoft Excel

  5. Запускается окно форматирования. Перемещаемся во вкладку «Число», если оно было открыто в какой-нибудь другой вкладке. Далее в блоке параметров «Числовые форматы» устанавливаем переключатель в позицию «Все форматы». В поле «Тип» вручную вводим следующее значение:

    ДДДД

    После этого щелкаем по кнопке «OK» внизу окна.

  6. Окно форматирования в Microsoft Excel

  7. Как видим, в ячейке вместо даты отобразилось полное наименование дня недели ей соответствующего. При этом, выделив данную ячейку, в строке формул вы все равно увидите отображение даты.

День недели отобразился в ячейке в Microsoft Excel

В поле «Тип» окна форматирования вместо значения «ДДДД» можно также ввести выражение:

ДДД

Окно формат ячеек в Microsoft Excel

В этом случае на листе будет отображено сокращенное наименование дня недели.

Краткое отображение дня недели в Microsoft Excel

Урок: Как изменить формат ячейки в Экселе

Lumpics.ru

Способ 2: использование функции ТЕКСТ

Но способ, который был представлен выше, предусматривает преобразование даты в день недели. Существует ли вариант, чтобы оба эти значения выводились на листе? То есть, если в одной ячейке мы вводим дату, то в другой должен выводиться день недели. Да, такой вариант существует. Его можно осуществить при помощи формулы ТЕКСТ. В этом случае нужное нам значение будет выводиться в указанную ячейку в текстовом формате.

  1. Записываем дату на любом элементе листа. Затем выделяем любую пустую ячейку. Щелкаем по пиктограмме «Вставить функцию», которая расположена возле строки формул.
  2. Переход в Мастер функций в Microsoft Excel

  3. Происходит запуск окошка Мастера функций. Переходим в категорию «Текстовые» и из списка операторов выбираем наименование «ТЕКСТ».
  4. Переход в окно аргументов функции ТЕКСТ в Microsoft Excel

  5. Открывается окно аргументов функции ТЕКСТ. Данный оператор призван выводить указанное число в выбранном варианте текстового формата. Он имеет следующий синтаксис:

    =ТЕКСТ(Значение;Формат)

    В поле «Значение» нам нужно указать адрес той ячейки, в которой содержится дата. Для этого устанавливаем курсор в указанное поле и левой кнопкой мыши щелкаем по этой ячейке на листе. Адрес тут же отобразится.

    В поле «Формат» в зависимости от того, какое мы хотим иметь представление дня недели полное или сокращенное, вводим выражение «дддд» или «ддд» без кавычек.

    После ввода этих данных жмем на кнопку «OK».

  6. Окно аргументов функции ТЕКСТ в Microsoft Excel

  7. Как видим в ячейке, которую мы выбрали в самом начале, отобразилось обозначение дня недели в выбранном текстовом формате. Теперь у нас на листе отображается и дата, и день недели одновременно.

Результат обработки данных функцией ТЕКСТ в Microsoft Excel

Более того, если в ячейке изменить значение даты, то соответственно автоматически изменится и день недели. Таким образом, меняя дату можно узнавать на какой день недели она будет приходиться.

Данные изменены в Microsoft Excel

Урок: Мастер функций в Экселе

Способ 3: применение функции ДЕНЬНЕД

Имеется ещё один оператор, который может выводить день недели по заданной дате. Это функция ДЕНЬНЕД. Правда, она выводит не название дня недели, а его номер. При этом пользователь может устанавливать с какого дня (с воскресенья или с понедельника) нумерация будет отсчитываться.

  1. Выделяем ячейку для вывода номера дня недели. Щелкаем по значку «Вставить функцию».
  2. Вставить функцию в Microsoft Excel

  3. Снова открывается окошко Мастера функций. На этот раз переходим в категорию «Дата и время». Выбираем наименование «ДЕНЬНЕД» и жмем на кнопку «OK».
  4. Переход в окно аргументов функции ДЕНЬНЕД в Microsoft Excel

  5. Производится переход в окно аргументов оператора ДЕНЬНЕД. Он имеет следующий синтаксис:

    =ДЕНЬНЕД(дата_в_числовом_формате;[тип])

    В поле «Дата в числовом формате» вводим конкретную дату или адрес ячейки на листе, в которой она содержится.

    В поле «Тип» задается число от 1 до 3, которое определяет, как именно будут нумероваться дни недели. При установке числа «1» нумерация будет происходить, начиная с воскресенья, причем этому дню недели будет присвоен порядковый номер «1». При установке значения «2» нумерация будет выполняться, начиная с понедельника. Этому дню недели будет дан порядковый номер «1». При установке значения «3» нумерация так же будет происходить с понедельника, но в этом случае понедельнику будет присвоен порядковый номер «0».

    Аргумент «Тип» не является обязательным. Но, если его опустить, то считается, что значение аргумента равно «1», то есть, неделя начинается с воскресенья. Так принято в англоязычных странах, но нам данный вариант не подходит. Поэтому в поле «Тип» ставим значение «2».

    После выполнения указанных действий щелкаем по кнопке «OK».

  6. Окно аргументов функции ДЕНЬНЕД в Microsoft Excel

  7. Как видим, в указанную ячейку выводится порядковый номер дня недели, который соответствует введенной дате. В нашем случае это число «3», которое обозначает среду.

Результат обработки данных функцией ДЕНЬНЕД в Microsoft Excel

Как и с предыдущей функцией, при изменении даты автоматически изменяется номер дня недели в ячейке, в которой установлен оператор.

Изменение даты в Microsoft Excel

Урок: Функции даты и времени в Экселе

Как видим, в Экселе существуют три основных варианта представления даты в виде дня недели. Все они относительно просты и не требуют от пользователя наличия каких-то специфических умений. Один из них заключается в применении специальных форматов, а два других для достижения указанных целей используют встроенные функции. Учитывая, что механизм и способ отображения данных в каждом описанном случае существенно отличаются, пользователь должен сам выбрать, какой из указанных вариантов в конкретной ситуации ему подходит более всего.

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

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

Способ 1. Стандарт ГОСТ ИСО 8601-2001

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

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

Этот вариант официально принят в России

Этот вариант официально принят в России

В англоязычной версии это будет =TRUNC(MOD(A1+3-WEEKDAY(A1;2);365,25)/7+1). В Excel 2013 / 2016 функцию для расчета номера недели по ISO добавили в стандартный набор – она называется НОМНЕДЕЛИ.ISO (WEEKNUM.ISO).

Функцию для расчета номера недели по ISO добавили в стандартный набор

Функцию для расчета номера недели по ISO добавили в стандартный набор

Способ 2. Неделя с 1-м января

В этом случае первой неделей года считается та, на которую попадает 1 января. Здесь также возникает сложность в том, что в году может оказаться 52 или 53 недели и, плюс ко всему, 1 января может выпасть на воскресенье, т.е. шесть последних дней года могут оказаться уже в неделе с номером 1, что затрудняет отчетность. Тем не менее, если такой способ нумерации вам нужен, то его можно реализовать функцией НОМНЕДЕЛИ (WEEKNUM).

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

Вставляем эту функцию в нужную ячейку и указываем в качестве аргумента ячейку с датой и точку отсчета недели (1 – с воскресенья, 2 – с понедельника).

В Excel 2007–2016 ничего специально подключать не надо

В Excel 2007–2016 ничего специально подключать не надо

При всей внешней простоте этого решения тут есть две тонкости. Во-первых, если у того пользователя, который откроет ваш файл, не будет заранее подключена надстройка Пакет анализа или у него не Excel 2007–2016 – он увидит вместо номера недели ошибку #ЗНАЧ!. 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).

Внесите дату, к которой вы хотите узнать номер недели, в ячейку таблицы Excel. В нашем примере это 5 августа 2016. Дата внесена в ячейку «С4».

Теперь нажмите на пустую ячейку и внесите функцию «=НОМНЕДЕЛИ(С4;21)». Первый параметр из скобок задает ячейку, второй — день начала календарной недели.

Определите номер недели для заданной даты. В помощью простой функции Excel Вы всегда можете узнать номер недели для заданной даты

Определите номер недели для заданной даты. В помощью простой функции Excel Вы всегда можете узнать номер недели для заданной даты

Если вы внесете параметр «11», то неделя начнется с понедельника, с параметрами от «12» до «17» — со вторника по воскресенье, соответственно.

В Европе по стандарту ISO 8601 первой календарной неделей считается та неделя, на которую приходится первый четверг года. С параметром «21» вы всегда сможете подстраховаться от неточностей.

Фото: компания-производитель

Понравилась статья? Поделить с друзьями:
  • Как посчитать надбавку к зарплате в excel
  • Как посчитать не пустые клетки в excel
  • Как посчитать надбавку в excel формула
  • Как посчитать надбавку в excel за стаж
  • Как посчитать на сколько процентов уменьшилось число в excel