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

Как посчитать количество дней, недель, месяцев или лет между двумя датами?

Author: Xiaoyang Last Modified: 2025-07-21

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


Подсчет количества дней между двумя датами с помощью формул

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

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

=DATEDIF(A2,B2,"D")
=B2-A2

Примечание: Здесь A2 должен содержать начальную дату, а B2 конечную дату.

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

Formula entered to count the number of days between two given dates

Советы и примечания:

  • Если конечная дата раньше начальной даты:
    • Формула =B2 - A2 вернет отрицательное число.
    • Формула =DATEDIF(A2, B2, "D") вернет ошибку #ЧИСЛО!.
      Поэтому обязательно проверьте правильность вводимых дат.
  • Функция DATEDIF игнорирует временную часть и подсчитывает только полные дни.
  • Для включения количества дней (включая как начальную, так и конечную даты) добавьте +1 в конце вашей формулы:
    например, =DATEDIF(A2, B2, "D") + 1 или =B2 - A2 + 1.

Подсчет количества недель между двумя датами с помощью формул

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

1. Введите любую из следующих формул в пустую ячейку:

=(DATEDIF(A2,B2,"D")/7)
=(B2-A2)/7

Примечание: В этих формулах A2 — это начальная дата, а B2 — конечная дата.

2. Расширьте формулу, перетаскивая маркер заполнения, чтобы применить ее к нужным строкам. Результат покажет количество недель в виде десятичного числа. Этот метод особенно полезен для точного подсчета недель, но если вам нужны только полные недели (целые числа), обратитесь к совету ниже.

Formula entered to count how many weeks between two dates

  • СоветыЧтобы рассчитать только количество полных недель между двумя датами, используйте:
  • =ROUNDDOWN((DATEDIF(A2, B2, "d") /7),0)
    =INT((B2-A2)/7)

Formula entered to get the number of full weeks between two dates

Дополнительные заметки: Если вам нужно выровнять недели по определенным дням недели (например, всегда начинать с понедельника), вы можете использовать вспомогательные столбцы или функцию WEEKNUM для адаптированных расчетов.


Различные способы расчета разницы между двумя датами в днях, неделях, месяцах, годах и т.д.

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

Kutools for Excel's Date & Time Helper interface

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас


Подсчет количества месяцев между двумя датами с помощью формулы

Расчет количества месяцев между двумя датами полезен для отслеживания периодов, таких как сроки кредита, время до погашения или этапы проекта. Функция DATEDIF предназначена именно для таких интервальных расчетов дат.

1. Введите эту формулу в ячейку, где вы хотите видеть результат:

=DATEDIF(A2,B2,"m")

Примечание: Используйте A2 для начальной даты и B2 для конечной даты.

2. Перетащите маркер заполнения вниз по мере необходимости. Эта формула дает только количество полных месяцев в указанном интервале.

Formula entered to get the number of months between two dates

  • СоветыЧтобы получить объединенный результат для месяцев и дней, используйте эту формулу:
  • =DATEDIF(A2,B2,"m")&" months "&DATEDIF(A2,B2,"md")&" days"

Formula entered to get the number of months and days between two dates

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


Подсчет количества лет между двумя датами с помощью формулы

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

1. Введите следующую формулу в пустую ячейку:

=DATEDIF(A2,B2,"y")

Примечание: Указывайте A2 как начальную дату и B2 как конечную дату.

2. Используйте маркер заполнения, чтобы применить формулу ко всем необходимым ячейкам. Расчет вернет количество полных лет между двумя датами. Это очень полезно для быстрого определения стажа работы или установления пороговых значений для определенных льгот.

Formula entered to calculate the number of years between two dates

Устранение неполадок: Если даты отформатированы как текст, а не как реальные даты Excel, формула может вернуть ошибки. При необходимости преобразуйте их с помощью DATEVALUE.


Подсчет количества лет, месяцев и дней между двумя датами с помощью формул

В случаях, когда вам нужен более подробный разбор (например, для расчета возраста или детального отчета о стаже), вы можете комбинировать функции DATEDIF, чтобы показать годы, месяцы и дни между двумя датами.

1. Вставьте или вклейте следующую формулу в ячейку:

=DATEDIF(A2, B2, "y") &" years "&DATEDIF(A2, B2, "ym") &" months " &DATEDIF(A2, B2, "md") &" days"

Примечание: Используйте A2 для начальной даты и B2 для конечной даты.

2. Перетащите формулу по мере необходимости. Этот подход рассчитывает и отображает разницу в комбинированном текстовом формате (например, "2 года 3 месяца 7 дней").

Formula entered to get the number of years months and days between two dates

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


Расчет различных разниц между двумя датами в днях, неделях, месяцах, годах с помощью мощной функции

