Excel между датой датами

Вычисление разности двух дат

Используйте функцию РАЗНДАТ, если нужно вычислить разницу двух дат. Сначала поместите дату начала в одну ячейку, а дату окончания — в другую. Затем введите формулу, например одну из следующих.

Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!

Разница в днях

=РАЗНДАТ(D9,E9,"d"), результат: 856

В этом примере дата начала находится в ячейке D9, а дата окончания — в ячейке E9. Формула находится в ячейке F9. Параметр «д» возвращает количество полных дней между двумя датами.

Разница в неделях

=(РАЗНДАТ(D13,E13,"d")/7), результат: 122,29

В этом примере дата начала находится в ячейке D13, а дата окончания — в ячейке E13. Параметр «д» возвращает количество дней. Но обратите внимание на /7 в конце. Это делит количество дней на 7, так как в неделе содержится 7 дней. Обратите внимание, что этот результат также должен быть представлен в числовом формате. Нажмите клавиши CTRL+1. Затем щелкните Числовой > Число десятичных знаков: 2.

Разница в месяцах

=РАЗНДАТ(D5,E5,"m"), результат: 28

В этом примере дата начала находится в ячейке D5, а дата окончания — в ячейке E5. В формуле «м» возвращает количество полных месяцев между двумя днями.

Разница в годах

=РАЗНДАТ(D2,E2,"y"), результат: 2

В этом примере дата начала находится в ячейке D2, а дата окончания — в ячейке E2. Параметр «г» возвращает количество полных лет между двумя днями.

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

Вы также можете вычислить возраст или время работы другого человека. Результат может выглядеть так: «2 года, 4 месяца, 5 дней».

1. Используйте функцию РАЗНДАТ, чтобы найти общее количество лет.

=РАЗНДАТ(D17,E17,"y"), результат: 2

В этом примере дата начала находится в ячейке D17, а дата окончания — в ячейке E17. В формуле параметр «г» возвращает количество полных лет между двумя днями.

2. Снова используйте функцию РАЗНДАТ с «гм», чтобы найти месяцы.

=РАЗНДАТ(D17,E17,"ym"), результат: 4

В другой ячейке используйте функцию РАЗНДАТ с параметром «гм». Параметр «гм» возвращает количество оставшихся месяцев с последнего полного года.

3. Используйте другую формулу для поиска дней.

=РАЗНДАТ(D17;E17;"md"), результат: 5

Теперь нужно найти количество оставшихся дней. Для этого мы напишем формулу другого типа, показанную выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.

Предупреждение: Не рекомендуется использовать аргумент «мд» функции РАЗНДАТ, так как он может вычислять неточные результаты.

4. Необязательно: объединение трех формул в одну.

=РАЗНДАТ(D17,E17,"y")&" г., "&РАЗНДАТ(D17,E17,"ym")&" мес., "&РАЗНДАТ(D17,E17,"md")&" дн.", результат: 2 г., 4 мес., 5 дн.

Все три вычисления можно поместить в одну ячейку, как в этом примере. Используйте амперсанды, кавычки и текст. Эту формулу дольше вводить, но она содержит в себе все вычисления. Совет. Нажмите клавиши ALT+ВВОД, чтобы ввести разрывы строк в формулу. Это упрощает чтение. Кроме того, если вы не видите всю формулу, нажмите клавиши CTRL+SHIFT+U.

Скачивание примеров

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

Скачать примеры вычислений дат

Другие вычисления даты и времени

Как показано выше, функция РАЗНДАТ вычисляет разницу между датой начала и датой окончания. Однако вместо ввода определенных дат в формуле можно также использовать функцию СЕГОДНЯ(). При использовании функции СЕГОДНЯ() Excel в качестве даты использует текущую дату компьютера. Имейте в виду, что эта переменная будет меняться при повторном открыть файле в будущем.

=РАЗНДАТ(TODAY(),D28,"y"), результат: 984

Обратите внимание, эта статья была написана 6 октября 2016 г.

Используйте функцию ЧИСТРАБДНИ.МЕЖД, если нужно вычислить количество рабочих дней между двумя датами. Вы также можете исключить выходные и праздники.

Прежде чем начать. Решите, нужно ли исключить даты праздников. При исключении введите список дат праздников в отдельной области или на отдельном листе. Поместите каждую дату праздника в собственную ячейку. Затем выделите эти ячейки и нажмите Формулы > Задать имя. Назовите диапазон МоиПраздники и нажмите ОК. Затем создайте формулу с помощью указанных ниже действий.

1. Введите дату начала и окончания.

Дата начала в ячейке D53: 01.01.2016, дата окончания в ячейке E53: 31.12.2016

В этом примере дата начала находится в ячейке D53, а дата окончания — в ячейке E53.

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

=ЧИСТРАБДНИ.МЕЖД(D53,E53,1), результат: 261

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

Примечание. В Excel 2007 нет функции ЧИСТРАБДНИ.МЕЖД. Однако там есть функция ЧИСТРАБДНИ. Указанный выше пример будет выглядеть в Excel 2007 следующим образом: =ЧИСТРАБДНИ(D53;E53). Не нужно указывать цифру 1, так как функция ЧИСТРАБДНИ предполагает, что выходными являются суббота и воскресенье.

3. При необходимости измените цифру 1.

Список Intellisense: 2 — воскресенье, понедельник; 3 — понедельник, вторник и так далее

Если суббота и воскресенье не являются выходными днями, измените 1 на другое числовое значение из списка IntelliSense. Например, значение 2 устанавливает воскресенья и понедельники в качестве выходных дней.

Если вы используете Excel 2007, пропустите этот шаг. Функция ЧИСТРАБДНИ в Excel 2007 всегда предполагает, что выходными являются суббота и воскресенье.

4. Введите имя диапазона праздников.

=ЧИСТРАБДНИ.МЕЖД(D53,E53,1,MyHolidays), результат: 252

Если вы создали имя диапазона праздников в разделе «Прежде чем начать» выше, введите его в конце следующим образом. Если у вас нет праздников, вы можете не использовать точку с запятой и МоиПраздники. Если вы используете Excel 2007, указанный выше пример будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;MyHolidays).

Совет. Если вы не хотите указывать имя диапазона праздников, вместо этого вы можете ввести диапазон, например D35:E39. Или можно ввести в формулу каждый праздник. Например, если ваши праздники приходились на 1 и 2 января 2016 г., введите их следующим образом: =ЧИСТРАБДНИ.МЕЖД(D53;E53;1;{«01.01.2016″;»02.01.2016»}). В Excel 2007 это будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;{«01.01.2016″;»02.01.2016»})

Вы можете вычислить затраченное время, вычитая одно время из другого. Сначала поместите время начала в одну ячейку, а время окончания — в другую. Вводите время полностью, включая час, минуты и пробел перед AM или PM. Ниже рассказывается, как это сделать.

1. Введите время начала и время окончания.

Дата и время начала: 7:15, дата и время окончания: 16:30

В этом примере время начала находится в ячейке D80, а время окончания — в ячейке E80. Введите час, минуты и пробел перед AM или PM.

2. Установите формат «ч:мм AM/PM».

Диалоговое окно "Формат ячеек", настраиваемая команда, тип ч:мм AM/PM

Выберите обе даты и нажмите клавиши CTRL+1 (или Изображение значка кнопки команд в Mac+1 на компьютере Mac). Выберите вариант (все форматы) > ч:мм AM/PM, если он еще не установлен.

3. Вычтите два времени.

=E80-D80, результат: 9:15

В другой ячейке вычтите ячейку времени начала из ячейки времени окончания.

4. Установите формат «ч:мм».

Диалоговое окно "Формат ячеек", настраиваемая команда, тип ч:мм

Нажмите клавиши CTRL+1 (или Изображение значка кнопки команд в Mac+1 на Mac). Выберите (все форматы) > ч:мм, чтобы результат не содержал AM и PM.

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

1. Введите две полные даты со временем.

Дата начала: 01.01.16 13:00, дата окончания 02.01.16 14:00

В одной ячейке введите полную дату и время начала. А в другой ячейке введите полную дату и время окончания. Каждая ячейка должна содержать месяц, день, год, час, минуты, и пробел перед AM или PM.

2. Установите формат «14.03.12 1:30 PM».

Диалоговое окно "Формат ячеек", настраиваемая команда, тип 14.03.12 13:30

Выберите обе ячейки и нажмите клавиши CTRL+1 (или Изображение значка кнопки команд в Mac+1 на компьютере Mac). Затем выберите Дата > 14.03.12 1:30 PM. Это не дата, которую вы установили, а просто пример того, как будет выглядеть формат. Обратите внимание, что в версиях до Excel 2016 этот формат может использовать другой пример даты, например 14.03.01 1:30 PM.

3. Вычтите два значения.

=E84-D84, результат: 1,041666667

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

4. Установите формат «[ч]:мм».

Диалоговое окно "Формат ячеек", настраиваемая команда, тип [ч]:мм

Нажмите клавиши CTRL+1 (или Изображение значка кнопки команд в Mac+1 на Mac). Выберите пункт (все форматы). В поле Тип введите [ч]:мм.

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

Функция РАЗНДАТ

Функция ЧИСТРАБДНИ.МЕЖД

ЧИСТРАБДНИ

Дополнительные функции даты и времени

Вычисление разницы во времени

Нужна дополнительная помощь?

На чтение 5 мин Просмотров 2к. Опубликовано 27.02.2022

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

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

Содержание

  1. Стандартный расчет количества дней
  2. С помощью функции ДНИ
  3. С помощью функции РАЗНДАТ
  4. Расчет кол-ва рабочих дней
  5. Расчет кол-ва неполных рабочих дней между двумя датами
  6. Количество понедельников между двумя датами

Стандартный расчет количества дней

Итак, в Excel есть две функции для вычисления кол-ва дней.

С помощью функции ДНИ

Чтобы получить результат от функции нам понадобится дата начала и дата конца.

Итак, вы указываете эти две даты в аргументах функции и получаете количество дней между ними.

Хороший пример вы можете видеть на картинке ниже:

Используем эту формулу:

=ДНИ(B2;B1)  

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

Эта функция вычислит количество дней между этими датами, но если вы хотите чтобы расчет велся «включительно» с датами начала и конца, то добавьте к результату + 1 (просто пропишите это в функции).

С помощью функции РАЗНДАТ

Эта функция аналогична, её отличие в том, что можно указать больше параметров. То есть больше «подстроить» под ситуацию.

Также можно вычислить кол-во месяцев или лет между датами.

Допустим, мы имеем то что указано на картинке ниже:

Пропишем формулу:

=РАЗНДАТ(B1;B2;"D")  

Эта функция использует три наших аргумента:

  • Дата начала — B1
  • Дата окончания — B2
  • «D» — текстовая строка

Важный момент: этой функции не будет в подсказке при написании названия функции, т.е. если вы будете писать РАЗНДАТ, Excel будет вести себя так, как будто он не знает что это за функция, но это не так.

Функция РАЗНДАТ больше подходит для ситуаций, когда нужно вычислить кол-во лет или месяцев между датами, в других ситуациях удобнее применять ДНИ (функцию).

Вот формула, которая даст результат по месяцам, которые будут между датами:

=РАЗНДАТ(B1;B2;"M") 

А эта формула, тоже самое что и прошлая, только вычисляет кол-во лет:

=РАЗНДАТ(B1;B2;"Y")  

Расчет кол-ва рабочих дней

Итак, рабочие дни можно вычислить двумя способами:

  • Функция Excel ЧИСТРАБДНИ — ее следует использовать, если выходные дни — суббота и воскресенье.
  • Функция Excel ЧИСТРАБДНИ.МЕЖД — используйте ее, когда выходные дни отличаются от субботы и воскресенья.

Сначала быстро рассмотрим синтаксис и аргументы фунции ЧИСТРАБДНИ.

Функция Excel ЧИСТРАБДНИ

=ЧИСТРАБДНИ(нач_дата, конеч_дата, [праздники])

  • нач_дата — это дата начала отсчета.
  • end_date — это конечная дата отсчета.
  • [праздники] — (Необязательно) Отдельная дата или диапазон дат, которые не будут учитываться в расчетах.

Посмотрим на стандартный пример, когда нужно посчитать кол-во рабочих дней.

Мы будем использовать эту формулу:

=ЧИСТРАБДНИ(B2;C2;$F$2:$F$6)  

Такая вариация этой функции даст то что вам нужно, если вам нужно посчитать рабочие дни без субботы и воскресенья.

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

Именно для таких ситуаций и появилась функция ЧИСТРАБДНИ.МЕЖД.

Посмотрим что из себя представляет эта функция.

Функция Excel ЧИСТРАБДНИ.МЕЖД

=ЧИСТРАБДНИ.МЕЖД(нач_дата; конеч_дата; [выходные]; [праздники])

  • нач_дата — значение даты, представляющее собой начальную дату.
  • конеч_дата — значение даты, представляющее дату окончания.
  • [нерабочие дни] — (Необязательно) в этом аргументе указываются исключительные дни(праздники и т.д.), если аргумента не будет, выходные останутся по-стандарту(суббота и воскресенье).

А сейчас, попробуем посчитать кол-во рабочих дней, если выходными будут пятница и суббота.

Допустим, таблица такая же как и в прошлом примере:

Будем использовать формулу:

=ЧИСТРАБДНИ.МЕЖД(B2;C2;7;$F$2:$F$6)  

3 аргумент в функции сообщает Excel, что пятница и суббота выходные.

Также, мы можем использовать ЧИСТРАБДНИ.МЕЖД для расчета выходных между двумя датами.

Она конечно вычисляет кол-во рабочих дней, но мы можем адаптировать это «под себя».

Допустим, таблица все та же:

Формула, которая нам подойдет:

=ДНИ(C2;B2)+1-РАЗНДАТ(B2;C2)

Расчет кол-ва неполных рабочих дней между двумя датами

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

Допустим, у нас есть похожая таблица с данными:

Формула, для нашего случая, будет такой:

=ЧИСТРАБДНИ.МЕЖД($B$3;$C$3;"1010111";$E$3:$E$7)  

Для обозначения выходных дней, мы использовали «1010111».

  • 0 — рабочий день
  • 1 — неполный рабочий день

Первая цифра из этого числа — понедельник, последняя — воскресенье

Грубо говоря, «0000011» значит, что с понедельника по пятницу — рабочие дни, а суббота и воскресенье — нерабочие (выходные).

По той же логике, «1010111» означает, что только вторник и четверг являются рабочими, а остальные 5 дней — нерабочими.

Если вам нужно исключить какие-то дни из расчетов, можете исключать их таким образом.

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

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

Функция, которая выведет кол-во понедельников:

=ЧИСТРАБДНИ(B2;C2;"0111111")  

В этой формуле «0» означает рабочий день, а «1» — нерабочий день.

Формула рассчитывает количество рабочих дней, с учетом того что единственный рабочий день — это понедельник.

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

Иногда вам может потребоваться определить или проверить, находится ли дата между двумя датами или выходными в Excel. Эта статья покажет вам следующие хитрые способы проверить, находится ли дата между двумя датами или выходными в Excel.

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

Больше руководств по свиданиям …


Определите, находится ли дата между двумя датами в Excel

Предположим, вам нужно определить, попадают ли даты в столбце A между 7 и 1. пожалуйста, сделайте следующее:

1. В пустой ячейке с надписью «Ячейка B2» скопируйте и вставьте в нее приведенную ниже формулу и нажмите Enter .

=IF(AND(A2>$B$1,A2<$c$1),A2, FALSE)

Внимание: Эта формула проверяет, находится ли дата между 7 и 1. Если дата попадает в этот период, она вернет дату; если дата не попадает в этот период, он вернет текст НЕПРАВДА.

2. Продолжая выбирать ячейку результата, перетащите маркер заполнения вниз, чтобы получить все результаты. Смотрите скриншот:

Теперь вы можете определить, попадает ли дата в указанный диапазон дат или нет.


Определите, попадает ли дата между двумя датами в Excel с помощью Kutools for Excel

Здесь вам порекомендуют потрясающий инструмент — Выбрать определенные ячейки полезности Kutools for Excel. Этот инструмент поможет вам не только узнать все даты, которые попадают между двумя заданными датами, но и сразу выбрать все соответствующие ячейки дат.
Перед его применением необходимо сначала скачайте и установите.

1. Выберите диапазон дат, по которым вы хотите определить, попадают ли они между двумя датами, а затем щелкните Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:

2. в Выбрать определенные ячейки в диалоговом окне выберите Ячейка вариант в Тип выбора раздел, а затем укажите Больше и Менее даты и, наконец, нажмите OK кнопку.

Вы можете видеть, что ячейки даты, которые находятся между двумя датами, выбираются немедленно. Смотрите скриншот:

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


Определите, приходится ли дата на выходные с формулами и кодом VBA

Вы можете определить, приходится ли дата в столбце A на выходные, выполнив следующие действия:

Метод А. Использование формулы для проверки того, приходится ли свидание на выходные.

1. В пустой ячейке скопируйте и вставьте в нее приведенную ниже формулу и нажмите Enter .

=IF(OR(WEEKDAY(A2)=1,WEEKDAY(A2)=7),A2,FALSE)

Эта формула определяет, приходится ли свидание на выходные или нет. Если дата выпадает на выходные, она вернет дату; если дата не выпадает на выходные, она вернет текст НЕПРАВДА.

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

Метод Б. Использование пользовательской функции для проверки того, приходится ли свидание на выходные.

1. нажмите ALT + F11 вместе, чтобы открыть окно Microsoft Visual Basic для приложений.

2. В окне Microsoft Visual Basic для приложений щелкните Вставить >> Модулии вставьте следующий макрос в окно модуля.

Public Function IsWeekend(InputDate As Date) As Boolean
Select Case Weekday(InputDate)
Case vbSaturday, vbSunday
IsWeekend = True
Case Else
IsWeekend = False
End Select
End Function

3. Нажмите одновременно клавиши Alt + Q, чтобы закрыть окно Microsoft Visual Basic для приложений.

4. В пустой ячейке введите формулу в строку формул и нажмите кнопку Enter .

=IsWeekend(A2)

Если он возвращает текст Правда, дата в ячейке A2 — выходной; и если он возвращает текст Ложь, дата в ячейке A2 не приходится на выходные.


Определите, приходится ли свидание на выходные, с помощью замечательного инструмента

На самом деле вы можете преобразовать все даты в название дня недели, а затем проверить выходные дни на основе субботы или воскресенья. Здесь Применить формат даты полезности Kutools for Excel может помочь вам легко решить проблему.
Перед его применением необходимо сначала скачайте и установите.

1. Выберите диапазон дат и нажмите Кутулс > Формат > Применить форматирование даты. Смотрите скриншот:

2. в Применить форматирование даты диалоговое окно, выберите среда в Форматирование даты поле, а затем щелкните OK кнопку.

Теперь выбранные даты сразу конвертируются в дни недели. Вы можете определить, приходится ли свидание на выходные или нет, напрямую по его содержанию. Смотрите скриншот:

Заметки:

  • Преобразованные результаты работали непосредственно с исходными данными;
  • Эта утилита поддерживает расстегивать Ctrl + Z».

  Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.


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

Преобразование даты в день недели, месяц, название года или число в Excel
Говорит, что вы вводите дату в одну ячейку, и отображается как 12/13/2015. Есть ли способ показать только месяц или день недели или текст названия месяца или дня недели, например, декабрь или воскресенье? Методы, описанные в этой статье, могут помочь вам легко преобразовать или отформатировать любые даты, чтобы в Excel отображалось только название дня недели или месяца.

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

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

Сумма значений между двумя диапазонами дат в Excel
Когда на вашем листе есть два списка, один — это список дат, а другой — список значений. И вы хотите суммировать значения только между двумя диапазонами дат, например, суммировать значения между 3/4/2014 и 5/10/2014, как вы можете быстро их вычислить? Методы, описанные в этой статье, окажут вам услугу.

Добавить дни к дате, включая выходные и праздничные дни или исключая их, в Excel
В этой статье говорится о добавлении дней к заданной дате, исключая выходные и праздничные дни, что означает добавление рабочих дней (с понедельника по пятницу) только в Excel.

Еще учебник для свиданий …


Определите, попадает ли дата между двумя датами или выходными с Kutools for Excel

Kutools for Excel включает более 300 удобных инструментов Excel. Бесплатная пробная версия без ограничений в течение 60 дней. Загрузите бесплатную пробную версию прямо сейчас!


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

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

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

вкладка kte 201905


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

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

офисный дно

  • Редакция Кодкампа

17 авг. 2022 г.
читать 1 мин


Мы можем использовать функцию DATEDIF() для вычисления разницы между двумя датами в Excel.

Эта функция использует следующий синтаксис:

=DATEDIF(Начальная_Дата, Конечная_Дата, Метрика)

куда:

  • Start_Date: дата начала
  • End_Date: Дата окончания
  • Метрика: метрика для расчета. Варианты включают:
  • «д»: дни
  • «м»: Месяцы
  • «г»: годы

Важно отметить, что эта функция не появится автоматически в Excel, пока вы полностью не введете =РАЗНДАТ( в одну из ячеек.

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

Пример 1: разница в днях

На следующем изображении показано, как рассчитать разницу (в днях) между двумя датами:

Разница дат в днях в Excel

Это говорит нам о том, что между 01.01.2018 и 01.02.2021 1127 полных дней.

Пример 2: разница в месяцах

На следующем изображении показано, как рассчитать разницу (в месяцах) между двумя датами:

Разница дат в месяцах в Excel

Пример 3: Разница в годах

На следующем изображении показано, как рассчитать разницу (в годах) между двумя датами:

Разница в годах между двумя датами в Excel

Пример 4: Разница в годах и месяцах

На следующем рисунке показано, как рассчитать разницу (в годах и месяцах) между двумя датами:

Разница в годах и месяцах между двумя датами в Excel

Вы можете найти больше руководств по Excel на этой странице .

Написано

Редакция Кодкампа

Замечательно! Вы успешно подписались.

Добро пожаловать обратно! Вы успешно вошли

Вы успешно подписались на кодкамп.

Срок действия вашей ссылки истек.

Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.

Успех! Ваша платежная информация обновлена.

Ваша платежная информация не была обновлена.


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

РАЗНДАТ(

)

, английский вариант DATEDIF().

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

Расчет страхового (трудового) стажа в MS EXCEL

.

Функции

РАЗНДАТ(

)

нет в справке EXCEL2007 и в

Мастере функций

(

SHIFT

+

F

3

), но она работает, хотя и не без огрех.

Синтаксис функции:


РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Аргумент

начальная_дата

должна быть раньше аргумента

конечная_дата

.

Аргумент

способ_измерения

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


Значение


Описание

«d»

разница в днях

«m»

разница в полных месяцах

«y»

разница в полных годах

«ym»

разница в полных месяцах без учета лет

«md»

разница в днях без учета месяцев и лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.

«yd»

разница в днях без учета лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.

Ниже приведено подробное описание всех 6 значений аргумента

способ_измерения

, а также альтернативных формул (функцию

РАЗНДАТ()

можно заменить другими формулами (правда достаточно громоздкими). Это сделано в

файле примера

).

В файле примера значение аргумента

начальная_дата

помещена в ячейке

А2

, а значение аргумента

конечная_дата

– в ячейке

В2

.

1. Разница в днях («d»)

Формула

=РАЗНДАТ(A2;B2;»d»)

вернет простую разницу в днях между двумя датами.


Пример1:

начальная_дата

25.02.2007,

конечная_дата

26.02.2007

Результат:

1 (день).

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

РАЗНДАТ()

с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).


Пример2:

начальная_дата

01.02.2007,

конечная_дата

01.03.2007

Результат:

28 (дней)


Пример3:

начальная_дата

28.02.2008,

конечная_дата

01.03.2008

Результат:

2 (дня), т.к. 2008 год — високосный

Эта формула может быть заменена простым выражением

=ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2)

. Функция

ЦЕЛОЕ()

округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток (

РАЗНДАТ()

игнорирует время, т.е. дробную часть числа, см. статью

Как Excel хранит дату и время

).


Примечание

: Если интересуют только рабочие дни, то к

оличество рабочих дней

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

=ЧИСТРАБДНИ(B2;A2)

2. Разница в полных месяцах («m»)

Формула

=РАЗНДАТ(A2;B2;»m»)

