У меня проблема, с которой мне нужна помощь. У меня есть две даты для кредита: текущая дата и дата погашения. У меня также есть информация о том, в какой день месяца/квартала/года будет переведен платеж. Итак, вопрос: как мне рассчитать количество платежей между двумя датами, если у кредитов разные графики платежей. Например:
Текущая дата: 2.12.2020 Срок погашения: 15.6.2021 День платежа: 20-е Платежи в году: 12
Таким образом, результат будет: 6 (декабрь, январь, февраль, март, апрель, май)
Пример 2:
Текущая дата: 2.12.2020 Срок погашения: 15.6.2021 День платежа: 20-е число Платежи в году: 4 (т.е. ежеквартально)
Результат: 2 (январь, апрель)
Должен ли я использовать какой-то цикл VBA или что-то еще?
решение1
использовать:
=SUMPRODUCT((DAY(ROW(INDEX($ZZ:$ZZ,A1):INDEX($ZZ:$ZZ,B1)))=C1)*(MOD(MONTH(ROW(INDEX($ZZ:$ZZ,A1):INDEX($ZZ:$ZZ,B1)))-1,12/D1)=0))
Он перебирает дни и проверяет, соответствуют ли они требованиям, а затем суммирует их там, где они совпадают.
Если у вас есть Office 365, то мы можем сократить его с помощью LET и SQUENCE:
=LET(dts,SEQUENCE(B1-A1+1,,A1),SUMPRODUCT((DAY(dts)=C1)*(MOD(MONTH(dts)-1,12/D1)=0)))
или:
=LET(dts,SEQUENCE(,B1-A1+1,A1),COUNT(FILTER(dts,(DAY(dts)=C1)*(MOD(MONTH(dts)-1,12/D1)=0))))