В таких проблемах иногда полезно работать назад. Предположим, вы хотите, чтобы конечный баланс был ровно равным нулю за каждый период. Легко подсчитать, сколько доступно для снятия в конце последнего периода, просмотрев последнюю запись и используя конечный баланс. Но вы хотите как можно скорее снять этот баланс, поэтому вы хотите перенести это значение на предыдущий период.
Итак, теперь взгляните на вторую и последнюю запись. Это становится сложно, но вы хотите переместить последний доступный выход, если сможете, если доступный вывод не будет превышать баланс конца периода. Поэтому вы используете функцию min, как показано ниже в столбце 3.
Следующая колонка - это желаемый конечный баланс, и это конечный баланс периода за вычетом доступного вывода. Так получилось, что желаемый конечный баланс будет накапливаться снизу вверх по ожидаемым отрицательным денежным потокам. Возможно, есть еще один способ рассчитать это, концептуально понятное, но этот метод, похоже, работает.
Наконец, как только вы узнаете требуемый баланс конца, сумма вывода может быть рассчитана путем учета баланса конца периода и вычитания желаемого конечного баланса.
Последний столбец - это обновленный баланс конца периода.
Суть заключается в том, чтобы работать с такими проблемами в обратном направлении.
Извините, я могу опубликовать CSV только для формул.
Period,Cash,Cash flow,Backward Balances,Desired End Balance,Withdrawal,Cash at end
1,100,100,"=MIN(D3,B2+C2)",=B2+C2-D2,=B2+C2-E2,=B2+C2-F2
2,=B2+C2,100,"=MIN(D4,B3+C3)",=B3+C3-D3,=G2+C3-E3,=G2+C3-F3
3,=B3+C3,-50,"=MIN(D5,B4+C4)",=B4+C4-D4,=G3+C4-E4,=G3+C4-F4
4,=B4+C4,-19,"=MIN(D6,B5+C5)",=B5+C5-D5,=G4+C5-E5,=G4+C5-F5
5,=B5+C5,13,"=MIN(D7,B6+C6)",=B6+C6-D6,=G5+C6-E6,=G5+C6-F6
6,=B6+C6,-5,"=MIN(D8,B7+C7)",=B7+C7-D7,=G6+C7-E7,=G6+C7-F7
7,=B7+C7,,,,,
Пожалуйста, отметьте мой ответ, если это поможет.
В принципе, я думаю, что у вас есть круглые ссылки, потому что вы пытаетесь использовать данные в качестве своего собственного источника. Я думаю, вы должны переосмыслить логику макета. Имейте лист с фактами о том, что произошло (наличные деньги поступают и записываются по дате). Затем создайте лист отчета или лист прогнозов, который анализирует эти данные, но вы хотите. Вы можете иметь несколько проекций, и это не повлияет на основные данные, потому что оно находится на таблице на отдельном листе, просто ссылаясь. Если я не пойму твои намерения. – peege
Вы можете подумать о Solver. – pnuts