Если вам неудобно работать с формулами или если вы хотите гибкость для быстрого переключения между различными единицами (дни, недели, месяцы, годы, комбинации), Kutools для Excel упрощает этот процесс с помощью помощника Дата и время.

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

После завершения установки Kutools для Excel следуйте инструкциям ниже:

1. Щелкните ячейку для результата. Перейдите в Kutools > Помощник формул > Помощник даты и времени, как показано:

Date & Time helper option on the Kutools tab on the ribbon

2. В диалоговом окне Помощник даты и времени:

  • Выберите Разницу в разделе Тип;
  • Выберите начальную и конечную даты в полях ввода аргументов;
  • Установите желаемый тип результата (Год + Месяц + Неделя + День и т.д.) для индивидуального разбора.

Date & Time Helper dialog box

3. Нажмите ОК для расчета. Расширьте результат, перетаскивая маркер заполнения, если вам нужно охватить больше строк данных.

Results returned

Нажмите, чтобы скачать Kutools для Excel и начать бесплатную пробную версию прямо сейчас!

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


Макрос VBA: Автоматизация расчета дней, недель, месяцев или лет между двумя датами

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

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

Sub CalculateDateDifferences()
    Dim WorkRng As Range
    Dim RowRng As Range
    Dim StartCol As Integer
    Dim EndCol As Integer
    Dim OutputCol As Integer
    Dim DiffType As String
    Dim xTitleId As String
    
    xTitleId = "KutoolsforExcel"
    On Error Resume Next
    
    Set WorkRng = Application.InputBox("Select the range of date pairs (two columns: Start and End Date)", xTitleId, Selection.Address, Type:=8)
    
    If WorkRng Is Nothing Then Exit Sub
    
    StartCol = WorkRng.Columns(1).Column
    EndCol = WorkRng.Columns(2).Column
    OutputCol = EndCol + 1
    
    DiffType = Application.InputBox("Enter difference type: D=Days, W=Weeks, M=Months, Y=Years", xTitleId, "D", Type:=2)
    
    For Each RowRng In WorkRng.Rows
        If IsDate(RowRng.Cells(1, 1)) And IsDate(RowRng.Cells(1, 2)) Then
            Select Case UCase(DiffType)
                Case "D"
                    RowRng.Cells(1, 3).Value = RowRng.Cells(1, 2).Value - RowRng.Cells(1, 1).Value
                Case "W"
                    RowRng.Cells(1, 3).Value = (RowRng.Cells(1, 2).Value - RowRng.Cells(1, 1).Value) / 7
                Case "M"
                    RowRng.Cells(1, 3).Value = DateDiff("m", RowRng.Cells(1, 1).Value, RowRng.Cells(1, 2).Value)
                Case "Y"
                    RowRng.Cells(1, 3).Value = DateDiff("yyyy", RowRng.Cells(1, 1).Value, RowRng.Cells(1, 2).Value)
                Case Else
                    RowRng.Cells(1, 3).Value = "Invalid Type"
            End Select
        Else
            RowRng.Cells(1, 3).Value = "Invalid date(s)"
        End If
    Next
    
    Application.DisplayAlerts = True
    MsgBox "Date differences calculated in the third column of your selected range.", vbInformation, xTitleId
End Sub

2. Нажмите кнопку Run button для запуска макроса. Вам будет предложено выбрать диапазон с начальными и конечными датами (два соседних столбца). Затем введите тип разницы: D для дней, W для недель, M для месяцев, Y для лет. Результат появится в столбце справа от выбранного диапазона.

Советы по использованию: Этот макрос идеально подходит для быстрой и последовательной пакетной обработки. Убедитесь, что ваши столбцы дат правильно отформатированы как даты, чтобы избежать ошибок. Если в столбце результатов вы видите "Неверные даты", проверьте свой диапазон на наличие не-дат или пустых ячеек. Этот метод хорошо подходит для опытных пользователей или регулярных сценариев создания отчетов в больших объемах.


Больше статей, связанных с датами и временем:

  • Расчет часов между временами после полуночи в Excel
  • Предположим, у вас есть таблица времени для записи рабочего времени, время в столбце A — это время начала сегодняшнего дня, а время в столбце B — это время окончания следующего дня. Обычно, если вы рассчитываете разницу во времени между двумя временами, просто вычитая "=B2-A2", это не покажет правильный результат, как показано на скриншоте слева. Как можно правильно рассчитать часы между двумя временами после полуночи в Excel?
  • Подсчет количества дней / рабочих дней / выходных между двумя датами
  • Возможно, вам когда-нибудь понадобилось подсчитать количество дней между двумя датами в Excel? Может быть, иногда вы хотите рассчитать только рабочие дни между двумя датами, а иногда — только выходные дни между двумя датами. Как можно подсчитать количество дней между двумя датами при определенных условиях?

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

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

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


Office Tab добавляет вкладки в Office и делает вашу работу намного проще

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