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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Способ 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 м.

    Источник:
    http://word-office.ru/kak-sdelat-raznicu-dat-v-excel.html

    Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в EXCEL

    8 апреля 2013 г.

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

    Функции РАЗНДАТ( ) нет в справке EXCEL2007 и в Мастере функций ( SHIFT + F 3 ), но она работает, хотя и не без огрех.

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

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

    Аргумент начальная_дата должна быть раньше аргумента конечная_дата .

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

    Значение

    Описание

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

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

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

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

    разница в днях без учета лет ВНИМАНИЕ! Функция для некоторых версий 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) ДЕНЬ(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! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

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

    Источник:
    http://excel2.ru/articles/funkciya-razndat-vychislenie-raznosti-dvuh-dat-v-dnyah-mesyacah-godah-v-ms-excel-razndat

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

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

    Вам интересно, сколько составляет разница в днях, месяцах и годах между двумя датами? Может быть, вам нужно знать количество дней между сегодняшним днем ​​и какой-либо точкой в прошлом или будущем? Какова бы ни была ваша проблема, один из приведенных ниже примеров в Excel наверняка подскажет вам решение.

    Простой калькулятор дней.

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

    Хотите узнать формулу, которая рассчитала эти результаты? Это так же просто, как =B3-B2:)

    Обратите внимание, что нужно четко знать, что именно вы хотите подсчитать: «дни включительно» или «дни между».

    Кроме того, прежде чем выполнять операции с датой-временем, нужно установить правильный формат в ячейках вашей таблицы. Чаще всего Эксель сам подбирает нужный формат представления данных, но все же лучше подстраховаться.

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

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

    Как рассчитать разницу в днях?

    Самый простой способ рассчитать дни между датами в Эксель — вычесть одну из другой:

    = Более новая — Более старая

    Как мы уже сказали ранее, чтобы узнать, сколько времени пройдет в периоде между ячейками В3 и B2, используйте следующую формулу:

    где В2 — более ранняя, а B3 — более.

    Результатом подсчета является целое число, которое представляет количество дней внутри временного интервала.

    Однако, будьте здесь внимательны: при подобном подсчете отработанных дней в том случае, если человек работал и в первый, и в последний день, то 1 день будет «потерян». Добавьте в вашу формулу +1 день.

    Как работает эта формула?

    Как вы, вероятно, знаете, Microsoft Excel хранит даты в виде порядковых номеров, начинающихся с 1 января 1900 года, которому соответствует номер 1. В этой системе 2 января 1900 года сохраняется как число 2, 3 января 1900 года как 3 и так далее. Таким образом, вычитая одну дату из другой, вы фактически вычитаете целые числа, представляющие их.

    В нашем примере формула в C5 на самом деле вычитает 43892 (числовое значение 2 марта 2020г.) из 43900 (числовое значение 10 марта 2020г.) и возвращает результат 8 дней.

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

    Рассчитать разницу между датами в Excel с помощью РАЗНДАТ (DATEDIF).

    Другой способ — как в Экселе посчитать дни в заданном временном интервале — использование функции РАЗНДАТ (в английском варианте – DATEDIF), которая специально разработана для расчета разности во времени и представления её в различных единицах: дни, месяцы и годы.

    А вот ее синтаксис:

    = РАЗНДАТ(дата_нач; дата_кон; аргумент)

    дата_нач и дата_кон — две временных отметки, разницу между которыми необходимо рассчитать,

    аргумент – указывает, как представить результат; может иметь одно из следующих значений:

    • Y Число полных лет.
    • M Число полных месяцев.
    • D Число дней.
    • MD Разница в днях (значения месяца и года не учитываются).
    • YM Разница в месяцах (значения дня и года не учитываются).
    • YD Разница в днях, игнорируя значения года.

    Чтобы получить количество дней между двумя датами, укажите момент начала в первом аргументе, срок окончания во втором, и «d» в последнем третьем:

    РАЗНДАТ(дата_нач; дата_кон; «d»)

    DATEDIF (start_date, end_date, «d»)

    Примечание. РАЗНДАТ (DATEDIF) — недокументированная функция, то есть ее нет в мастере функций в Excel. Вы не сможете ее вставить при помощи кнопки fx или меню Вставка — Функция. Чтобы создать формулу РАЗНДАТ в таблице Экселя, вам нужно вписать ее название руками и ввести все аргументы вручную, подсказок ввода не будет.

    В ней вы можете указывать исходные данные различными способами, такими как:

    • Ссылки на ячейки. Например, следующая формула вернет количество дней между A3 и B3:

    Текстовые выражения. Excel понимает даты в различных форматах, например, «2 март 2020», «20.03.2020», «20/03/2020», «2020/03/20», «20-03-2020», «2020-03-20» и т.д.

    Вот примеры расчета количества дней во временных промежутках:

    =РАЗНДАТ(«2 март 2020»; «2020-03-20»; «D»)

    =РАЗНДАТ(«02-03-2020»; «20/03/2020»; «D»)

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

    • Порядковые номера. Поскольку Microsoft Excel хранит каждую дату как порядковый номер, начинающийся с 1 января 1900 года, вы можете поместить числа, соответствующие датам, непосредственно в формулу. Хотя этот метод полностью поддерживается, все же он не является надежным, поскольку нумерация различается в разных компьютерных системах (Windows и MacOS).

    В системе дат 1900 года следующая формула является еще одним способом вычисления месяцев по условиям из предыдущего примера (2 марта 2020 года и 10 марта 2020 года):

    =РАЗНДАТ(43900; 43892; «D»)

    • Результаты выполнения других функций. Например, следующая формула подсчитывает, срок между сегодня (18 марта 2020г.) и 9 мая 2020 года.

    =РАЗНДАТ(СЕГОДНЯ(); «9-05-2020»; «D»)

    В отличие от операции вычитания, функция РАЗНДАТ может только вычесть более старую дату из более новой, но не наоборот. Если точка начала позже точки окончания, расчет выдает ошибку #ЧИСЛО!, как в строке 4 на скриншоте ниже:

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

    В нашем примере формула расчета в D3 выглядит следующим образом:

    Обратите также внимание, что при простом вычитании дат, которые также содержат время, мы получаем в результате дробное число. Так произошло в С5 и С6. Что делать с такими дробями – поговорим чуть позже. А вот время здесь просто игнорируется. В этом вы можете убедиться в диапазоне D5:I6.

    Аналогичный результат можно получить формулами:

    Время, то есть дробная часть, будет отброшено.

    Кстати, если нужно подсчитать только рабочие дни, то следует использовать выражение

    Более подробно о расчете рабочих дней читайте здесь.

    2. Разница в полных месяцах.

    Обращаемся к ячейке Е3:

    Обратите внимание, выражение вернет количество полных месяцев. В нашем примере 13 месяцев и 7 дней «округлены» ровно до 13. И последний день интервала, как мы уже говорили, эта функция не учитывает. В частности,

    возвращает результат 0, так как последний день не включается в расчет. Вы это видите в ячейке E7. Это также будет важно при расчете стажа и отработанного времени. Учитывайте эту особенность и просто добавляйте 1 дополнительный день!

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

    3. Разница в полных годах.

    Формула в ячейке F3 вернет количество полных лет:

    Опять же, считается только полный год, остальное отбрасывается.

    Ну и альтернативный способ расчета —

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

    Используем в I3 аргумент «YM».

    Второй параметр и конечная точка у нас – 10.04.2020 г. Поскольку годы мы здесь игнорируем, то год первого параметра также становится 2020. И мы теперь сравниваем 10.04.2020 и 2.03.2020г.

    Результат – 1 полный месяц.

    А вот если начало, предположим, будет 01.09.2015г.? Ведь ее нельзя модифицировать до 01.09.2020, поскольку тогда функция выдаст ошибку. И программа ее меняет на 01.09.2019. Результат здесь – 7 полных месяцев.

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

    Ну и альтернативный расчет –

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

    Здесь немного сложнее. Итак, в G3 пишем:

    Разберем, как получен результат в G3. Поскольку для нас не важны месяц и год, мы в начальной дате меняем их на текущие. То есть вместо 02.03.2019 рассматриваем 02.04.2020. Сравниваем с 10.04.2020 и получаем 8 дней. Есть ли в таком результате смысл? Вряд ли. Поэтому и не рекомендуется применение этого аргумента как отдельного расчета.

    Быть может, поэтому РАЗНДАТ и нет в списке официальных функций Excel.

    6. Разница в днях без учета лет.

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

    Для начального момента — 02.03.2019 и конечного – 10.04.2020, разница в 39 дней выглядит явной ошибкой. Аналогично – между 01.09.2015 и 10.04.2020 совсем не 222 дня.

    Следовательно, использование этого аргумента также не рекомендуем.

    А зачем же всё это нужно? Ответ читайте в следующем разделе.

    Как посчитать разницу в днях, месяцах и годах.

    Чтобы подсчитать, сколько полных лет, месяцев и дней составляет разница «от» и «до» с использованием одной формулы, вы просто объединяете три функции в одно выражение:

    Если вы не хотите отображать нулевые значения лет, месяцев и дней, то выражение можно изменить, добавив условие ЕСЛИ:

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

    Выглядит угрожающе, но зато работает.

    Подсчет с помощью функции ДНИ

    У пользователей Excel 2013 и 2016 есть еще один удивительно простой способ посчитать количество дней во временном интервале — функция ДНИ.

    ДНИ (дата_окончания; дата_начала)

    Обратите внимание, что по сравнению с РАЗНДАТ, функция ДНИ требует указания дат в обратном порядке.

    Итак, наше выражение принимает вид:

    Как и обычное вычитание, оно возвращает разницу в виде положительного или отрицательного числа, в зависимости от того, больше или меньше срок окончания, чем начало:

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

    Как рассчитать количество дней между сегодня ​​и другой датой.

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

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

    =СЕГОДНЯ() – Дата_в_прошлом

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

    =Дата_в_будущем — СЕГОДНЯ()

    В качестве примера, давайте посчитаем разницу между текущим моментом времени ​​и более ранним — в A4 (сегодня 18 марта 2020г.):

    А теперь давайте выясним, сколько осталось от сегодняшнего дня (18.03.2020г.) до более позднего срока:

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

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

    Источник:
    http://mister-office.ru/formuly-excel/calculate-date-difference.html

    Вычисление разности дат в Microsoft Excel

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

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

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

      Выделяем пространство листа, на котором вы планируете производить вычисления. Кликаем правой кнопкой мыши по выделению. Активируется контекстное меню. В нём выбираем пункт «Формат ячейки…». Как вариант, можно набрать на клавиатуре сочетание клавиш Ctrl+1.

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

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

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

    1. Записываем в отдельные ячейки отформатированного диапазона даты, разность между которыми нужно вычислить.

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

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

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

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

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

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

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

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

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

      Записываем формулу в выбранную ячейку, согласно её синтаксису, описанному выше, и первичным данным в виде начальной и конечной даты.

  • Для того, чтобы произвести расчет, жмем кнопку Enter. После этого результат, в виде числа обозначающего количество дней между датами, будет выведен в указанную ячейку.
  • Способ 3: вычисление количеств рабочих дней

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

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

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

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

    Открывается Мастер функций. В категории «Полный алфавитный перечень» или «Дата и время» ищем элемент «ЧИСТРАБДНИ». Выделяем его и жмем на кнопку «OK».

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

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

    Источник:
    http://lumpics.ru/the-number-of-days-between-dates-in-excel/

    Расчет количества дней между датами в Эксель

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

    Расчет разности дат

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

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

    1. Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.
    2. Щелкаем по выделенной области правой кнопкой мыши и в открывшемся контекстном меню выбираем команду “Формат ячеек“. Аналогичного результата можно добиться, используя комбинацию клавиш Ctrl+1.
    3. Перед нами окно настроек формата ячеек:
      • по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);

    Метод 1: использование формулы вычитания

    Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.

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

    Метод 2: функция РАЗНДАТ

    Следующий способ – это определение разницы между двумя датами при помощи функции РАЗНДАТ.

    Функция имеет следующий синтаксис: =РАЗНДАТ(начальная_дата;конечная_дата;единица).

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

    • d” — количество дней между датами;
    • m” — количество полных месяцев между датами;
    • y” — количество полных лет между датами;
    • YM” — разница между датами в месяцах;
    • MD” — разница между датами в днях, без учета месяцев и лет;
    • YD” — разница между датами в днях, без учета лет.

    В нашем случае покажем пример использование аргумента “YD”, так как целью расчета является определение количества дней между датами в пределах года.

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

    1. Выбираем целевую ячейку, проверяем ее формат по способу, описанному выше.
    2. Описываемая функция отсутствует в Мастере функций, поэтому вводим ее в ячейку вручную, строго придерживаясь синтаксиса.
    3. Жмем Enter и проверяем полученный результат. Как мы видим, он аналогичен тому, который мы получили, используя простую формулу вычитания. Значит все сделано верно.

    Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней

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

    В данном методе используется функция ЧИСТРАБДНИ со следующим синтаксисом: =ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники]).

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

    Приступаем к вычислениям:

    1. Так как описываемая функция присутствует в списке Мастера функций, воспользуемся им для большей наглядности: встаем на ячейку, куда будем выводить результат и щелкаем по кнопке “Вставить функцию” (fx), расположенной слева от строки формул.
    2. В открывшемся окне Мастера функций:
      • выбираем категорию “Полный алфавитный перечень”;
      • находим и кликаем в списке операторов по строке “ЧИСТРАБДНИ”;
      • нажимаем ОК.
    3. Перед нами появится окно аргументов функции. Здесь можно ввести адреса ячеек вручную или, находясь в поле для заполнения значений аргумента, кликнуть по нужной ячейке на листе. Выбрав начальную и конечную дату, а также указав праздничный день (адрес ячейки), нажимаем ОК.
    4. Предположим, в этот раз мы заранее не задали формат итоговой ячейки как “Общий”. Тогда мы получим результат, отображающийся в виде даты.
    5. Следовательно, необходимо снова проверить формат по алгоритму, описанному выше и изменить его на “Общий”.

    Заключение

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

    Источник:
    http://microexcel.ru/raznost-dat/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Источник:
    http://bussoft.ru/tablichnyiy-redaktor-excel/kak-poschitat-raznitsu-mezhdu-datam-v-ms-excel.html