Note: The other languages of the website are Google-translated. Back to English

Как преобразовать номер недели в дату или наоборот в Excel?

Есть ли способ получить номер недели по заданной дате или извлечь диапазон дат из определенного номера недели и года в Excel? Для решения этой задачи вам могут помочь следующие формулы.

Преобразование номера недели в дату с помощью формул

Преобразование даты в номер недели с помощью формул


Преобразование номера недели в дату с помощью формул

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

Чтобы рассчитать диапазон дат по конкретному номеру недели, вы можете использовать следующие формулы:

1. Выберите пустую ячейку, вы вернете дату начала (в нашем случае мы выбираем ячейку B5), введите формулу: =MAX(DATE(B1,1,1),DATE(B1,1,1)-WEEKDAY(DATE(B1,1,1),2)+(B2-1)*7+1), и нажмите Enter ключ. Смотрите скриншот ниже:

2. Выберите другую пустую ячейку, вы вернете дату окончания (в нашем случае мы выбираем ячейку B6), введите =MIN(DATE(B1+1,1,0),DATE(B1,1,1)-WEEKDAY(DATE(B1,1,1),2)+B2*7), и нажмите Enter ключ. Смотрите скриншот ниже:

лента для заметок Формула слишком сложна для запоминания? Сохраните формулу как запись Auto Text для повторного использования одним щелчком мыши в будущем!
Подробнее ...     Бесплатная пробная версия

Примечание. В обеих формулах выше B1 содержит год и B2 - указанный номер недели, вы можете изменить аргументы по своему усмотрению).

3. Как видите, обе формулы возвращают числа вместо дат. Продолжайте выбирать оба результата расчета и нажмите Главная > Формат номера коробка> Короткое свидание чтобы заменить числа на даты. Смотрите скриншот ниже:

Один щелчок, чтобы преобразовать несколько нестандартных дат / чисел / текста форматирования в обычные даты в Excel

Kutools для Excel Преобразовать в дату Утилита может помочь вам легко определить и преобразовать нестандартные даты или числа (ггггммдд) или текст в обычные даты одним щелчком мыши в Excel.


объявление преобразовано на дату 1

Преобразование даты в номер недели с помощью формул

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

1. Выберите пустую ячейку, вы вернете номер недели, введите эту формулу: = WEEKNUM (B1,1)и нажмите клавишу Enter. Смотрите скриншот:

Ноты:

(1) В приведенной выше формуле B1 содержит дату, которую вы хотите использовать.

(2) Если вам нужно вернуть номер недели с даты, которая начинается в понедельник, примените следующую формулу: = WEEKNUM (B1,2).


Статьи по теме:

Как посчитать количество конкретных дней недели между двумя датами в Excel?

