Номер недели по дате функцией НОМНЕДЕЛИ
Потребность знать номер рабочей недели для заданной даты (или группы дат) весьма востребованная вещь в управленческом учете. Понедельные отчеты, еженедельный контроль выполнения плана, недельная сетка вещания в рекламе – все это требует умения определять номер рабочей недели для заданной даты. Задача, на первый взгляд, простая, но (как всегда) есть несколько весьма существенных нюансов.
Во-первых, в разных странах отсчет начала и конца самой недели – различаются. У нас в России днем отсчета недели принят понедельник, а в других странах (например, США и Израиле) – воскресенье.
Во-вторых, вопрос — какую неделю считать первой? На сегодняшний момент существуют как минимум два основных варианта с разной логикой. Рассмотрим их последовательно.
Способ 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
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 |
Нужна дополнительная помощь?
Номер недели в году в MS EXCEL
Существует 2 способа определения номера недели: в соответствии со стандартом ИСО и с помощью функции НОМНЕДЕЛИ() .
update Опубликовано: 07 апреля 2013
День недели в MS EXCEL
Определим день недели для заданной даты в ячейке. Существует несколько решений в зависимости от того результата, который мы хотим получить: номер дня недели (1 — Пн, 2- Вт, …), текстовую …
update Опубликовано: 07 апреля 2013
Функция ДЕНЬНЕД() в MS EXCEL
Функция ДЕНЬНЕД() , английский вариант WEEKDAY(), в озвращает день недели, соответствующий дате. По умолчанию день недели определяется как целое число в интервале от 1 (воскресенье) до 7 (суббота).
update Опубликовано: 12 апреля 2013
Выделяем дни недели цветом в MS EXCEL
С помощью Условного форматирования выделим фон ячеек, содержащих дни недели Суббота и Воскресенье, красным цветом.
update Опубликовано: 30 июля 2013
Ближайшая суббота
Определим дату ближайшей субботы перед заданным днем. Т.е. если сегодня 25.11.2014 (вторник), то ближайшая прошедшая суббота — 22.11.2014. Также определим дату ближайшей субботы после заданного дня и просто дату ближайшей …
update Опубликовано: 25 ноября 2014
Первый вторник месяца в MS EXCEL
Определим дату, на которую приходится первый вторник месяца, вторую пятницу или третью среду месяца.
update Опубликовано: 07 апреля 2013
Функция НОМНЕДЕЛИ() в MS EXCEL
Функция НОМНЕДЕЛИ( ) , английский вариант WEEKNUM(), возвращает число, которое указывает, на какую неделю года приходится указанная дата.
update Опубликовано: 12 апреля 2013
Количество недель в месяце в MS EXCEL
Подсчитаем количество недель в месяце. Рассмотрим разные варианты: количество полных недель (все 7 дней недели попадают в нужный нам месяц), количество недель, в которых полная рабочая неделя и другие варианты.
update Опубликовано: 20 марта 2023
НОМНЕДЕЛИ (функция НОМНЕДЕЛИ)
Смотрите такжеПросто и без Сергей сразу же европейскому стандарту.»stulmart
Описание
нужно чтобы ниже — dtmTemp) цикла нужно указать файлы 1.PNG (14.04 год — year(date). или 53 недели вещь в управленческом номер
у нас наНо способ, который былСкачать последнюю версию
-
1В этой статье описаны извратов:) правильно развенчал егоopenid.mail.ru/mail/vlad3622340: Nic70y, скажите пожалуйста,
-
был прописан интервал 7 + 1 х = номер КБ)kolyambus55rus и, плюс ко учете. Понедельные отчеты,«1» листе отображается и представлен выше, предусматривает Excel
Синтаксис
16
синтаксис формулы иDiana
-
примером 01.01.2010 -: Добрый день всем! если я на дат этой недели End If End первой строки сKuklP: По поводу месяца: всему, 1 января еженедельный контроль выполнения. При установке значения дата, и день преобразование даты вСуществуют несколько способов отобразитьСуббота использование функции
-
: Интересно, что-то ZVI нулевая неделя.Пример во вложении. следующей неделе, например (1 неделя - If Next xЕсли
данными которые обрабатываем) |
: kolyambus55rus, кто Вам |
Dim thisDate As |
может выпасть на |
плана, недельная сетка |
«3» |
недели одновременно. |
день недели. Существует |
день недели по |
1 |
НОМНЕДЕЛИ |
не отвечает. |
openid.mail.ru/mail/vlad3622340 |
Serge |
22 числа поставлю |
1.01.13 — 06.01.13). |
кто то будет, |
Cells( x, 10) |
сказал, что на |
Date Dim thisMonth |
воскресенье, т.е. шесть |
вещания в рекламе |
нумерация так же |
Более того, если в |
ли вариант, чтобы |
введенной дате, начиная |
17 |
в Microsoft Excel. |
Он обычно всегда |
: Просто у меня |
: Vlad, 01.012010, это |
«нет» в той |
Pelena |
Замечание
-
как и я, = MonthName(Month(Cells( x, форуме по Эксель As Integer thisDate последних дней года – все это будет происходить с ячейке изменить значение оба эти значения от форматирования ячеекВоскресеньеВозвращает номер недели для находит решения не
-
перед глазами календарик какая неделя? ячейке, то будет: Была похожая тема искать, думаю пригодиться.
-
8).Value)) уместно выкладывать картинки? = Worksheets(«1».Cells(1 + могут оказаться уже требует умения определять
Пример
понедельника, но в даты, то соответственно выводились на листе? и заканчивая применением1 определенной даты. Например, в стандартных ситуациях в Excel наInter_E вычисляться уже следующаяHugoВсем большое спасибо, редкоVitallic
- офигенно удобно! |
||
i, thisMonth = |
||
в неделе с |
номер рабочей недели |
этом случае понедельнику |
автоматически изменится и |
То есть, если функций. Давайте взглянем21 неделя, на которую :) |
любой вводимый год |
: ..ответ |
среда, т.е. 28.03: У меня кстати найдешь такой форум: Можно почитать Вокенбаха А так не Month(thisDate) Worksheets(«1».Cells(1 + |
номером 1, что |
support.office.com
Установка дня недели по дате в 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») только учусь…
вам нужен, то
несколько весьма существенныхАргумент она будет приходиться. недели. Да, такой
- выбрать самый лучший последовательных чисел, что 1. системы. недели, слепил по вроде правильно показывает.В A1 - разному считаются. как 1-я неделя
Лично я рекомендовал?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 функции таков: нас в России
- равно заданной дате. Это нужное нам значение день недели по 1 января 2008 1 января, считается возвращается число 1. всё правильно считает.Здесь наверно моеstulmart
: Можно и так.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)номер месяца недели
неделю считать первой? не подходит. Поэтому пользователь может устанавливать ячейку. Щелкаем по
- на листе. текущего базового значения считается первой неделей, 1.»kim: Если идти таким отstulmart
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 по
все что можно,
lumpics.ru
Номер недели по дате функцией НОМНЕДЕЛИ
= 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, ок спасибо. недели. Задача рассчитать
+ 1 ‘и
: В итоге, в
как потом анализироватья бы с американский (неделя начинается считается та, на щелкаем по кнопке Щелкаем по значку. Переходим в категорию
Способ 2. Неделя с 1-м января и функция НОМНЕДЕЛИ (WEEKNUM)
кнопкой мыши. Запускается #ЧИСЛО!. для нумерации недель.89623: Добрый день! количество с начала Просто он написал дату звонка клиенту номер недели Next общий код макроса, (фильтровать?) удовольствием все на с воскресенья), вариант которую выпадает первый«OK»«Вставить функцию»«Текстовые» контекстное меню. ВыбираемСкопируйте образец данных изНОМНЕДЕЛИ(дата_в_числовом_формате;[тип])ZИзвиняюсь, но по года. Правда никогда что 21.03 если он не x End Sub для определения месяца
, не учел
формула привязал, но
- 2 — наш. четверг года (или..и из списка
- в нем позицию следующей таблицы иАргументы функции НОМНЕДЕЛИ описаны: Вариант для Inter_E вышеприведённым формулам уважаемых этим не заморачивался…Inter_E пришел на консультацию. re:P.S. ГОСТ ИСО
planetaexcel.ru
Узнать номер недели, месяца и года по дате в ячейке (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 литературку грамотную подскажите,
можно сделать в и остается им недели. Все они
planetaexcel.ru
Возможно ли сопоставить номер недели с интервалом дат? (Формулы)
на листе, в ячейке на листе.внизу окна. воскресенье (по умолчанию). Значение по умолчанию
для недели определялся? он в два=ЕСЛИ(ДЕНЬНЕД(ДАТА(ГОД(A2);1;1);2)Описание=ЕСЛИ(B1=»нет»;ОСТАТ(4-СЕГОДНЯ();7)+СЕГОДНЯ();»»): Проверьте, где в DateSerial(Year(Cells(x, 8)), 12,
x End sub чтоб я не
VBA? (ч/з формулы на данный момент относительно просты и
которой она содержится. Адрес тут жеКак видим, в ячейке10
— 1. например 1015, т.е.
с половиной разаСмысл:
Возвращает число, котороеstulmart
восьмом столбце заканчиваются 29) Then Tempkolyambus55rus «мусорил» в форумах?) слишком тяжело, т.к. (см. ГОСТ ИСО
excelworld.ru
вычисление даты по дню недели (Формулы/Formulas)
не требуют отВ поле отобразится. вместо даты отобразилось=НОМНЕДЕЛИ(A2;2)Тип 2010 год, 15 длиннее, выкладывать не- если 1.1.тек.года указывает, на какую: Nic70y, не не данные. = DateSerial(Year(Cells(x, 8)),: Я вот так Я скачал «Уокенбах очень много данных) 8601-2001). Чтобы посчитать пользователя наличия каких-то«Тип»В поле полное наименование дняНомер недели в году,Начало недели неделя. буду). < пятницы, то неделю года приходится все среды, а
kolyambus55rus 12, 31) Do забил, всё работает Дж. - Excel
Спасибо заранее!!! Прикрепленные номер недели по специфических умений. Одинзадается число от«Формат» недели ей соответствующего. на которую припадает
Системаviktturopenid.mail.ru/mail/vlad3622340
№ недели считает указанная дата. каждая ближайшая среда,: While Weekday(Temp, vbMonday)
(только в конце 2010. Профессиональное программирование файлы Безымянный.PNG (50.46 дате по такой из них заключается1в зависимости от При этом, выделив
дата 09.03.2012, если1 или опущен: ГОД()-2000&НОМНЕДЕЛИ(): Интересно, а как Excel, в противномВажно. В функции только чтобы былаЮрий М <> 1 Temp пробивает 4 лишних
на VBA - КБ) системе, можно использовать
в применении специальныхдо того, какое мы данную ячейку, в
неделя начинается вВоскресенье
Guest даже в простеньких случае: НОМНЕДЕЛИ предполагается, что
указана дата этой, Там же где = Temp - декабря, но это 2012″. Я такwowick вот такую формулу: форматов, а два
3 хотим иметь представление строке формул вы понедельник (второй аргумент,
excelworld.ru
Номер недели. (формула, проблемка)
1: думаю что не
моб. телефонах номера
- если неделя неделя, на которую ближайшей среды) и на скриншоте. 1 Loop If не критично) понял главное выучить: 2014-ый год начался=ОТБР(ОСТАТ(A1+3-ДЕНЬНЕД(A1;2);365,25)/7+1)
других для достижения, которое определяет, как
дня недели полное все равно увидите
т. е. 2).2
получится использовать ГОД()-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&НОМНЕДЕЛИ(){/post}{/quote} Если было
и не думаю, 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) выбрать, какой из недели будет присвоен
жмем на кнопку выражение: ей соответствует. Естественно,
1 грстно :)
делали Европейцы :) 52; четырех дней. Следовательно,
stulmart
форматированная таблица была.) If Cells(x, 8)
Next xПо месяцуseregeyss А недели -В этом случае первой указанных вариантов в
порядковый номер«OK»ДДД решить данную задачу13openid.mail.ru/mail/vlad3622340 под свой лад
- № недели если первая неделя: AlexM, спасибо большое!Nestyyy
< dtmTemp Then все понятно, осталось: Виноват про это
разницу в датах неделей года считается конкретной ситуации ему«1».В этом случае на посредством такого мощногоСреда
: Это же просто. подстроили :) по Excel минус января в новом И еще кто-нибудь: Добрый день! Подскажите,
Cells(x, 9) = неделя. Буду разбираться забыл делишь на 7
та, на которую подходит более всего.. При установке значенияКак видим в ячейке, листе будет отображено
табличного процессора, как1 Типа СЦЕПИТЬ 2openid.mail.ru/mail/vlad3622340 1. году содержит меньше
расшифруйте пожалуйста эту пожалуйста, Возможно ли
Cells(1 + x, с предложенными вариантами.kolyambus55rus
и берешь целую попадает 1 января.Автор: Максим Тютюшев«2»
которую мы выбрали сокращенное наименование дня Эксель, возможно, причем14 правых символа года
: Да, наверно тупоopenid.mail.ru/mail/vlad3622340 четырех дней, функция формулу, чтобы я сопоставить номер недели 9)(DateSerial(Year(Cells(x, 8)) -
Vitallic: Для дальнейшего удобства часть от результата… Здесь также возникаетПотребность знать номер рабочейнумерация будет выполняться, в самом начале,
недели. несколькими способами. ДавайтеЧетверг и функцию по забиты в программу
: Дмитрий, у меня
НОМНЕДЕЛИ возвращает для
понимал как например с интервалом дат? 1, 12, 31))
: поменяйте нужную строку
(анализ в сводной
KuklP сложность в том, недели для заданной начиная с понедельника. отобразилось обозначение дня
Урок: посмотрим, какие варианты1 определению номера недели. телефона готовые номера
таким же был этого года номера
мне рассчитать другойПример во вложении.
Else Cells(x, 9) на эту (учтите таблице) я вот: Номер недели: что в году даты (или группы Этому дню недели недели в выбранном
Как изменить формат ячейки существуют для выполнения
15И будет сегодня недель до 2050
первый взгляд, но недель, не соответствующие
день. Спасибо Есть номер недели, = (Cells(x, 8) что в начале так сделал: Прикрепленныемесяц — month(date),
может оказаться 52 дат) весьма востребованная будет дан порядковый текстовом формате. Теперь в Экселе данной операции.
Пятница 1039.
planetaexcel.ru
года и всё.
Содержание
- Отображение дня недели в Экселе
- Способ 1: применение форматирования
- Способ 2: использование функции ТЕКСТ
- Способ 3: применение функции ДЕНЬНЕД
- Вопросы и ответы
При работе в программе Excel иногда ставится задача, чтобы после ввода конкретной даты в ячейку выводился день недели, который ей соответствует. Естественно, решить данную задачу посредством такого мощного табличного процессора, как Эксель, возможно, причем несколькими способами. Давайте посмотрим, какие варианты существуют для выполнения данной операции.
Отображение дня недели в Экселе
Существуют несколько способов отобразить день недели по введенной дате, начиная от форматирования ячеек и заканчивая применением функций. Давайте взглянем на все существующие варианты выполнения указанной операции в Экселе, чтобы пользователь мог выбрать самый лучший из них для конкретной ситуации.
Способ 1: применение форматирования
Прежде всего, посмотрим, как при помощи форматирования ячеек можно отобразить день недели по введенной дате. Данный вариант подразумевает преобразование даты в указанное значение, а не сохранение отображения обоих этих видов данных на листе.
- Вводим любую дату, содержащую данные о числе, месяце и годе, в ячейку на листе.
- Кликаем по ячейке правой кнопкой мыши. Запускается контекстное меню. Выбираем в нем позицию «Формат ячеек…».
- Запускается окно форматирования. Перемещаемся во вкладку «Число», если оно было открыто в какой-нибудь другой вкладке. Далее в блоке параметров «Числовые форматы» устанавливаем переключатель в позицию «Все форматы». В поле «Тип» вручную вводим следующее значение:
ДДДД
После этого щелкаем по кнопке «OK» внизу окна.
- Как видим, в ячейке вместо даты отобразилось полное наименование дня недели ей соответствующего. При этом, выделив данную ячейку, в строке формул вы все равно увидите отображение даты.
В поле «Тип» окна форматирования вместо значения «ДДДД» можно также ввести выражение:
ДДД
В этом случае на листе будет отображено сокращенное наименование дня недели.
Урок: Как изменить формат ячейки в Экселе
Способ 2: использование функции ТЕКСТ
Но способ, который был представлен выше, предусматривает преобразование даты в день недели. Существует ли вариант, чтобы оба эти значения выводились на листе? То есть, если в одной ячейке мы вводим дату, то в другой должен выводиться день недели. Да, такой вариант существует. Его можно осуществить при помощи формулы ТЕКСТ. В этом случае нужное нам значение будет выводиться в указанную ячейку в текстовом формате.
- Записываем дату на любом элементе листа. Затем выделяем любую пустую ячейку. Щелкаем по пиктограмме «Вставить функцию», которая расположена возле строки формул.
- Происходит запуск окошка Мастера функций. Переходим в категорию «Текстовые» и из списка операторов выбираем наименование «ТЕКСТ».
- Открывается окно аргументов функции ТЕКСТ. Данный оператор призван выводить указанное число в выбранном варианте текстового формата. Он имеет следующий синтаксис:
=ТЕКСТ(Значение;Формат)
В поле «Значение» нам нужно указать адрес той ячейки, в которой содержится дата. Для этого устанавливаем курсор в указанное поле и левой кнопкой мыши щелкаем по этой ячейке на листе. Адрес тут же отобразится.
В поле «Формат» в зависимости от того, какое мы хотим иметь представление дня недели полное или сокращенное, вводим выражение «дддд» или «ддд» без кавычек.
После ввода этих данных жмем на кнопку «OK».
- Как видим в ячейке, которую мы выбрали в самом начале, отобразилось обозначение дня недели в выбранном текстовом формате. Теперь у нас на листе отображается и дата, и день недели одновременно.
Более того, если в ячейке изменить значение даты, то соответственно автоматически изменится и день недели. Таким образом, меняя дату можно узнавать на какой день недели она будет приходиться.
Урок: Мастер функций в Экселе
Способ 3: применение функции ДЕНЬНЕД
Имеется ещё один оператор, который может выводить день недели по заданной дате. Это функция ДЕНЬНЕД. Правда, она выводит не название дня недели, а его номер. При этом пользователь может устанавливать с какого дня (с воскресенья или с понедельника) нумерация будет отсчитываться.
- Выделяем ячейку для вывода номера дня недели. Щелкаем по значку «Вставить функцию».
- Снова открывается окошко Мастера функций. На этот раз переходим в категорию «Дата и время». Выбираем наименование «ДЕНЬНЕД» и жмем на кнопку «OK».
- Производится переход в окно аргументов оператора ДЕНЬНЕД. Он имеет следующий синтаксис:
=ДЕНЬНЕД(дата_в_числовом_формате;[тип])
В поле «Дата в числовом формате» вводим конкретную дату или адрес ячейки на листе, в которой она содержится.
В поле «Тип» задается число от 1 до 3, которое определяет, как именно будут нумероваться дни недели. При установке числа «1» нумерация будет происходить, начиная с воскресенья, причем этому дню недели будет присвоен порядковый номер «1». При установке значения «2» нумерация будет выполняться, начиная с понедельника. Этому дню недели будет дан порядковый номер «1». При установке значения «3» нумерация так же будет происходить с понедельника, но в этом случае понедельнику будет присвоен порядковый номер «0».
Аргумент «Тип» не является обязательным. Но, если его опустить, то считается, что значение аргумента равно «1», то есть, неделя начинается с воскресенья. Так принято в англоязычных странах, но нам данный вариант не подходит. Поэтому в поле «Тип» ставим значение «2».
После выполнения указанных действий щелкаем по кнопке «OK».
- Как видим, в указанную ячейку выводится порядковый номер дня недели, который соответствует введенной дате. В нашем случае это число «3», которое обозначает среду.
Как и с предыдущей функцией, при изменении даты автоматически изменяется номер дня недели в ячейке, в которой установлен оператор.
Урок: Функции даты и времени в Экселе
Как видим, в Экселе существуют три основных варианта представления даты в виде дня недели. Все они относительно просты и не требуют от пользователя наличия каких-то специфических умений. Один из них заключается в применении специальных форматов, а два других для достижения указанных целей используют встроенные функции. Учитывая, что механизм и способ отображения данных в каждом описанном случае существенно отличаются, пользователь должен сам выбрать, какой из указанных вариантов в конкретной ситуации ему подходит более всего.