助けが必要な問題があります。ローンの日付が 2 つあります。現在の日付と満期日です。また、月/四半期/年のどの日に支払いが振り込まれるかという情報もあります。質問は、ローンの支払いスケジュールが異なる場合、2 つの日付間の支払い回数をどのように計算するかです。たとえば、次のようになります。
現在の日付: 2020 年 12 月 2 日 満期日: 2021 年 6 月 15 日 支払日: 20 日 年間支払回数: 12
結果は次のようになります: 6 (12月、1月、2月、3月、4月、5月)
例2:
現在の日付: 2020 年 12 月 2 日 満期日: 2021 年 6 月 15 日 支払日: 20 日 年間支払回数: 4 回 (四半期ごと)
結果: 2 (1月、4月)
何らかの VBA for ループなどを使用する必要があるでしょうか?
答え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))))