Как добавить / вычесть дни / месяцы / годы на сегодняшний день в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (23)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за формулу, искал. У меня есть клиент Office 2010 Excel, и формула не работает напрямую. Мне пришлось заменить запятые на точки, чтобы формула работала на меня. Вот так: =МАКС(ДАТА(G1;1;1);ДАТА(G1;1;1)-ДЕНЬНЕД(ДАТА(G1;1;1);2)+(F1-1)*7+1) ... где G1 — год, а F1 — номер недели. Надеюсь, это может помочь и другим. Грец, Кор
Этот комментарий был сведен к минимуму модератором на сайте
Привет Спасибо за эту формулу. Пример работает для 2015 года, 15-я неделя. Для 2016 года, 15-я неделя, возвращенная дата начала: 04 Дата окончания: 04 Я использую Excel 2016.
Этот комментарий был сведен к минимуму модератором на сайте
Я согласен с DavidK, что формула для преобразования Weeknrs в даты работает для 2015 года, но не для 2016 года (поскольку неделя 1 начинается 4 января). Возможно ли иметь формулу, которая работает на все годы?
Этот комментарий был сведен к минимуму модератором на сайте
Я согласен с DavidK, формула преобразования номеров недель в даты работает для 2015 года, но не для 2016 года (поскольку неделя 1 начинается 4 января). Есть ли формула, которая работает на все годы? Я очень благодарен за ответ на это.
Этот комментарий был сведен к минимуму модератором на сайте
=MAX(DATE(B1,1,1),DATE(B1,1,1)-WEEKDAY(DATE(B1,1,1),2)+(B2-1)*7+4) =MIN(DATE(B1+1,1,0),DATE(B1,1,1)-WEEKDAY(DATE(B1,1,1),2)+B2*7+1)
Этот комментарий был сведен к минимуму модератором на сайте
Я использую британский формат даты дд/мм/гггг.
Этот комментарий был сведен к минимуму модератором на сайте
это не должно быть проблемой. :) вы можете обрабатывать вывод «визуально» либо: 1) заключая всю формулу в функцию text(), где вторым аргументом будет ваш собственный формат даты дд/мм/гггг... или 2) что может быть проще... ctrl+1, числовая вкладка, пользовательский, дд/мм/гггг Excel в любом случае обрабатывает даты как целые числа... поэтому формат "вывода" очень произвольный. если вы решите использовать первый вариант... он будет выглядеть так: =text(a1,"dd/mm/yyyy") вместо a1 однако используйте любую формулу, которую вы разработали, чтобы вернуть правильную дату, которую вы ищу. Надеюсь, это поможет! ~ Ура,
Этот комментарий был сведен к минимуму модератором на сайте
Это отличные формулы и идеал! Однако важно отметить, что системный номер недели Excel по умолчанию считается с воскресенья по субботу. Корректировка необходима, если номер недели извлекается из формул Excel Weeknumber.
Этот комментарий был сведен к минимуму модератором на сайте
Извините, ребята, но я не мог ни понять, ни заставить работать ни одну из приведенных выше формул, поэтому я наконец нашел следующее решение: ДАТА (B1,1,1)+($A4×7)−(6−(7− ДЕНЬНЕД(ДАТА(B1,1,1),первый день))) Первая часть "ДАТА(B1,1,1)+(B2×7)" просто берет 1 января года и добавляет количество недель. Следующая часть вычисляет, сколько дней нужно вычесть из ДНЯ НЕДЕЛИ 1 января, чтобы получить первый день недели. Вот что я наконец выяснил: 6−(7−WEEKDAY(DATE(B1,1,1),first-day)) Если, например, 1 января приходится на воскресенье (день 7), то эта формула становится " 6-(7-7)" или просто 6 - это количество дней, которое нужно вычесть, чтобы получить понедельник этой недели. Попробуйте другие дни. Наконец, если вы хотите найти любой другой день недели, просто добавьте к этому результату число WEEKDAY минус 1. Таким образом, последний день недели (воскресенье): ДАТА(B1,1,1)+($A4×7)−(6−(7−WEEKDAY(DATE(B1,1,1),first-day)) )+(7−1) Что можно упростить до: ДАТА(B1,1,1)+($A4×7)−(12−(7−WEEKDAY(DATE(B1,1,1),first-day) )) Среда будет: ДАТА(B1,1,1)+($A4×7)−(8−(7−WEEKDAY(DATE(B1,1,1),first-day))) и т. д. Я надеюсь, что это помогает кому-то другому, кому это нужно, как с работоспособным решением, так и с небольшим пониманием того, как оно было достигнуто!
Этот комментарий был сведен к минимуму модератором на сайте
Дата(2017;1;7 * номер недели - 5) 5 понедельник, 4 вторник... :)
Этот комментарий был сведен к минимуму модератором на сайте
Или сделать в не привязанном к 2017 году...
=ДАТА(ГОД,1,7 * НОМЕР НЕДЕЛИ - ДЕНЬ НЕДЕЛИ(ДАТА(ГОД,1,7) - 2))

2 понедельник, 3 вторник...
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо!


