Как сделать разницу дат в excel?

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

Звучит не очень? На самом деле, иногда возможность быстро и точно посчитать сколько же времени прошло с какого-то события, бывает очень полезна. Сколько месяцев прошло с дня вашего рождения, сколько времени вы уже просиживаете штаны на этом месте работы, или сколько дней вы сидите на диете — да мало ли применений этой полезной функции? А самое главное, подсчет можно автоматизировать и при каждом открытии книги MS Excel получать точные данные именно для сегодняшнего дня! Звучит интересно, неправда ли?

Функция РАЗНДАТ() принимает три аргумента:

  • Начальная дата — дата с которой ведется счет
  • Конечная дата — до которой ведется счет
  • Единица измерения — дни, месяцы, годы.

Записывается это так:

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

Единицы измерения записываются как:

  • «y» — разница дат в полных годах
  • «m» — разница дат в полных месяцах
  • «d» — разница дат в полных днях
  • «yd» — разница дат в днях с начала года без учета лет
  • «md» — разница дат в днях без учета месяцев и лет
  • «ym» — разница дат в полных месяцах без учета лет

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

=РАЗНДАТ(14.07.1984;22.03.2016;»y»)

как сделать разницу дат в excel

Применение функции РАЗНДАТ() на практике

Обратите внимание — последний аргумент всегда заключен в кавычки.

Если же я хочу получить точный возраст, то запишу усложненную формулу:

=РАЗНДАТ(F2;G2;»y»)&» год «&РАЗНДАТ(F2;G2;»ym»)&» месяцев»

как сделать разницу дат в excel

Усложняем применение РАЗНДАТ()

В которой функция РАЗНДАТ() вызывается сразу два раза, с разными значения, а слова «год» и «месяцев» просто пристыковываются к результату. То есть настоящая мощь функции проявляется только тогда, когда её комбинируют с другими возможностями MS Excel.

Ещё один интересный вариант — добавить в функцию ежедневно сдвигающийся относительно сегодняшней даты счетчик. К примеру, если я решу писать формулу которая высчитывает количество дней до моего отпуска в стандартном виде, это будет выглядеть примерно так:

как сделать разницу дат в excel

Простой калькулятор остатка рабочих дней

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

Чтобы избежать это досадной мелочи, в качестве первого аргумента (сегодняшнего числа), я подставлю не ссылку на значение хранящееся в ячейке, а другую функцию. Эта функция называется СЕГОДНЯ() и её основная и единственная задача — возвращать сегодняшнюю дату.

как сделать разницу дат в excel

А это уже полноценный калькулятор в MS Excel, учитывающий сегодняшнюю дату

Раз, и проблема решена — отныне, когда бы я не открыл этот лист MS Excel, функция РАЗНДАТ() всегда будет показывать мне точное значение, рассчитанное с учетом сегодняшней даты.

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

