There"s nothing remarkable about this function except that it works and there is no equivalent without lots of IF statements! This is a real building block for budgets and business plans, where you want to chuck a load of payments and dates into your model and let the function take care of the scheduling.