=CONCATENATE("Inclusive Dates: ",TEXT(MAX(DATE(TEXT(TODAY(),"yyyy"),1,1),DATE(TEXT(TODAY(),"yyyy"),1,1)-WEEKDAY(DATE(TEXT(TODAY(),"yyyy"),1,1),2)+(WEEKNUM(TODAY())-1)*7+1),"MMMM")," ",TEXT(MAX(DATE(TEXT(TODAY(),"yyyy"),1,1),DATE(TEXT(TODAY(),"yyyy"),1,1)-WEEKDAY(DATE(TEXT(TODAY(),"yyyy"),1,1),2)+(WEEKNUM(TODAY())-1)*7+1),"DD"),", ",TEXT(MAX(DATE(TEXT(TODAY(),"yyyy"),1,1),DATE(TEXT(TODAY(),"yyyy"),1,1)-WEEKDAY(DATE(TEXT(TODAY(),"yyyy"),1,1),2)+(WEEKNUM(TODAY())-1)*7+1),"YYYY")," - ",TEXT(MIN(DATE(TEXT(TODAY(),"yyyy")+1,1,0),DATE(TEXT(TODAY(),"yyyy"),1,1)-WEEKDAY(DATE(TEXT(TODAY(),"yyyy"),1,1),2)+WEEKNUM(TODAY())*7),"MMMM")," ",TEXT(MIN(DATE(TEXT(TODAY(),"yyyy")+1,1,0),DATE(TEXT(TODAY(),"yyyy"),1,1)-WEEKDAY(DATE(TEXT(TODAY(),"yyyy"),1,1),2)+WEEKNUM(TODAY())*7),"DD"),", ",TEXT(MIN(DATE(TEXT(TODAY(),"yyyy")+1,1,0),DATE(TEXT(TODAY(),"yyyy"),1,1)-WEEKDAY(DATE(TEXT(TODAY(),"yyyy"),1,1),2)+WEEKNUM(TODAY())*7),"YYYY"))
Этот комментарий был сведен к минимуму модератором на сайте
Благодарю вас!!!!
Этот комментарий был сведен к минимуму модератором на сайте
Привет, пожалуйста, помогите мне.

Предположим, мы рассматриваем даты с 1 по 7 как неделю 1, а с 8 по 14 как неделю 2. Не могли бы вы помочь мне, как я могу использовать функцию if для расчета недели. Я пробовал, но не смог получить правильный результат.
Этот комментарий был сведен к минимуму модератором на сайте
=ОКРУГЛВВЕРХ((СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ()),1,1))/7,0)
Этот комментарий был сведен к минимуму модератором на сайте
=ОКРУГЛВВЕРХ((СЕГОДНЯ()-ДАТА(ГОД(СЕГОДНЯ()),1,1))/7,0)
Этот комментарий был сведен к минимуму модератором на сайте
Здравствуйте,

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

Может кто поможет?

Этот комментарий был сведен к минимуму модератором на сайте
@ gilly2801 gilly2 вы можете использовать формулу массива, например, с «=weeknum (CXNUMX: C)», нажмите команду shift, введите, и она превратит ее в функцию массива.
Этот комментарий был сведен к минимуму модератором на сайте
Эта формула слишком сложная. Если у вас есть дата, скажем, 8 в ячейке A17, чтобы получить окончание недели (по состоянию на субботу), вам просто нужно следующее: = A2021-WEEKDAY(A1)+1Это вернет 1,1. Дата 7 вернет 8 как окончание недели.
Этот комментарий был сведен к минимуму модератором на сайте
Я нахожу это лучше "Начало недели"
B5=(8-WEEKDAY(DATE(B1,1,1),1))+((B2-2)*7)+DATE(B1,1,1)

8-WEEKDAY(DATE(B1,1,1),1) => найти номер. дней в неделю в первую неделю года
(B2-2)*7 => рассчитать количество дней, исключая первую неделю года и неделю, для которой выполняется расчет
Затем добавьте эти 2 к первому дню года, чтобы получить первый день желаемой недели.


Потом "Конец недели",
В6=В5+6

PS:
Неделя начинается в воскресенье
В течение недель, начинающихся с понедельника, используйте это вместо этого:
B5=(8-WEEKDAY(DATE(B1,1,1),2))+((B2-2)*7)+DATE(B1,1,1)
Этот комментарий был сведен к минимуму модератором на сайте
Ваша формула отлично работает на каждый год. Однако конец недели будет B6=B5+6. Большое спасибо!
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо. Исправит это...
Этот комментарий был сведен к минимуму модератором на сайте
Все эти формулы имеют проблемы, когда дата находится в последней неделе года. Они не дают правильную дату для понедельника прошлой недели.
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL