Найти, если месяц принадлежит диапазону дат - PullRequest
1 голос
/ 19 марта 2020

У меня есть диапазон дат и соответствующее значение. Справа от этой таблицы данных я хочу выделять значение ежемесячно.

Доступные данные

enter image description here

Результат Ожидаемый

enter image description here

* У меня есть пределы диапазона дат, которые может иметь любая строка. Например: с 1 марта по 30 июня.

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

Мой подход состоял в том, чтобы проверять в каждой ячейке код месяца («март», «Апр», «Май» .... et c) включает в себя диапазон дат в столбцах A и B.

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

Или есть ли другой способ заполнить ячейки от D2 до G6?

* Фактический сценарий имеет более 4 месяца и более 6 строк данных.

1 Ответ

1 голос
/ 19 марта 2020

Это формула, дающая точные суммы для первой строки - хотя вы не уверены, хотите ли вы этого:

=(max(0,min($B2,eomonth(datevalue("1-"&left(D1,3)&"2020"),0)))-max($A2,datevalue("1-"&left(D1,3)&"2020"))+1)*$C2/($B2-$A2+1)

enter image description here

В качестве альтернативы

=if(min($B2,eomonth(datevalue("1-"&left(D1,3)&"2020"),0))-max($A2,datevalue("1-"&left(D1,3)&"2020"))>=0 [your formula] ,0)
...