Loan Amortisation Scedule with new Spiller functions

DRSteele

Well-known Member
Joined
Mar 31, 2015
Messages
2,166
Office Version
365
Platform
Windows
The revised calculation engine for Excel365 includes new functions that spill and allow for dynamic arrays. Using this new technology, it's easy to create a loan amortisation schedule that omits the need to create the correct number of rows or complex formulas to account for the correct number of rows (as exist in MS's templates available under File|New| search for "Loan'). This example shows how to use just one row of formulas and have the schedule fill itself out to be the correct size. If there is no data below this row of formulas (i.e., row 13 onwards) it will spill all the way down 360 rows (or whatever number is in B7). I hope I've done this right - is it okay?

[FONT=Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif]<b></b><table cellpadding="2.5px" rules="all" style=";background-color: rgb(255,255,255);border: 1px solid;border-collapse: collapse; border-color: rgb(187,187,187)"><colgroup><col width="25px" style="background-color: rgb(218,231,245)" /><col /><col /><col /><col /><col /><col /></colgroup><thead><tr style=" background-color: rgb(218,231,245);text-align: center;color: rgb(22,17,32)"><th></th><th>A</th><th>B</th><th>C</th><th>D</th><th>E</th><th>F</th></tr></thead><tbody><tr ><td style="color: rgb(22,17,32);text-align: center;">1</td><td style="color: #7030A0;;">references</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">2</td><td style="color: #7030A0;;">https://www.mrexcel.com/forum/excel-questions/1084707-calculate-cumulative-interest-paid-month-15-mortgage-amortized-25-years.html</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">3</td><td style="color: #7030A0;;">https://www.youtube.com/watch?v=ZmLu0vMRrGs</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">4</td><td style="color: #7030A0;;">https://www.youtube.com/watch?v=QN8KJmRLilo</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">5</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">6</td><td style="background-color: #FFF2CC;;">Principal</td><td style="text-align: right;background-color: #FFF2CC;;">495,000.00</td><td style="text-align: right;;"></td><td style="background-color: #FFF2CC;;">Open Period</td><td style="text-align: right;background-color: #FFF2CC;;">1</td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">7</td><td style="background-color: #FFF2CC;;">Term</td><td style="text-align: right;background-color: #FFF2CC;;">360</td><td style="text-align: right;;"></td><td style="background-color: #FFF2CC;;">Close Period</td><td style="text-align: right;background-color: #FFF2CC;;">5</td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">8</td><td style="background-color: #FFF2CC;;">Rate p.a.</td><td style="text-align: right;background-color: #FFF2CC;;">4.25%</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">9</td><td style="background-color: #FFF2CC;;">Pmt</td><td style="text-align: right;background-color: #FFF2CC;;">2,435.10</td><td style="text-align: right;;"></td><td style="background-color: #FCE4D6;;">Cumulative Interest</td><td style="text-align: right;background-color: #E2EFDA;;">-8741.39</td><td style="text-align: right;background-color: #C6E0B4;;">-8741.39</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">10</td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td><td style="text-align: right;;"></td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">11</td><td style="background-color: #FCE4D6;;">Payment</td><td style="background-color: #FCE4D6;;">Open</td><td style="background-color: #FCE4D6;;">Interest Pmt</td><td style="background-color: #FCE4D6;;">Principal Pmt</td><td style="background-color: #FCE4D6;;">Total Pmt</td><td style="background-color: #FCE4D6;;">Close</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">12</td><td style="text-align: right;background-color: #A9D08E;;">1</td><td style="text-align: right;background-color: #A9D08E;;">495,000.00</td><td style="text-align: right;background-color: #A9D08E;;">1,753.13</td><td style="text-align: right;background-color: #A9D08E;;">681.98</td><td style="text-align: right;background-color: #A9D08E;;">2,435.10</td><td style="text-align: right;background-color: #A9D08E;;">494,318.02</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">13</td><td style="text-align: right;;">2</td><td style="text-align: right;;">494,318.02</td><td style="text-align: right;;">1,750.71</td><td style="text-align: right;;">684.39</td><td style="text-align: right;;">2,435.10</td><td style="text-align: right;;">493,633.63</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">14</td><td style="text-align: right;;">3</td><td style="text-align: right;;">493,633.63</td><td style="text-align: right;;">1,748.29</td><td style="text-align: right;;">686.82</td><td style="text-align: right;;">2,435.10</td><td style="text-align: right;;">492,946.81</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">15</td><td style="text-align: right;;">4</td><td style="text-align: right;;">492,946.81</td><td style="text-align: right;;">1,745.85</td><td style="text-align: right;;">689.25</td><td style="text-align: right;;">2,435.10</td><td style="text-align: right;;">492,257.56</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">16</td><td style="text-align: right;;">5</td><td style="text-align: right;;">492,257.56</td><td style="text-align: right;;">1,743.41</td><td style="text-align: right;;">691.69</td><td style="text-align: right;;">2,435.10</td><td style="text-align: right;;">491,565.87</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">17</td><td style="text-align: right;;">6</td><td style="text-align: right;;">491,565.87</td><td style="text-align: right;;">1,740.96</td><td style="text-align: right;;">694.14</td><td style="text-align: right;;">2,435.10</td><td style="text-align: right;;">490,871.73</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">18</td><td style="text-align: right;;">7</td><td style="text-align: right;;">490,871.73</td><td style="text-align: right;;">1,738.50</td><td style="text-align: right;;">696.60</td><td style="text-align: right;;">2,435.10</td><td style="text-align: right;;">490,175.14</td></tr><tr ><td style="color: rgb(22,17,32);text-align: center;">19</td><td style="text-align: right;;">8</td><td style="text-align: right;;">490,175.14</td><td style="text-align: right;;">1,736.04</td><td style="text-align: right;;">699.07</td><td style="text-align: right;;">2,435.10</td><td style="text-align: right;;">489,476.07</td></tr></tbody></table><p style="width:4.8em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid rgb(187,187,187);border-top:none;text-align: center;background-color: rgb(218,231,245);color: rgb(22,17,32)">Sheet7</p><br /><br /><table width="85%" cellpadding="2.5px" rules="all" style=";border: 2px solid black;border-collapse:collapse;padding: 0.4em;background-color: rgb(255,255,255)" ><tr><td style="padding:6px" ><b>Worksheet Formulas</b><table cellpadding="2.5px" width="100%" rules="all" style="border: 1px solid;text-align:center;background-color: rgb(255,255,255);border-collapse: collapse; border-color: rgb(187,187,187)"><thead><tr style=" background-color: rgb(218,231,245);color: rgb(22,17,32)"><th width="10px">Cell</th><th style="text-align:left;padding-left:5px;">Formula</th></tr></thead><tbody><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">B9</th><td style="text-align:left">=PMT(<font color="Blue">B8/12,B7,-B6</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">E9</th><td style="text-align:left">=CUMIPMT(<font color="Blue">B8/12,B7,B6,E6,E7,0</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">F9</th><td style="text-align:left">=SUM(<font color="Blue">IPMT(<font color="Red">B8/12,SEQUENCE(<font color="Green">E7,,E6</font>),B7,B6</font>)</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">A12</th><td style="text-align:left">=SEQUENCE(<font color="Blue">B7</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">B12</th><td style="text-align:left">=PV(<font color="Blue">B8/12,B7+1-A12#,-B9</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">C12</th><td style="text-align:left">=IPMT(<font color="Blue">B8/12,A12#,B7,-B6</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">D12</th><td style="text-align:left">=PPMT(<font color="Blue">B8/12,A12#,B7,-B6</font>)</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">E12</th><td style="text-align:left">=C12#+D12#</td></tr><tr><th width="10px" style=" background-color: rgb(218,231,245);color: rgb(22,17,32)">F12</th><td style="text-align:left">=B12#-D12#</td></tr></tbody></table></td></tr></table><br /><strike>
</strike>
[/FONT]
 
Last edited:

Some videos you may like

Excel Facts

Show numbers in thousands?
Use a custom number format of #,##0,K. Each comma after the final 0 will divide the displayed number by another thousand

DRSteele

Well-known Member
Joined
Mar 31, 2015
Messages
2,166
Office Version
365
Platform
Windows
Edit: The forumla in F9 should have been posted as
Code:
[FONT=Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif]=SUM(IPMT(B8/12,SEQUENCE(E7-E6+1,,E6),B7,B6))[/FONT]
 

DRSteele

Well-known Member
Joined
Mar 31, 2015
Messages
2,166
Office Version
365
Platform
Windows
Check out Jeff Lenning's terrific treatment of the topic: [FONT=Verdana,Arial,Tahoma,Calibri,Geneva,sans-serif]https://www.excel-university.com/amortization-schedule-with-spill-ranges/[/FONT]
 

Watch MrExcel Video

Forum statistics

Threads
1,090,487
Messages
5,414,829
Members
403,548
Latest member
frostinheart

This Week's Hot Topics

Top