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

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

В этом курсе:

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

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

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

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

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

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

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

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

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

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

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

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

1. Используйте РАЗНДАТ для поиска общего числа лет.

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

2. для поиска месяцев используйте РАЗНДАТ еще раз, указав «ГМ».

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

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

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

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

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

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

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

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

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

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

Обратите внимание на то, что на момент написания статьи день – 6 октября 2016 г.

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

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

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

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

2. в другой ячейке введите формулу, например:

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

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

3. при необходимости измените значение 1.

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

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

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

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

Читать еще:  Как сделать таблицу с датами в excel?

ПероЕсли вы не хотите ссылаться на имя диапазона праздников, вы также можете ввести диапазон, например D35: E:39. Кроме того, вы можете ввести каждый праздник в формуле. Например, если праздничные дни – 1 января и 2 из 2016, введите их следующим образом: = ЧИСТРАБДНИ. Межд (D53, E53, 1, <"1/1/2016", "1/2/2016">). В Excel 2007 оно будет выглядеть следующим образом: = ЧИСТРАБДНИ (D53, E53, <"1/1/2016", "1/2. 2016″>)

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

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

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

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

Выберите обе даты и нажмите клавиши CTRL + 1 (или + 1 на компьютере Mac). Убедитесь, что выбрано значение » настраиваемый > ч. д., если оно еще не задано.

3. вычитание двух значений.

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

4. Задайте формат ч.

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

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

1. Введите два полных значения даты и времени.

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

2. Задайте формат 3/14/12 1:30 PM.

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

3. вычитание двух значений.

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

4. Задайте формат [h]: мм.

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

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

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

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

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

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

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

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

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

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

Значение

Описание

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

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

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

разница в днях без учета месяцев и лет
ВНИМАНИЕ! Функция для некоторых версий 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)))

Читать еще:  Как сделать примечание к ячейке в excel?

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

Найдем разницу дат 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! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

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

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

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

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

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

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

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

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

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

  1. Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.
  2. Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.
    ВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений. Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“.
  3. В нашем случае установлено значение “Дата“. Для его изменения вновь вызываем окно формата ячеек и по описанному выше алгоритму устанавливаем числовой формат “Общий“. Для сохранения изменений жмем ОК.
  4. Теперь можно переходить непосредственно к вычислениям:
    • в итоговую ячейку вводим знак “=“;
    • кликаем по ячейке с конечной датой (более поздней);
    • вводим с клавиатуры символ “” (знак минус);
    • кликаем по ячейке с начальной датой.
  5. Для получения результата жмем клавишу Enter. В итоге получаем целое число – количество дней между двумя датами.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

Читать еще:  Как сделать чтобы заголовок таблицы повторялся на каждой странице excel?

Вычисление возраста или стажа функцией РАЗНДАТ (DATEDIF)

Для вычислений длительностей интервалов дат в Excel есть функция РАЗНДАТ, в английской версии — DATEDIF.

Нюанс в том, что Вы не найдете эту функцию в списке Мастера функций, нажав кнопку fx — она является недокументированной возможностью Excel. Точнее говоря, найти описание этой функции и ее аргументов можно только в полной версии англоязычной справки, поскольку на самом деле она оставлена для совместимости со старыми версиями Excel и Lotus 1-2-3. Однако, несмотря на то, что эту функцию не получится вставить стандартным способом через окно Вставка — Функция (Insert — Function) , ее можно вручную вписать в ячейку с клавиатуры — и она сработает!

Синтаксис функции следующий:

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

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

Т.е. при желании подсчитать и вывести, например, ваш стаж в виде «3 г. 4 мес. 12 дн.», необходимо ввести в ячейку следующую формулу:

где А1 — ячейка с датой поступления на работу, А2 — с датой увольнения.

или в английской версии Excel:

Ссылки по теме

Если подсчитанное количество дней стажа в А1, то:
A2=ЦЕЛОЕ(A1/365) — количество лет
A3=ЦЕЛОЕ(ОСТАТ(A1;365)/30,5) — количество месяцев
A4=A1-A2*365-A3*30,5 — количество дней

Николай, спасибо за подсказку. В моём случае, дополнительно к приведённой формуле, пришлось применить поправочную константу » -1 «. Формула приняла вид =(МЕСЯЦ(A2)-МЕСЯЦ(A1))-1 .

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

Ещё раз спасибо.

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

Подскажите как посчитать продолжительность отпуска ( с вычетом заданных праздничных дней) но не в рабочих днях, а в календарных.
Я пробовала задать в функции WORKDAY.INTL условие — что нет выходных, но это не работает

У нас подсчет отпусков ведется в календарных днях (минус праздники , выпадающие на период отпуска)

Николай, здравствуйте!
Подскажите, существует ли вариант подсчета количества календарных дней за вычетом праздничного дня (при его наличии в заданном диапазоне), в условии заданы начальная и конечная дата. Мне это необходимо для подсчета дней отпуска.

Заранее спасибо за ответ,
Трофимова Татьяна

Прошу совета
Использую формулу вычисления возраста =РАЗНДАТ(A1; СЕГОДНЯ(); «y»)

A1 в формате дата.
Если А1 не заполнено (то есть равно 0) то возраст показывается как 116

как этого избежать?

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

например, срок оплаты 20.10.2015, нужен срок просрочки задолженности на 10.02.2017 в нецелых годах с учетом того, что в 2015 году 365 дней, в 2016 — 366, и в 2017 — 365. на данный момент я высчитываю сначала кол-во дней с 20.10.15 по 01.01.16 плюс с 01.01.17 по 10.02.17 и делю на 365, потом прибавляю один год. либо если надо посчитать просрочку например, на 20.10.16 то сначала считаю просрочку 2015 года и делю на 365, потом отдельно за 2016 и делю их на 366 и итоги суммирую. скорее всего это абсолютно и совершенно кустарный метод на коленке, но другого не знаю, а потом взываю к вам за помощью и советом:)

Добрый день!
В первой из двух ячеек с датами для расчета, через Alt+Enter перечислено несколько дат. Есть ли возможность сконструировать формулу так, чтобы она могла отсортировывать и обращаться к первой из имеющихся в первой ячейке дат или такая возможность отсутствует и содержимое этой ячейки программой воспринимается как свалка? Заранее спасибо!

Здравствуйте, уважаемые Знатоки!

Я прошу помощи в следующем.
Имеются два столбика. Первый столбик — это дата начала периода. Второй столбик — дата окончания периода. Каждая строка представляет ПЕРИОД, протяженностью несколиких лет (больше одного).
Нужно вычислить количество месяцев для каждого «составляющего» года. То есть итог будет выглядеть результатом для каждого года, который вкладывается в период каждой строки.

Например для периода 02.01.2018 (столбик 1) — 28.06.22 (столбик 2) результат будет выражен следующим:

Столбик 3 (2018 год) — 12 месяцев;
Столбик 4 (2019 год) — 12 месяцев;
Столбик 5 (2020 год) — 12 месяцев;
Столбик 6 (2021 год) -12 месяцев;
Столбик 7 (2022 год) -6 месяцев.
Всего месяцев — 54

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

В принципе, с учетом срочной необходимости, меня устроит ЦЕЛОЕ число месяцев, поскольку, видимо, сложно определить точное число месяев (не целое).

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

Ссылка на основную публикацию
Adblock
detector