Simpler way to calculate uneven payments over time

juanbolas

New Member
Joined
Dec 3, 2014
Messages
40
Office Version
  1. 365
Platform
  1. Windows
Hello,

I'm trying to calculate the total monthly payment amounts for 10 products. Payments vary from 50% in the first and second months, to 25% in the first four months, to 20% starting on the third month, etc. The idea is to calculate to total payable amount by month for each of the products.

I set up a couple of simplified tables for two products over twelve months (I need to do it over 10 years -- 120 months) but am wondering if there is a simpler and more elegant way to do this.

I should have paid more attention to the classes on matrices.

Thanks in advance.

example matrix.xlsx
DEFGHIJKLMNOPQ
1Type 1
2
3Month 1Month 2Month 3Month 4Month 5Month 6
4Payable50%25%10%15%0%0%
5
6Month 1Month 2Month 3Month 4Month 5Month 6
7Sales102030
8
9123456789101112Test
10152.511.50000000010
11210523000000020
123157.534.500000030
1340
1450
1560
1670
1780
1890
19100
20110
21120
22Payable512.5211164.500000060
23
24
25Type 2
26
27Month 1Month 2Month 3Month 4Month 5Month 6
28Payable20%20%20%40%
29
30Month 1Month 2Month 3Month 4Month 5Month 6
31Sales502030
32
33123456789101112Test
341101010200000000050
3524448000000020
3636661200000030
3740
3850
3960
4070
4180
4290
43100
44110
45120
46Payable101420301412000000100
Sheet1
Cell Formulas
RangeFormula
F33:P33,F9:P9G9=F9+1
G10:P12,F10:F11,E10G10=OFFSET($E$7,0,$D10-1)*(OFFSET($E$4,0,G$9-$D10))
D11:D21,D35:D45D11=+D10+1
Q34:Q46,Q10:Q22Q10=SUM(E10:P10)
E22:P22,E46:P46E22=SUM(E10:E21)
G34:P36,F34:F35,E34G34=OFFSET($E$31,0,$D34-1)*(OFFSET($E$28,0,G$33-$D34))
 

Excel Facts

Can Excel fill bagel flavors?
You can teach Excel a new custom list. Type the list in cells, File, Options, Advanced, Edit Custom Lists, Import, OK
Not sure what you deem as "simpler" but here's an array option.

Book1
DEFGHIJKLMNOPQ
1Type 1
2
3Month 1Month 2Month 3Month 4Month 5Month 6
4Payable0.50.250.10.1500
5
6Month 1Month 2Month 3Month 4Month 5Month 6
7Sales102030000
8
9123456789101112Test
10152.511.50000000010
112010523000000020
12300157.534.500000030
1340000000000000
1450000000000000
1560000000000000
1670000000000000
1780000000000000
1890000000000000
19100000000000000
20110000000000000
21120000000000000
22Payable512.5211164.500000060
23
24
25Type 2
26
27Month 1Month 2Month 3Month 4Month 5Month 6
28Payable0.20.20.20.4
29
30Month 1Month 2Month 3Month 4Month 5Month 6
31Sales502030
32
33123456789101112Test
341101010200000000050
35204448000000020
363006661200000030
3740000000000000
3850000000000000
3960000000000000
4070000000000000
4180000000000000
4290000000000000
43100000000000000
44110000000000000
45120000000000000
46Payable101420301412000000100
Sheet3
Cell Formulas
RangeFormula
E10:P21,E34:P45E10=LET( p,MAKEARRAY(12,12,LAMBDA(r,c,IF(r<=c,INDEX(E4:J4,1,(c-r)+1),0))), s,MAKEARRAY(12,12,LAMBDA(r,c,IF(r<=c,INDEX(E7:J7,1,r),0))), IFERROR(p*s,0))
Q10:Q21,Q34:Q45Q10=BYROW(E10#,LAMBDA(r,SUM(r)))
E22:P22,E46:P46E22=BYCOL(E10#,LAMBDA(c,SUM(c)))
Q22,Q46Q22=SUM(Q10#)
Dynamic array formulas.
 
Upvote 0
The above can be simplified further.

Book1
DEFGHIJKLMNOPQ
2
3Month 1Month 2Month 3Month 4Month 5Month 6
4Payable0.50.250.10.1500
5
6Month 1Month 2Month 3Month 4Month 5Month 6
7Sales102030000
8
9123456789101112Test
10152.511.50000000010
112010523000000020
12300157.534.500000030
1340000000000000
1450000000000000
1560000000000000
1670000000000000
1780000000000000
1890000000000000
19100000000000000
20110000000000000
21120000000000000
22Payable512.5211164.500000060
23
24
25Type 2
26
27Month 1Month 2Month 3Month 4Month 5Month 6
28Payable0.20.20.20.4
29
30Month 1Month 2Month 3Month 4Month 5Month 6
31Sales502030
32
33123456789101112Test
341101010200000000050
35204448000000020
363006661200000030
3740000000000000
3850000000000000
3960000000000000
4070000000000000
4180000000000000
4290000000000000
43100000000000000
44110000000000000
45120000000000000
46Payable101420301412000000100
Sheet3
Cell Formulas
RangeFormula
E10:P21,E34:P45E10=IFERROR(MAKEARRAY(12,12,LAMBDA(r,c,IF(r<=c,INDEX(E4:J4,1,(c-r)+1)*INDEX(E7:J7,1,r),0))),0)
Q10:Q21,Q34:Q45Q10=BYROW(E10#,LAMBDA(r,SUM(r)))
E22:P22,E46:P46E22=BYCOL(E10#,LAMBDA(c,SUM(c)))
Q22,Q46Q22=SUM(Q10#)
Dynamic array formulas.
 
Upvote 0
Solution

Forum statistics

Threads
1,215,201
Messages
6,123,617
Members
449,109
Latest member
Sebas8956

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top