Перейти к содержимому

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

Author: Xiaoyang Last Modified: 2025-08-07

Работа с датами и номерами недель в Excel является распространенной потребностью в бизнес-аналитике, планировании проектов и отчетности. Например, вы можете захотеть узнать, к какой неделе относится определенная дата, или определить диапазон дат для конкретной недели в заданном году. Однако Excel не предоставляет прямых встроенных опций для преобразования номеров недель в полные диапазоны дат или быстрого обратного процесса. Для решения этих задач можно использовать различные формулы, решения VBA и другие функции Excel в зависимости от ваших специфических требований и объема данных, которые необходимо обработать. Ниже представлены несколько практических методов для выполнения этой задачи в Excel.

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

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

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


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

Предположим, у вас есть конкретный год и номер недели, введенные в вашем листе (например, 2015 в ячейке B1 и 15 в ячейке B2). Вы можете захотеть рассчитать фактическую начальную дату (понедельник) и конечную дату (воскресенье) этой недели. Это может быть особенно полезно при планировании расписания, подготовке еженедельных сводок или ссылках на периоды еженедельной отчетности.
sample data

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

1. Выберите пустую ячейку для отображения начальной даты (здесь ячейка B5). Введите следующую формулу, затем нажмите клавишу Ввод. Формула вернет серийный номер, представляющий дату.

=MAX(DATE(B1,1,1),DATE(B1,1,1)-WEEKDAY(DATE(B1,1,1),2)+(B2-1)*7+1)

2. Для конечной даты той же недели (например, в ячейке B6), введите следующую формулу, затем нажмите Ввод. Формула вернет серийный номер для последнего дня указанной недели.

=MIN(DATE(B1+1,1,0),DATE(B1,1,1)-WEEKDAY(DATE(B1,1,1),2)+B2*7)

Convert week number to date with formulas

Примечание: В формулах выше, B1 — это ячейка, содержащая год (например, 2015), а B2 содержит номер недели, который вы хотите преобразовать. Настройте эти ссылки на ячейки для вашего реального листа по мере необходимости.

3Формулы изначально возвращают числа, а не отформатированные даты. Чтобы отобразить правильный формат даты, выберите обе ячейки с формулами, затем перейдите в Главная > Формат чисел выпадающее меню > Краткая датаЭто преобразует значения в узнаваемые даты.
format formula cells to date

Советы: Эти формулы основаны на системе ISO дат недели (где неделя начинается с понедельника), что обычно используется в европейских системах расчета заработной платы и стандартов отчетности. Если ваша организация использует другую систему нумерации недель, результаты могут отличаться. Всегда дважды проверяйте результаты для лет, которые начинаются в середине недели (например, когда 1 января не понедельник), или для лет с 53 неделями.


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

Напротив, вы можете захотеть определить номер недели, в которую попадает данная дата. Excel предоставляет функцию WEEKNUM для этой цели. Это особенно удобно при анализе данных о рабочем времени, генерации еженедельных отчетов или отслеживании доставок и событий по неделям.

1. Выберите пустую ячейку для вывода номера недели. Введите следующую формулу (предполагается, что ваша дата находится в ячейке B1):

=WEEKNUM(B1,1)

2. Затем нажмите ВводЭта формула возвращает номер недели, считая воскресенье первым днем недели.
Convert date to week number with formula

Примечания:

(1) В этой формуле B1 — это ячейка, содержащая дату, которую вы хотите преобразовать.

(2) Если вы предпочитаете считать недели, начиная с понедельника (что часто встречается в системе ISO), используйте эту версию формулы:

=WEEKNUM(B1,2)

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

В этой статье мы рассмотрим два VBA скрипта: один преобразует номер недели (и год) в соответствующий диапазон дат, а другой определяет номер ISO недели для любой заданной даты.

Преобразование номера недели в диапазон дат:

1. Откройте редактор VBA, нажав Разработчик > Visual Basic. В открывшемся окне нажмите Вставка > Модуль и вставьте следующий код в модуль:

Sub WeekNumberToDateRange()
    Dim YearNum As Long
    Dim WeekNum As Long
    Dim FirstDay As Date, LastDay As Date
    Dim Jan4 As Date
    YearNum = Application.InputBox("Enter the year:", "KutoolsforExcel", Year(Date), Type:=1)
    If YearNum < 1 Then Exit Sub
    WeekNum = Application.InputBox("Enter the week number:", "KutoolsforExcel", 1, Type:=1)
    If WeekNum < 1 Then Exit Sub
    Jan4 = DateSerial(YearNum, 1, 4)
    FirstDay = Jan4 - Weekday(Jan4, vbMonday) + 1
    FirstDay = FirstDay + (WeekNum - 1) * 7
    LastDay = FirstDay + 6
    MsgBox "Start date: " & Format(FirstDay, "yyyy-mm-dd") & vbCrLf & _
           "End date:   " & Format(LastDay, "yyyy-mm-dd"), _
           vbInformation, "KutoolsforExcel"
End Sub 

2Запустите макрос, используя кнопку Run button Он запросит у вас год и номер недели, затем отобразит соответствующий диапазон дат в диалоговом окне.

Преобразование даты в номер недели:

1. Скопируйте и вставьте следующий код VBA в модуль:

Sub DateToWeekNumber()
 Dim InputDate As Date
 Dim WeekNum As Integer
 InputDate = Application.InputBox("Enter the date (yyyy-mm-dd):", "KutoolsforExcel", Date, Type:=2)
 WeekNum = WorksheetFunction.WeekNum(InputDate, 2)
 MsgBox "The week number is: " & WeekNum, vbInformation, "KutoolsforExcel"
End Sub  

2. После вставки и запуска этого кода введите целевую дату, когда будет предложено, и макрос покажет номер недели, считая понедельник началом недели. Вы можете изменить код, изменив второй аргумент в WeekNum на 1 для недель, начинающихся с воскресенья.

Советы: Если ваша система недель отличается, соответственно скорректируйте vbMonday или vbSunday в коде VBA.

Один клик для преобразования множества дат с нестандартным форматированием в обычные даты в Excel

Утилита Convert to Date в Kutools для Excel поможет вам легко идентифицировать и преобразовать нестандартные даты или числа (например, yyyymmdd) или простой текст в стандартные форматы дат всего одним щелчком в Excel, повышая производительность и снижая количество ошибок при ручном преобразовании. Получите полнофункциональную бесплатную пробную версию на 30 дней прямо сейчас!
ad convert to date


Связанные статьи:

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

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

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–15 наборов инструментов: 12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...)   |   50+ типов диаграмм (Диаграмма Ганта, ...)   |   40+ практических формул (Расчет возраста на основе даты рождения, ...)   |   19 инструментов вставки (Вставить QR-код, Вставить изображение из пути, ...)   |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...)   |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...)   |   ... и многое другое
Используйте Kutools на вашем предпочитаемом языке – поддерживаются английский, испанский, немецкий, французский, китайский и более40 других языков!

Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени.  Щелкните здесь, чтобы получить наиболее нужную вам функцию...


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!