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. Стандарт ГОСТ ИСО 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)
Способ 2. Неделя с 1-м января и функция НОМНЕДЕЛИ (WEEKNUM)
В этом случае первой неделей года считается та, на которую попадает 1 января. Здесь также возникает сложность в том, что в году может оказаться 52 или 53 недели и, плюс ко всему, 1 января может выпасть на воскресенье, т.е. шесть последних дней года могут оказаться уже в неделе с номером 1, что затрудняет отчетность. Тем не менее, если такой способ нумерации вам нужен, то его можно реализовать функцией НОМНЕДЕЛИ (WEEKNUM), появившейся в Excel начиная с 2007 года. Синтаксис этой функции таков:
=НОМНЕДЕЛИ(Дата; Тип_отсчета)
где
- Дата — ячейка с датой, для которой нужно определить номер недели
- Тип_отсчета — число (1, 2 или 3), обозначающее тип нумерации дней в неделе. Вариант 1 — американский (неделя начинается с воскресенья), вариант 2 — наш.
Ссылки по теме
- Основные принципы работы с датами и временем в Microsoft Excel
- Номер квартала по дате
- Вычисление возраста или стажа в годах, месяцах, днях
- Выпадающий календарь для удобного ввода даты из надстройки PLEX
Содержание
- Номер недели по дате функцией НОМНЕДЕЛИ
- Способ 1. Стандарт ГОСТ ИСО 8601-2001 и функция НОМНЕДЕЛИ.ISO
- Способ 2. Неделя с 1-м января и функция НОМНЕДЕЛИ (WEEKNUM)
- Функция НОМНЕДЕЛИ() в EXCEL
- Примеры
- Альтернативные решения
- Номера недели по стандарту ISO8601:2000 (ГОСТ ИСО 8601-2001)
- Excel номер недели по дате
- НОМНЕДЕЛИ (функция НОМНЕДЕЛИ)
- Описание
- Синтаксис
- Замечание
- Пример
- Установка дня недели по дате в Microsoft Excel
- Отображение дня недели в Экселе
- Способ 1: применение форматирования
- Способ 2: использование функции ТЕКСТ
- Способ 3: применение функции ДЕНЬНЕД
- Номер недели по дате функцией НОМНЕДЕЛИ
- Способ 1. Стандарт ГОСТ ИСО 8601-2001 и функция НОМНЕДЕЛИ.ISO
- Способ 2. Неделя с 1-м января и функция НОМНЕДЕЛИ (WEEKNUM)
- Узнать номер недели, месяца и года по дате в ячейке (VBA)
- Возможно ли сопоставить номер недели с интервалом дат? (Формулы)
- вычисление даты по дню недели (Формулы/Formulas)
- Номер недели. (формула, проблемка)
Номер недели по дате функцией НОМНЕДЕЛИ
Потребность знать номер рабочей недели для заданной даты (или группы дат) весьма востребованная вещь в управленческом учете. Понедельные отчеты, еженедельный контроль выполнения плана, недельная сетка вещания в рекламе – все это требует умения определять номер рабочей недели для заданной даты. Задача, на первый взгляд, простая, но (как всегда) есть несколько весьма существенных нюансов.
Во-первых, в разных странах отсчет начала и конца самой недели – различаются. У нас в России днем отсчета недели принят понедельник, а в других странах (например, США и Израиле) – воскресенье.
Во-вторых, вопрос — какую неделю считать первой? На сегодняшний момент существуют как минимум два основных варианта с разной логикой. Рассмотрим их последовательно.
Способ 1. Стандарт ГОСТ ИСО 8601-2001 и функция НОМНЕДЕЛИ.ISO
Первой рабочей неделей года считается та, на которую выпадает первый четверг года (или 4 января, если хотите). Здесь логика проста. Первая неделя – это та, на которую пришлось больше трех дней (больше половины недели) из наступившего года. Некоторое неудобство в том, что в году получается когда 52, а когда 53 рабочих недели. Плюс ко всему 1 января может запросто оказаться 52 неделей предыдущего года.
Но именно этот вариант официально принят в России с 2002 года как государственный и остается им на данный момент (см. ГОСТ ИСО 8601-2001). Чтобы посчитать номер недели по дате по такой системе, можно использовать вот такую формулу:
В Excel 2013 функцию для расчета номера недели по ISO добавили в стандартный набор – она называется НОМНЕДЕЛИ.ISO (WEEKNUM.ISO)
Способ 2. Неделя с 1-м января и функция НОМНЕДЕЛИ (WEEKNUM)
В этом случае первой неделей года считается та, на которую попадает 1 января. Здесь также возникает сложность в том, что в году может оказаться 52 или 53 недели и, плюс ко всему, 1 января может выпасть на воскресенье, т.е. шесть последних дней года могут оказаться уже в неделе с номером 1, что затрудняет отчетность. Тем не менее, если такой способ нумерации вам нужен, то его можно реализовать функцией НОМНЕДЕЛИ (WEEKNUM) , появившейся в Excel начиная с 2007 года. Синтаксис этой функции таков:
=НОМНЕДЕЛИ( Дата ; Тип_отсчета )
- Дата — ячейка с датой, для которой нужно определить номер недели
- Тип_отсчета — число (1, 2 или 3), обозначающее тип нумерации дней в неделе. Вариант 1 — американский (неделя начинается с воскресенья), вариант 2 — наш.
Источник
Функция НОМНЕДЕЛИ() в EXCEL
history 12 апреля 2013 г.
НОМНЕДЕЛИ(дата_в_числовом_формате;[тип])
Дата — дата, день по которой определяется номер недели. Даты должны вводиться в поддерживаемом EXCEL формате дат (28/02/2011, 28 февраль 2011 и т.д.) или в числовом формате или как результат вычисления других формул.
Тип — число 1 или 2. Если аргумент тип равен 1 или опущен, то Воскресенье считается первым днем недели, Понедельник — вторым и т.д. Если аргумент тип равен 2, то Понедельник считается первым днем недели, Вторник — вторым и т.д. (так принято в РФ).
Функция НОМНЕДЕЛИ() считает, что первая неделя года начинается с 1-го января. В ней может оказаться от 1 до 7 дней (1 января соответственно попадает на воскресенье или понедельник) и, как следствие, первая неделя может начинаться не с понедельника.
Примеры
Если в ячейке А1 находится дата 28.02.2011 , то формула =НОМНЕДЕЛИ(A1;2) вернет номер недели в году (10), которой принадлежит эта дата. Т.к. аргумент тип=2, то считается, что неделя начинается в понедельник.
Альтернативные решения
Если в ячейке А3 находится дата, то альтернативой использованию функции НОМНЕДЕЛИ() с типом 2 (как принято в РФ) является формула: =1+ЦЕЛОЕ((A3-(ДАТА(ГОД(A3);1;2)-ДЕНЬНЕД(ДАТА(ГОД(A3);1;0))))/7)
Альтернативой использованию функции НОМНЕДЕЛИ() с типом 1 является формула: =1+ЦЕЛОЕ((A3-(ДАТА(ГОД(A3);1;2)-ДЕНЬНЕД(ДАТА(ГОД(A3);1;1))))/7)
Номера недели по стандарту ISO8601:2000 (ГОСТ ИСО 8601-2001)
В соответствии со стандартом ISO8601:2000 нумерация недель в году происходит по-другому: все недели начинаются с понедельника и длятся 7 дней. Первой неделей считается та, на которую попадает первый четверг нового года (т.е. первая неделя должна содержать не менее 4 дней из нового года). Об определении номера недели по этому стандарту читайте в статье Номер недели .
Источник
Excel номер недели по дате
НОМНЕДЕЛИ (функция НОМНЕДЕЛИ)
Смотрите такжеПросто и без Сергей сразу же европейскому стандарту.»stulmart
Описание
нужно чтобы ниже — dtmTemp) цикла нужно указать файлы 1.PNG (14.04 год — year(date). или 53 недели вещь в управленческом номер
у нас наНо способ, который былСкачать последнюю версию
1В этой статье описаны извратов:) правильно развенчал егоopenid.mail.ru/mail/vlad3622340: Nic70y, скажите пожалуйста,
был прописан интервал 7 + 1 х = номер КБ)kolyambus55rus и, плюс ко учете. Понедельные отчеты,«1» листе отображается и представлен выше, предусматривает Excel
Синтаксис
синтаксис формулы иDiana
примером 01.01.2010 -: Добрый день всем! если я на дат этой недели End If End первой строки сKuklP: По поводу месяца: всему, 1 января еженедельный контроль выполнения. При установке значения дата, и день преобразование даты вСуществуют несколько способов отобразитьСуббота использование функции
: Интересно, что-то ZVI нулевая неделя.Пример во вложении. следующей неделе, например (1 неделя - If Next xЕсли
данными которые обрабатываем)
: kolyambus55rus, кто Вам
Dim thisDate As
может выпасть на
плана, недельная сетка
день недели. Существует
22 числа поставлю
Date Dim thisMonth
воскресенье, т.е. шесть
вещания в рекламе
нумерация так же
Более того, если в
ли вариант, чтобы
введенной дате, начиная
в Microsoft Excel.
Он обычно всегда
: Vlad, 01.012010, это
Замечание
как и я, = MonthName(Month(Cells( x, форуме по Эксель As Integer thisDate последних дней года – все это будет происходить с ячейке изменить значение оба эти значения от форматирования ячеекВоскресеньеВозвращает номер недели для находит решения не
перед глазами календарик какая неделя? ячейке, то будет: Была похожая тема искать, думаю пригодиться.
8).Value)) уместно выкладывать картинки? = Worksheets(«1».Cells(1 + могут оказаться уже требует умения определять
Пример
понедельника, но в даты, то соответственно выводились на листе? и заканчивая применением1 определенной даты. Например, в стандартных ситуациях в Excel наInter_E вычисляться уже следующаяHugoВсем большое спасибо, редкоVitallic
номер рабочей недели
этом случае понедельнику
автоматически изменится и
То есть, если функций. Давайте взглянем21 неделя, на которую :)
любой вводимый год
среда, т.е. 28.03: У меня кстати найдешь такой форум: Можно почитать Вокенбаха А так не Month(thisDate) Worksheets(«1».Cells(1 +
Установка дня недели по дате в Microsoft Excel
для заданной даты. будет присвоен порядковый день недели. Таким в одной ячейке на все существующиеПонедельник приходится 1 января,Z с номерами всехконечно читал, но ? НОМНЕДЕЛИ() не работает. где тебе сразу (указаную выше книгу), проще, одной строкой:
i, 10) = затрудняет отчетность. Тем
Отображение дня недели в Экселе
Задача, на первый номер образом, меняя дату мы вводим дату, варианты выполнения указанной2 считается первой неделей: 1 — «*Для недель. не полностью всеChe79И кстати - помогут!
Способ 1: применение форматирования
еще Б.Джелен -MsgBox MonthName(Month([a1])) thisMonthНе получается.) Извините не менее, если взгляд, простая, но«0» можно узнавать на то в другой операции в Экселе,В приложении Excel даты года, и для
- этой функции могутЯ нашёл закономерность детали.: Другой день эти номера недель
p.s. 29 декабря Застосування VBA іеще: за тупость, я такой способ нумерации (как всегда) есть
. какой день недели должен выводиться день чтобы пользователь мог хранятся в виде нее возвращается число использоваться две разные для № первойНа мобильном телефоне=ОСТАТ(A1+1-СЕГОДНЯ();7)+СЕГОДНЯ() тоже бывает по 2014 года распознала макросів у Excel.MsgBox format([a1], «MMMM») только учусь.
несколько весьма существенныхАргумент она будет приходиться. недели. Да, такой
Лично я рекомендовал?Vitallic его можно реализовать нюансов.«Тип»Урок:
вариант существует. Его
из них для позволяет использовать ихДля этой функции могутСистема 1 Неделя,
ней формулу и А он как выпадающий список с
Способ 2: использование функции ТЕКСТ
_Boroda_ (что правильно) а бы в такомв а1 -: Попробуйте: функцией НОМНЕДЕЛИ (WEEKNUM),Во-первых, в разных странахне является обязательным.Мастер функций в Экселе можно осуществить при конкретной ситуации. в вычислениях. По использоваться две разные на которую приходится для очистки совести узнает? номерами дней недели: как-то так 30 и 31 порядке: дата.sub tt ()
- появившейся в Excel отсчет начала и Но, если егоИмеется ещё один оператор, помощи формулыПрежде всего, посмотрим, как умолчанию дате 1 системы.
1 января, считается протестировал её всемиПросто я обрабатываю (1-пн, 2-вт. )jakim как 53. . 1. Вокенбахkolyambus55rus
Dim x% , начиная с 2007 конца самой недели опустить, то считается, который может выводитьТЕКСТ при помощи форматирования
января 1900 г. соответствует
Система 1 первой неделей года, годами с 2009 базу дат вNic70y: Может так?k612. Джелен: конечно проще.) Спасибо! lr% lr = года. Синтаксис этой – различаются. У что значение аргумента
день недели по. В этом случае ячеек можно отобразить число 1, а Неделя, на которую приходится и для нее по 2040 - 500 000 строк: нет 21.03jakim: Сократим:Юрий М
Представляю ваше возмущение, ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row for функции таков: нас в России
: Можно и так.Sub www() Dim: Загляните ещё я сам, когда x = 1=НОМНЕДЕЛИ(Дата; Тип_отсчета) днем отсчета недели«1» функция
будет выводиться в введенной дате. Данный
Способ 3: применение функции ДЕНЬНЕД
г. — число 39 448, первой неделей года,Система 2 Неделя,Синтаксис попытался описать быстрое решение ето: Nic70y, а нужноLans x&, lr& lrKuklP кто то делает to lr stepгде принят понедельник, а, то есть, неделяДЕНЬНЕД
- указанную ячейку в вариант подразумевает преобразование поскольку интервал между и для нее на которую приходится
в сообщении в просто отнимать цифру чтобы была следующая: Выкладываю свое решение. = ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row: Я просто показал, глупости, так же 1 Cells(1+x,10)=month(cells(1+x,8).value) NextДата в других странах начинается с воскресенья.
. Правда, она выводит текстовом формате. даты в указанное датами составляет 39 448 возвращается число 1.
первый четверг (. -Z)
10:43. «1»? Или как среда, т.е. 28.03.2018 Решил, что лучше For x = как можно извлечь
реагирую. x End sub- ячейка с (например, США и Так принято в не название дняЗаписываем дату на любом значение, а не дней.Система 2 года, считается первойНаверняка можно короче, то подругому можноsboy сделать определение начала 2 To lr название месяца изVitallicкитин датой, для которой Израиле) – воскресенье. англоязычных странах, но недели, а его элементе листа. Затем сохранение отображения обоихЕсли значение «дата_в_числовом_формате» находится Неделя, на которую приходится неделей, и для но это - настроить неделю?: 22 на этой недели в одной Step 1 Cells(x, даты без цикла.: , я так
: номер недели нужно определить номерВо-вторых, вопрос — какую нам данный вариант номер. При этом выделяем любую пустую этих видов данных вне диапазона для первый четверг года, нее возвращается число к формулистам.Serge неделе. а формула ячейке. 10) = MonthName(Month(Cells(x, msgbox только для понимаю ТС нужно=НОМНЕДЕЛИ(A2;2)номер месяца недели
неделю считать первой? не подходит. Поэтому пользователь может устанавливать ячейку. Щелкаем по
8).Value)) ‘ Определяем примера. Переписывать код циклом пройтись по=МЕСЯЦ(A2)Тип_отсчета На сегодняшний момент
в поле с какого дня пиктограмме
Вводим любую дату, содержащую даты, возвращается ошибка и для нее2 — Кто: =СУММПРОИЗВ(—(ДЕНЬНЕД(СТРОКА(ИНДЕКС(A:A;ДАТА(ГОД(A1);1;1)):ИНДЕКС(A:A;A1));2)=7))+(ДЕНЬНЕД(A1;2)<>7) путём, то =НОМНЕДЕЛИ(дата;2)-1Nic70y: Помогите пожалуйста! Перерыл месяц Cells(x, 9) автора с картинки, таблице в которойчто мешает просто- число (1, существуют как минимум«Тип» (с воскресенья или«Вставить функцию» данные о числе, #ЧИСЛО!. возвращается число 1. в какой стране-государстве,Diana попроще будет?, с 22.03 по
Номер недели по дате функцией НОМНЕДЕЛИ
= DateDiff(«ww», DateSerial(Year(Cells(x, знаете ли, ни 100 000 строк протянуть 2 колонки? 2 или 3), два основных вариантаставим значение с понедельника) нумерация, которая расположена возле месяце и годе,Если значение «тип» не Эта методика определена какая локаль и: Это я тожеSerge 28.03 будет показывать никак не пойму 8).Value) — 1,
времени, ни желанияс помощью msgboxkolyambus55rus обозначающее тип нумерации с разной логикой.«2» будет отсчитываться. строки формул. в ячейку на входит в диапазон,
в стандарте ISO т.п. Недели ведь не пропущу :): Думаю правильней будет 28.03 как вычислить дату 12, 31), _
Способ 1. Стандарт ГОСТ ИСО 8601-2001 и функция НОМНЕДЕЛИ.ISO
не было. это будет утомительно: дней в неделе. Рассмотрим их последовательно..Выделяем ячейку для выводаПроисходит запуск окошка листе. указанный в таблице 8601, который широко тоже разные:-)=ОКРУГЛ((A1-ДАТА(ГОД(A1-ДЕНЬНЕД(A1-1)+4);1;3)+ДЕНЬНЕД(ДАТА(ГОД(A1-ДЕНЬНЕД(A1-1)+4);1;3))+5)/7;0) определять день неделиstulmart по реальному дню Cells(x, 8).Value, vbFirstFourDays)kolyambus55rus (долго) да икитин Вариант 1 -
Первой рабочей неделей годаПосле выполнения указанных действий номера дня недели.Мастера функцийКликаем по ячейке правой выше, возвращается ошибка используется в ЕвропеZ.openid.mail.ru/mail/vlad3622340 и считать их: sboy, ок спасибо. недели. Задача рассчитать
как потом анализироватья бы с американский (неделя начинается считается та, на щелкаем по кнопке Щелкаем по значку. Переходим в категорию
Способ 2. Неделя с 1-м января и функция НОМНЕДЕЛИ (WEEKNUM)
кнопкой мыши. Запускается #ЧИСЛО!. для нумерации недель.89623: Добрый день! количество с начала Просто он написал дату звонка клиенту номер недели Next общий код макроса, (фильтровать?) удовольствием все на с воскресенья), вариант которую выпадает первый«OK»«Вставить функцию»«Текстовые» контекстное меню. ВыбираемСкопируйте образец данных изНОМНЕДЕЛИ(дата_в_числовом_формате;[тип])ZИзвиняюсь, но по года. Правда никогда что 21.03 если он не x End Sub для определения месяца
формула привязал, но
- 2 — наш. четверг года (или..и из списка
- в нем позицию следующей таблицы иАргументы функции НОМНЕДЕЛИ описаны: Вариант для Inter_E вышеприведённым формулам уважаемых этим не заморачивался. Inter_E пришел на консультацию. re:P.S. ГОСТ ИСО
Узнать номер недели, месяца и года по дате в ячейке (VBA)
и недели, я в предыдущем макросе строк с данными
kolyambus55rus 4 января, еслиКак видим, в указаннуюСнова открывается окошко операторов выбираем наименование«Формат ячеек…» вставьте их в ниже. (Astana_KZ)- «=НОМНЕДЕЛИ(A2;21)». kim и DianaSerge
: Добрый день! Звонить надо каждую 8601-2001, п.2.17 «. Первой вставил следующий код: что так много свыше 100 000: Всем доброго времени хотите). Здесь логика ячейку выводится порядковыйМастера функций«ТЕКСТ»
. ячейку A1 новогоДата_в_числовом_формате
Z. Tailor получается, что: Это я Владу(прикр.файл) среду. В ячейке календарной неделей года’ Определяем месяц строк, а потому и любая формула суток. проста. Первая неделя номер дня недели,. На этот раз.Запускается окно форматирования. Перемещаемся
листа Excel. Чтобы Обязательный. Дата, по
97277 сегодня 38-я неделя.
писал, в ответХотел использовать формулу
где должна ставиться считают первую неделю, Dim x&, lr&тип переменных надо порядком увеличивает размерПерерыл интернет (может – это та, который соответствует введенной переходим в категориюОткрывается окно аргументов функции
во вкладку отобразить результаты формул,
которой определяется неделя.lapink2000Но по европейскому на =номнедели() для сегодняшнего отметка «пришел / содержащую первый четверг lr = ActiveSheet.Cells(Rows.Count,
обьявить как long файла.
плохо рыл раз
на которую пришлось
дате. В нашем«Дата и время»
ТЕКСТ«Число» выделите их и Даты должны вводиться: На всякий случай, стандарту сегодня 37-я=ЕСЛИ(ДЕНЬНЕД(ДАТА(ГОД(A2);1;1);2) :) числа, но что да» или «не текущего года». 29 8).End(xlUp).Row For x
(или &)seregeyss не нашел), литературку больше трех дней случае это число. Выбираем наименование. Данный оператор призван, если оно было нажмите клавишу F2, с использованием функции велосипед уже изобретен
неделя, т.к. 1Serge то неправильно показывает.
пришел / нет» декабря 2014 года = 2 ToVitallic: Sub Макрос1() ‘ полистал, но так (больше половины недели)«3»«ДЕНЬНЕД» выводить указанное число открыто в какой-нибудь а затем — ДАТА или как
— важно выбрать
янв. 2010г. было: Не, это я В панели управлений — проставлено значение это 53-я неделя.
lr Step 1: месяц меняйте на ‘ Макрос1 Макрос
и не нашел из наступившего года., которое обозначает среду.и жмем на в выбранном варианте другой вкладке. Далее клавишу ВВОД. При
результат вычисления других нужную модель :) пятницей и это фигнню каку-то написал, все на Русском
«нет». В другойkolyambus55rus Cells(x, 10) =
свой (не очень
‘ ‘ ActiveCell.FormulaR1C1
метод определения по
Некоторое неудобство в
Как и с предыдущей кнопку
текстового формата. Он в блоке параметров
необходимости измените ширину формул и функций.Diana была не первая, это совсем не
стоит, не Америка, ячейке нужно написать: MonthName(Month(Cells(x, 8).Value)) ‘и ориентируюсь в русских = «=WEEKNUM(RC[-1])» Range(«C2».Select
дате в ячейке том, что в функцией, при изменении«OK» имеет следующий синтаксис:
«Числовые форматы» столбцов, чтобы видеть Например, для указания: Ну вот, скачала
а 52-я неделя. продуктивно. метрическая система стоит.
что-то вроде (еслиk61 неделю dtmTemp = названиях ) и ActiveCell.FormulaR1C1 = «=MONTH(RC[-2])»номеров недели, месяца
году получается когда даты автоматически изменяется.=ТЕКСТ(Значение;Формат)устанавливаем переключатель в все данные. даты 23 мая и приложила :)Честно говоря, неopenid.mail.ru/mail/vlad3622340 Вроде все норма.
в той ячейке,Супер! Спасибо! DateSerial(Year(Cells(x, 8)), 1, добавте недостающие Range(«D2».Select ActiveCell.FormulaR1C1 = и года. Попадались 52, а когда
номер дня неделиПроизводится переход в окноВ поле позициюДанные 2008 г. следует (вдруг кому лень) могу найти отличия: Вот такой монстрНе могу разобраться «нет», то вkolyambus55rus
1) Do Whilesub tt () «=TEXT(RC[-3],»»ММММ»»» Range(«E2».Select ActiveCell.FormulaR1C1 похожие но не 53 рабочих недели. в ячейке, в аргументов оператора«Значение»
«Все форматы»09.03.2012 воспользоваться выражением ДАТА(2008;5;23).
(92 КБ). результатов этих формул получился. Зато универсально в чем проблема? этой ячейке -:
Weekday(dtmTemp, vbMonday) <> Dim x& , = «=YEAR(RC[-4])» Range(«B2:E2».Select
то.
Плюс ко всему
которой установлен оператор.ДЕНЬНЕД
нам нужно указать. В полеФормула Если даты вводятсяВсе говорим спасибо от НОМНЕДЕЛИ(). для любой датыНужна, помощь. Спасибо дата каждой средыk61 1 dtmTemp =
lr& Dim a Selection.AutoFill Destination:=Range(«B2:E100», Type:=xlFillDefaultСуть в том 1 января можетУрок:. Он имеет следующий
адрес той ячейки,«Тип»Описание как текст, это KL и сайтуDiana любого года: заранее! этого года). Что-то,сейчас только заметил, вот dtmTemp + 1 a = array(«січень»,»лютий»,»березень»)’ Range(«B2:E100».Select End Sub что есть столбец запросто оказаться 52Функции даты и времени синтаксис: в которой содержитсявручную вводим следующееРезультат может привести кТему, думаю, можно: Прошу прощения, «техзадания»=ЕСЛИ(ДЕНЬНЕД(ДАТА(ГОД(A2);1;1);2) См. примерSerge вроде =ЕСЛИ(F5=»нет»; а такая картина наблюдается Loop If dtmTemp здесь поменяйте наЗаписано макрорекодером по с датами (21.01.2014) неделей предыдущего года. в Экселе=ДЕНЬНЕД(дата_в_числовом_формате;[тип]) дата. Для этого значение:=НОМНЕДЕЛИ(A2) возникновению проблем. закрывать. не читала :)openid.mail.ru/mail/vlad3622340: Здравствуйте. дальше не знаю. да 30 000 >= DateSerial(Year(Cells(x, 8)), нужное lr = формулам Китина и , рядом мнеНо именно этот вариантКак видим, в ЭкселеВ поле
устанавливаем курсор вДДДДНомер недели в году,Тип
alexandr437В таком случае: Извиняюсь, пропустил одноА Вы справку (( строк вниз:
1, 5) Then ActiveSheet.Cells(Rows.Count, 8).End(xlUp).Row for
все работает необходимо вывести номер официально принят в существуют три основных«Дата в числовом формате» указанное поле иПосле этого щелкаем по на которую припадает Необязательный. Число, которое: предлагаю продолжить тему: формула Влада действительно условие. Вот теперь по этой функцииNic70yЯ про строку dtmTemp = dtmTemp x = 1kolyambus55rus недели и месяц, России с 2002 варианта представления датывводим конкретную дату левой кнопкой мыши кнопке
дата 09.03.2012, если определяет, с какого как сделать так универсально работает. Написала
точная формула (монстр читали?: все
53 среды? 23959 и ниже. — 7 If to lr step: спасибо большое. Может
каким способом это года как государственный
в виде дня или адрес ячейки щелкаем по этой«OK»
неделя начинается в дня начинается неделя. чтобы и год другой вариант (но подрос :-)
»Функция НОМНЕДЕЛИмож так сойдетЮрий М Cells(x, >=
1 Cells(1+x,10)=a(month(cells(1+x,8).value)-1) Next литературку грамотную подскажите,
можно сделать в и остается им недели. Все они
Возможно ли сопоставить номер недели с интервалом дат? (Формулы)
на листе, в ячейке на листе.внизу окна. воскресенье (по умолчанию). Значение по умолчанию
для недели определялся? он в два=ЕСЛИ(ДЕНЬНЕД(ДАТА(ГОД(A2);1;1);2)Описание=ЕСЛИ(B1=»нет»;ОСТАТ(4-СЕГОДНЯ();7)+СЕГОДНЯ();»»): Проверьте, где в DateSerial(Year(Cells(x, 8)), 12,
x End sub чтоб я не
VBA? (ч/з формулы на данный момент относительно просты и
которой она содержится. Адрес тут жеКак видим, в ячейке10
с половиной разаСмысл:
Возвращает число, котороеstulmart
восьмом столбце заканчиваются 29) Then Tempkolyambus55rus «мусорил» в форумах?) слишком тяжело, т.к. (см. ГОСТ ИСО
вычисление даты по дню недели (Формулы/Formulas)
не требуют отВ поле отобразится. вместо даты отобразилось=НОМНЕДЕЛИ(A2;2)Тип 2010 год, 15 длиннее, выкладывать не- если 1.1.тек.года указывает, на какую: Nic70y, не не данные. = DateSerial(Year(Cells(x, 8)),: Я вот так Я скачал «Уокенбах очень много данных) 8601-2001). Чтобы посчитать пользователя наличия каких-то«Тип»В поле полное наименование дняНомер недели в году,Начало недели неделя. буду). Дж. — Excel
Спасибо заранее. Прикрепленные номер недели по специфических умений. Одинзадается число от«Формат» недели ей соответствующего. на которую припадает
№ недели считает указанная дата. каждая ближайшая среда,: While Weekday(Temp, vbMonday)
(только в конце 2010. Профессиональное программирование файлы Безымянный.PNG (50.46 дате по такой из них заключается1в зависимости от При этом, выделив
дата 09.03.2012, если1 или опущен: ГОД()-2000&НОМНЕДЕЛИ(): Интересно, а как Excel, в противномВажно. В функции только чтобы былаЮрий М <> 1 Temp пробивает 4 лишних
на VBA - КБ) системе, можно использовать в применении специальныхдо того, какое мы данную ячейку, в
неделя начинается вВоскресенье
Guest даже в простеньких случае: НОМНЕДЕЛИ предполагается, что
указана дата этой, Там же где = Temp - декабря, но это 2012″. Я такwowick вот такую формулу: форматов, а два
3 хотим иметь представление строке формул вы понедельник (второй аргумент,
Номер недели. (формула, проблемка)
1: думаю что не
моб. телефонах номера
- если неделя неделя, на которую ближайшей среды) и на скриншоте. 1 Loop If не критично) понял главное выучить: 2014-ый год начался=ОТБР(ОСТАТ(A1+3-ДЕНЬНЕД(A1;2);365,25)/7+1)
других для достижения, которое определяет, как
дня недели полное все равно увидите
получится использовать ГОД()-2000&НОМНЕДЕЛИ() недель всегда точно первая по счёту
приходится 1 января,
stulmart
kolyambus55rus Temp >= Cells(x,Dim x&, lr& язык програмирования а
в среду. Первая=TRUNC(MOD(A1+3-WEEKDAY(A1;2);365,25)/7+1) указанных целей используют именно будут нумероваться или сокращенное, вводим отображение даты.11Понедельникт.к. функция НОМНЕДЕЛИ отображаются? Excel, то является первой неделей: по этой формуле: Всё, разобрался!) Тупанул Then Cells(x, lr = ActiveSheet.Cells(Rows.Count, остальное дело логики?! неделя когда заканчивается?В Excel 2013 функцию встроенные функции. Учитывая,
дни недели. При выражение
В поле
При работе в программе1 некорректно работает
Должен же быть- если 1.1.тек.года
года. Однако по выдает 43180 кое в чём.
9) = 1 8).End(xlUp).Row For xОстались недельки.) 5-го в воскресенье
для расчета номера что механизм и установке числа
«дддд»«Тип» Excel иногда ставится11Guest там какой-то алгоритм
= пятница или европейскому стандарту первойAlexM Извените.
Else Cells(x, 9) = 1 ToKuklP или 7-го во недели по ISO способ отображения данных«1»
илиокна форматирования вместо задача, чтобы послеПонедельник
: ГОД()-2000&НОМНЕДЕЛИ() Если было
и не думаю, 1.1.тек.года = суббота, неделей года считается:Юрий М
= (Cells(x, 8) lr Step 1: seregeyss, ну а вторник? Номер месяца добавили в стандартный
в каждом описанном
нумерация будет происходить,«ддд» значения ввода конкретной даты1
бы все так
что такой громоздкий.
а предыдущий год та, на которуюstulmart: И в чём? — dtmTemp)
Cells(1 + x, поменять формулы на узнать из даты
набор – она случае существенно отличаются, начиная с воскресенья,без кавычек.
«ДДДД» в ячейку выводился12
просто, то былоDianaвисокосный, то №
в новом году, поставьте формат ячейкиkolyambus55rus 7 + 1 10) = MonthName(Month(Cells(1 значения? На 100000 — это просто называется
пользователь должен сам причем этому днюПосле ввода этих данныхможно также ввести день недели, которыйВторник бы не так
: ну их же недели 53, иначе приходится не менее Дата: Да у меня End If Else + x, 8).Value)) строк будет грузить. по формуле Месяц().
НОМНЕДЕЛИ.ISO (WEEKNUM.ISO) выбрать, какой из недели будет присвоен
жмем на кнопку выражение: ей соответствует. Естественно,
делали Европейцы :) 52; четырех дней. Следовательно,
Источник
Внесите дату, к которой вы хотите узнать номер недели, в ячейку таблицы Excel. В нашем примере это 5 августа 2016. Дата внесена в ячейку «С4».
Теперь нажмите на пустую ячейку и внесите функцию «=НОМНЕДЕЛИ(С4;21)». Первый параметр из скобок задает ячейку, второй — день начала календарной недели.
Если вы внесете параметр «11», то неделя начнется с понедельника, с параметрами от «12» до «17» — со вторника по воскресенье, соответственно.
В Европе по стандарту ISO 8601 первой календарной неделей считается та неделя, на которую приходится первый четверг года. С параметром «21» вы всегда сможете подстраховаться от неточностей.
Фото: компания-производитель
Существует 2 способа определения номера недели: в соответствии со стандартом ИСО и с помощью функции
НОМНЕДЕЛИ()
.
Рассмотрим 2 способа определения номера недели:
Используя функцию НОМНЕДЕЛИ()
Функция
НОМНЕДЕЛИ()
считает, что первая неделя года начинается с 1-го января. В ней может оказаться от 1 до 7 дней (1 января соответственно попадает на воскресенье или понедельник) и, как следствие, первая неделя может начинаться не с понедельника. У этой функции есть второй аргумент
тип
, который может принимать значение 1 (первым днем недели считается воскресенье) или 2 (первым днем недели считается понедельник).
=НОМНЕДЕЛИ(A3;2)
Предполагается, что в ячейке
А3
находится дата. Формула определяет номер недели, которой принадлежит эта дата.
Альтернативой использованию функции
НОМНЕДЕЛИ()
с типом 2 (как принято в РФ) является формула (см.
файл примера
):
=1+ЦЕЛОЕ((A3-(ДАТА(ГОД(A3);1;2)-ДЕНЬНЕД(ДАТА(ГОД(A3);1;0))))/7)
Альтернативой использованию функции
НОМНЕДЕЛИ()
с типом 1 является формула:
=1+ЦЕЛОЕ((A3-(ДАТА(ГОД(A3);1;2)-ДЕНЬНЕД(ДАТА(ГОД(A3);1;1))))/7)
По стандарту ISO8601:2000 (ГОСТ ИСО 8601-2001)
По стандарту ISO8601:2000 все недели начинаются с понедельника и длятся 7 дней. Первой неделей считается та, на которую попадает первый четверг нового года (т.е. первая неделя должна содержать не менее 4 дней из нового года).
Формула для расчета номера недели по стандарту ИСО:
=ЦЕЛОЕ((A3-ДАТА(ГОД(A3-ДЕНЬНЕД(A3-1)+4);1;3)+ ДЕНЬНЕД(ДАТА(ГОД(A3-ДЕНЬНЕД(A3-1)+4);1;3))+5)/7)
Следствием того, что все недели начинаются с понедельника, может получиться так, что в первую неделю попадут дни из прошлого года.
Решение обратной задачи – когда известен номер недели, а нужно найти, например, дату последнего дня этой недели – приведено в статье
Последний день недели
.