Как посчитать разницу между датами в Excel

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

  1. Выделите диапазон ячеек A2:A7 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Создать правило».
  2. Выбираем опцию: «Использовать формулу для определения форматируемых ячеек».
  3. Разница в днях между датами будет вычисляется функцией =РАЗНДАТ(). Для этого В поле ввода введите формулу: =РАЗНДАТ($D$2; C2;»d»)

    как сделать разницу дат в excel

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

    Расчет количества дней

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

    1. Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.
    2. Открывается окно форматирования. Если открытие произошло не во вкладке «Число», то следует в неё перейти. В блоке параметров «Числовые форматы» выставляем переключатель в позицию «Дата». В правой части окна выбираем тот тип данных, с которым собираемся работать. После этого, чтобы закрепить изменения, жмем на кнопку «OK».

    как сделать разницу дат в excel

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

    Способ 1: простое вычисление

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

    1. Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.
    2. Выделяем ячейку, в которой будет выводиться результат. В ней должен быть установлен общий формат. Последнее условие очень важно, так как, если в этой ячейке стоит формат даты, то в таком случае и результат будет иметь вид «дд.мм.гг» или другой, соответствующий данному формату, что является некорректным итогом расчетов. Текущий формат ячейки или диапазона можно просмотреть, выделив его во вкладке «Главная». В блоке инструментов «Число» находится поле, в котором отображается данный показатель.

      как сделать разницу дат в excel

      Если в нем стоит значение, отличное от «Общий», то в таком случае, как и в предыдущий раз, с помощью контекстного меню запускаем окно форматирования. В нем во вкладке «Число» устанавливаем вид формата «Общий». Жмем на кнопку «OK».

    3. В отформатированную под общий формат ячейку ставим знак «=». Кликаем по ячейке, в которой расположена более поздняя из двух дат (конечная). Далее жмем на клавиатуре знак «-». После этого выделяем ячейку, в которой содержится более ранняя дата (начальная).
    4. Чтобы увидеть, сколько времени прошло между этими датами, жмем на кнопку Enter. Результат отобразится в ячейке, которая отформатирована под общий формат.

    как сделать разницу дат в excel

    Способ 2: функция РАЗНДАТ

    Для вычисления разности в датах можно также применять специальную функцию РАЗНДАТ. Проблема в том, что в списке Мастера функций её нет, поэтому придется вводить формулу вручную. Её синтаксис выглядит следующим образом:

    =РАЗНДАТ(начальная_дата;конечная_дата;единица)

    «Единица» — это формат, в котором в выделенную ячейку будет выводиться результат. От того, какой символ будет подставлен в данный параметр, зависит, в каких единицах будет возвращаться итог:

    • «y» — полные года;
    • «m» — полные месяцы;
    • «d» — дни;
    • «YM» — разница в месяцах;
    • «MD» — разница в днях (месяцы и годы не учитываются);
    • «YD» — разница в днях (годы не учитываются).

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

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

    1. Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.
    2. Для того, чтобы произвести расчет, жмем кнопку Enter. После этого результат, в виде числа обозначающего количество дней между датами, будет выведен в указанную ячейку.

    как сделать разницу дат в excel

    Способ 3: вычисление количеств рабочих дней

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

    =ЧИСТРАБДНИ(нач_дата;кон_дата;

    Этот формат или вычисления в этом формате отличаются от всех вышеприведенных примеров. При необходимости получить количество дней от конкретной даты, нам необходимо в ячейке, где будет результат выставить знак равенства (=) и затем выделяем ячейку с установленной датой, от которой будут производиться вычисления. Выделяем ее курсором. Следующим действием ставим минус (-). Таким образом, половина формулы составлена. Остается только вставить число дней, которое необходимо вычесть. Его вводим с клавиатуры компьютера. Далее «Enter» и задача решена. В ячейке ожидаемый результат.

    Вычисление времени происходит аналогично вычислению дат. То есть от более позднего временного значения отнимаем более раннее. На примере вычисления прошедших минут с периода 22:55 часа и 15:13 часов покажем алгоритм вычисления разности в формате «время». Следует отметить, наверное, что формат при вводе цифр именно таким образом, как вводятся временные данные, автоматически становится форматом времени. В ячейке ожидаемого результата ставим привычное «равно» (=), затем активируем курсором мышки ячейку с поздним временем, у нас это ячейка где стоит 22:55. Затем вводим значение «минус» (-) затем переходим к активации ячейки с более ранним временным значением, то есть 15:13. В итоге формула будет выглядеть следующим образом «=C4-E4». Активируем вычисление – жмем Enter.

    Что мы видим в ячейке результата? Вовсе не то что ожидали. И это верно. Ожидая минуты — получили часы и минуты. Что делать, что бы получить результат в минутах? Необходимо умножить количество минут на количество часов в сутках. Проще говоря, умножаем 60 на 24. Что можно сделать через коэффициент 1440, то есть умножить 7часов 42 минуты на 1440. В excel это делаем следующим образом. Открываем ячейку знаком «равно» (=) жмем на ячейку с данными 7:42. Данные отобразятся в строке формулы,

    затем жмем на «умножить» (*) и подставляем значение 1440. Жмем Enter. Все — смотрим результат.

    А он опять не тот, что мы ожидали. Мы видим 0:00. Это связано с тем, что при вводе коэффициента 1440 формат числа автоматически изменился на временной, что и дало искаженный результат. Что бы увидеть искомое значение в количествах минут следует изменить формат с «время» на «числовой» или «общий».

    Формат меняется активированием ячейки и изменением в окне меню формата на «общий». Данную операцию по изменению формата, возможно, проделать с помощью клавиши Ctrl + 1. Пользуясь этими клавишами, активируем список форматов. Выбираем из списка формат «общий» Нажимаем Enter и процесс изменения формата завершен.

    После вышеуказанных манипуляций с форматами и расчетами и мы получим искомый результат 462 м.