Подсчет количества дней в квартале для двух дат - PullRequest
0 голосов
/ 23 января 2019

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

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

img1

У кого-нибудь есть мысли о том, как этого добиться?

1 Ответ

0 голосов
/ 24 января 2019

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

ОБНОВЛЕНО

Я понял, что сделал это слишком сложным.Вот упрощенная версия.

В ячейке J2:

=MAX(MIN(VALUE(CHOOSE(MID(J1,2,1),"3/31/","6/30/","9/30/","12/31/") & RIGHT(J$1,4)),$H2)-MAX(VALUE(CHOOSE(MID(J1,2,1),"1/1/","4/1/","7/1/","10/1/") & RIGHT(J$1,4)),$G2) + 1,0)

Объяснение:

VALUE(CHOOSE(MID(J1,2,1),"3/31/","6/30/","9/30/","12/31/") & RIGHT(J$1,4)

Получает номер квартала MID(J1,2,1) и использует его для выбора даты окончания этого квартала.Затем он соединяется с годом RIGHT(J$1,4).Результирующая строка затем преобразуется в числовое значение.

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

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

Результирующая упрощенная формула с описательными именами вместо ссылок на ячейки:

=MAX(MIN(QtrEnd, EndDate) - MAX(QtrStart, StartDate) + 1, 0)

MIN(QtrEnd, EndDate) - MAX(QtrStart, StartDate) вычитает самую последнюю (самую большую) дату начала из самой ранней (самой маленькой) даты окончания, и мы добавляем 1, чтобы получить количество дней вместо разницы.

The Max(CountOfDays, 0) перехватывает все отрицательные значения, возвращая 0.

Примечание: Я не получил те же значения, что у вас на графике.Я не думаю, что ваши ценности верны.Если у вас нет другой даты начала для 2-го квартала (я использую 4/1), вы не сможете получить 45 дней во 2-м квартале 2018 года.

Вот значения, которые я получу:

My Values

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