Итак, вы можете сделать предварительную математику, чтобы ваши операторы if были очень простыми.
Вот пример.увидеть добавленные столбцы?Вы можете ввести данные для Контракта, Ценности, Начала, Первого и Рассрочки.Расчеты для FirstPayment, NormalPayment и Stop.
![enter image description here](https://i.stack.imgur.com/VQaKu.png)
FirstPayment для контракта a, строка 2, рассчитывается как:
=IF(ISBLANK(D2),G2,D2*B2)
NormalPayment для контракта a, строка 2,рассчитывается как:
=IF(ISBLANK(D2),B2/E2,(1-D2)*B2/E2)
Стоп для контракта а, строка 2 рассчитывается как:
=IF(ISBLANK(D2),EDATE(C2,E2),EDATE(C2,E2+1))
Затем месяцы с ожидаемыми платежами выглядят так (показана формула для января): ПРИМЕЧАНИЕ: дата 2019-01-01 в A7, результат (куда идет эта формула) в A8.Скопируйте и вставьте остальные столбцы.
=SUMIF($C$2:$C$4,$A7,$F$2:$F$4)+SUMIFS($G$2:G$4,$C$2:$C$4,"<"&$A7,$H$2:$H$4,">="&$A7)
Обратите внимание, что первый SUMIF имеет дело со всем, что находится в его первом месяце.SUMIF имеет дело со всем, что находится между Start и Stop.
Редактировать измененный вопрос, чтобы отображать денежный поток по дням. Чтобы показать по дням, сначала нужно добавить еще один столбец, скажем, столбец I, в таблицу данных.для контрактов.Это столбец ДЕНЬ.DAY($C2)
.Чтобы упростить денежный поток, на самом деле наберите If(day($C2)>28),1,day($C2))
, чтобы выпадало 29, 30 или 31, чтобы появиться на первом месте.Вы можете сделать другие варианты здесь.
Затем вы можете иметь каждый день в своей ведомости денежных потоков.
Я поместил денежный поток на новую вкладку и назвал вкладку данных контрактов КОНТРАКТЫ
![cashflow](https://i.stack.imgur.com/pPnUu.png)
Формула денежного потока (с датой в $A2 и результат в $ B2):
=SUMIF(CONTRACTS!$C$2:$C$5,$A2,CONTRACTS!$F$2:$F$5)+SUMIFS(CONTRACTS!$G$2:G$5,CONTRACTS!$C$2:$C$5,"<"&$A2,CONTRACTS!$H$2:$H$5,">="&$A2,CONTRACTS!$I$2:$I$5,DAY(A2))