вернет количество полных месяцев между двумя датами.


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2007

Результат:

1 (месяц)


Пример2:

начальная_дата

01.03.2007,

конечная_дата

31.03.2007

Результат:

0

При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция

РАЗНДАТ()

так не считает!


Пример3:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

25 месяцев

Формула может быть заменена альтернативным выражением:

=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)<ДЕНЬ(A2))


Внимание

: В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:


=(ГОД(ТДАТА())-ГОД(A3))*12+МЕСЯЦ(ТДАТА())-МЕСЯЦ(A3)

Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).

3. Разница в полных годах («y»)

Формула

=РАЗНДАТ(A2;B2;»y»)

вернет количество полных лет между двумя датами.


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

2 (года)


Пример2:

начальная_дата

01.04.2007,

конечная_дата

01.03.2009

Результат:

1 (год)

Подробнее читайте в статье

Полный возраст или стаж

.

Формула может быть заменена альтернативным выражением:

=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))<=B2; ГОД(B2)-ГОД(A2);ГОД(B2)-ГОД(A2)-1)

4. Разница в полных месяцах без учета лет («ym»)

Формула

=РАЗНДАТ(A2;B2;»ym»)

вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).


Пример1:

начальная_дата

01.02.2007,

конечная_дата

01.03.2009

Результат:

1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02.

2009

(год начальной даты заменяется годом конечной даты, т.к. 01.02

меньше

чем 01.03)


Пример2:

начальная_дата

01.04.2007,

конечная_дата

01.03.2009

Результат:

11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04.

2008

(год начальной даты заменяется годом конечной даты

за вычетом 1 года

, т.к. 01.04

больше

чем 01.03)

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

Сколько лет, месяцев, дней прошло с конкретной даты

.

Формула может быть заменена альтернативным выражением:

=ОСТАТ(C7;12)

В ячейке

С7

должна содержаться разница в полных месяцах (см. п.2).

5. Разница в днях без учета месяцев и лет («md»)

Формула

=РАЗНДАТ(A2;B2;»md»)

вернет количество дней между двумя датами без учета месяцев и лет. Использовать функцию

РАЗНДАТ()

с этим аргументом не рекомендуется (см. примеры ниже).


Пример1:

начальная_дата

01.02.2007,

конечная_дата

06.03.2009

Результат1:

5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01.

03

.

2009

(год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01

меньше

чем 06)


Пример2:

начальная_дата

28.02.2007,

конечная_дата

28.03.2009

Результат2:

0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28.

03

.

2009

(год и месяц начальной даты заменяется годом и месяцем конечной даты)


Пример3:

начальная_дата

28.02.2009,

конечная_дата

01.03.2009

Результат3:

4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.

Версия EXCEL 2007 с SP3:

Результат – 143 дня! Больше чем дней в месяце!

Версия EXCEL 2007:

Разница между 28.02.2009 и 01.03.2009 – 4 дня!

Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!

Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением:

=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2); ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2); ДЕНЬ(B2)-ДЕНЬ(A2))

Данная формула лишь эквивалетное (в большинстве случаев) выражение для

РАЗНДАТ()

с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.

6. Разница в днях без учета лет («yd»)

Формула

=РАЗНДАТ(A2;B2;»yd»)

вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.

Результат, возвращаемый формулой

=РАЗНДАТ(A2;B2;»yd»)

зависит от версии EXCEL.

Формула может быть заменена альтернативным выражением:

=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2; B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2)); B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция

РАЗНДАТ()

с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Имея формулу, эквивалентную

РАЗНДАТ()

, можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты =

ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6)

, т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

Модифицируем формулу для расчета дней разницы без учета месяцев и лет:

=

ЕСЛИ(ДЕНЬ(A18)>ДЕНЬ(B18);ЕСЛИ((ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18))<0;ДЕНЬ(B18);ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B18;-1);0))-ДЕНЬ(A18)+ДЕНЬ(B18));ДЕНЬ(B18)-ДЕНЬ(A18))

При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.

Понравилась статья? Поделить с друзьями:
  • Excel между дата текущая
  • Excel между дата как число
  • Excel между дата больше
  • Excel между дата 2007
  • Excel медленно работают макросы