Я ищу формулу Excel для подсчета дней, которые пересекаются между заданным диапазоном (Дата1 и Дата2) и любым диапазоном дат Рамадана (указанным в таблице). При этом исключите выходные (суббота и воскресенье).
Смотрите фото ниже:
Дни пересекаются
Я попробовал использовать формулу: =NETWORKDAYS.INTL(F3,F4,1)
Но это дает только разницу дней между двумя заданными датами = 10 дней. Мне нужны дни пересечения с любым диапазоном дат Рамадана, за исключением выходных (суббота и воскресенье). Ожидаемый ответ должен составлять 6 дней.
Если я правильно понял, вы ищете подобную формулу, которая должна обеспечить желаемый результат, используя NETWORKDAYS.INTL()
с комбинацией MAX()
+ MIN()
:
• Формула, используемая в ячейке E6
=LET(
_Date1, F3,
_Date2, F4,
_RamadanStarts, B3:B13,
_RamadanEnds, C3:C13,
_Ramadan, XLOOKUP(YEAR(MAX(_Date1,_Date2)),YEAR(_RamadanStarts),_RamadanStarts:_RamadanEnds),
NETWORKDAYS.INTL(MAX(_Date1,TAKE(_Ramadan,,1)),MIN(TAKE(_Ramadan,,-1),_Date2),1))
Такие вещи, вероятно, лучше всего делать с помощью макроса. Вы создаете серию из 0 и 1 в год.. 366 из них.. 0 будут обозначать субботу/воскресенье.. Если это не високосный год, последний символ может быть игнорируется. Затем вы подсчитываете количество единиц между двумя датами... и конвертируете номер дня в году обратно в дату.