hawaean

New Member
Joined
Aug 25, 2016
Messages
32
Hello Excel Experts.

Please feel free to ask me questions about my sample investment spreadsheet. I'm not sure how much of it I need to explain to get my question(s) answered. The basic idea is the "Projection" tab summarizes the potential investments based on the top table, where you plot different letters (P=purchase,R=rent,S=sale) along the timeline to indicate when investments are made (ie. Purchase "P03" in 2017). On the "List" tab, I have all the potential investments. This is where the Projection tab pulls data from to calculate different things, like cash flow and equity.

Problem 1: As long as List and Projection have the same number of property rows, this sheet works fine. Since the sumproducts can't work with different ranges, everything gets screwed up if I add another property in the List tab. Can I keep the functionality of the spreadsheet, but add properties to the list? In other words, can the formulas check the projected list of investments against a larger/dynamic range of properties on the List tab? We can assume that the identifiers (ID, column A) are unique.

Let's use the "Net (Cash)" row as an example.

Current formula: =SUMPRODUCT((C$2:C$8="S")*List!$AC$3:$AC$9)+SUMPRODUCT(((C$2:C$8="R")+(C$2:C$8="P"))*List!$U$3:$U$9)*12-SUMPRODUCT((C$2:C$8="P")*List!$H$3:$H$9)

Problem occurs when I add a few rows on the List tab: =SUMPRODUCT((C$2:C$8="S")*List!$AC$3:$AC$12)+SUMPRODUCT(((C$2:C$8="R")+(C$2:C$8="P"))*List!$U$3:$U$12)*12-SUMPRODUCT((C$2:C$8="P")*List!$H$3:$H$12)

The question is, can I still do what this formula is doing, but have the ability to add rows on the List tab?

Problem 2: This isn't really a problem, but I'm curious if there's a more efficient way to calculate the "asset" and "liability" lines on the Projected tab. Currently, I have 2 separate tables (rows 10-35) running calculations of assets while accounting for appreciation, and liabilities while accounting for paying it down over time. Is there a way to fit all the calculations in the Asset and Liability rows, eliminating the need for the 2 above tables?

Thanks in advance!

ABCDEFGHIJK
1DP201520162017201820192020202120222023
2P0150,000PRRRRRS
3P0260,000PRRRRRRR
4P0350,000PRRRRRR
5P0475,000PRRRRR
6P0530,000PRRRR
7P0665,000PRRR
8P07120,000PRR
9
10Asset
11P01 245,000 252,452 260,130 268,043 276,195 284,596
12P02 147,000 151,471 156,078 160,826 165,717 170,758 175,951 181,303
13P03 269,500 277,697 286,144 294,847 303,815 313,056 322,578
14P04 343,000 353,433 364,183 375,260 386,674 398,435
15P05 122,500 126,226 130,065 134,021 138,098
16P06 283,220 291,834 300,711 309,857
17P07 441,000 454,413 468,235
18Loan
19P01 195,000 190,629 186,057 181,276 176,274 171,043
20P02 87,000 84,371 81,622 78,746 75,739 72,593 69,302 65,861
21P03 219,500 214,734 209,749 204,535 199,081 193,377 187,411
22P04 268,000 262,451 256,648 250,578 244,229 237,589
23P05 92,500 89,783 86,941 83,968 80,859
24P06 218,220 213,773 209,098 204,183
25P07 321,000 315,036 308,767
26
27
28Net (Cash)-55,184-57,825-47,826-70,567-17,973-54,32317,85220,68120,681
29Net (Equity)-55,184-57,825-47,826-70,567-17,973-54,32338,73920,68120,681
30Flow/Yr (n)2,1666,58510,25914,72315,70219,17320,68120,68120,681
31Flow/Yr (g)19,50032,70057,90084,90094,500117,900130,200130,200130,200
32Asset245,000399,452681,1021,044,8181,199,0971,518,7891,712,7321,764,8261,818,505
33Liability195,000277,629489,929745,632819,7211,015,9681,143,9651,115,0101,084,670
34Equity50,000121,823191,173299,186379,376502,821568,767649,816733,835
35Reserve3,6445,2759,85214,64616,31020,52422,97622,97622,976
36Operating $350,000291,172231,716179,312103,95184,31525,77741,17761,85882,539
37Net Worth53,644127,098201,025313,832395,685523,345591,742672,792756,811

<tbody>
</tbody>
Projection

Worksheet Formulas
CellFormula
C11=IF(OR(C2="",C2="S"),"",
-FV(
INDEX(List!$A$3:$AI$12,MATCH($A11,List!$A$3:$A$12,0),23)/12,
12*(COUNTA($C2:C2)-1),
0,
INDEX(List!$A$3:$AI$12,MATCH($A11,List!$A$3:$A$12,0),4)
)
)
C19=IF(OR(C2="",C2="S"),"",
MAX(0,
FV(
INDEX(List!$A$3:$AI$12,MATCH($A19,List!$A$3:$A$12,0),11)/12,
12*(COUNTA($C2:C2)-1),
SUM(
INDEX(List!$A$3:$AI$12,MATCH($A19,List!$A$3:$A$12,0),13),
INDEX(List!$A$3:$AI$12,MATCH($A19,List!$A$3:$A$12,0),14)
),
-INDEX(List!$A$3:$AI$12,MATCH($A19,List!$A$3:$A$12,0),10)
)
)
)
C28=SUMPRODUCT((C$2:C$8="S")*List!$AC$3:$AC$9)+SUMPRODUCT(((C$2:C$8="R")+(C$2:C$8="P"))*List!$U$3:$U$9)*12-SUMPRODUCT((C$2:C$8="P")*List!$H$3:$H$9)
C29=SUMPRODUCT((C$2:C$8="S")*List!$AA$3:$AA$9)+SUMPRODUCT(((C$2:C$8="R")+(C$2:C$8="P"))*List!$U$3:$U$9)*12-SUMPRODUCT((C$2:C$8="P")*List!$H$3:$H$9)
C30=SUMPRODUCT(((C$2:C$8="R")+(C$2:C$8="P"))*List!$U$3:$U$9)*12
C31=SUMPRODUCT(((C$2:C$8="R")+(C$2:C$8="P"))*(List!$L$3:$L$9))*12
C32=SUM(C11:C17)
C33=SUM(C19:C25)
C34=C32-C33
C35=SUMPRODUCT(((C2:C8="R")+(C2:C8="P"))*List!$G$3:$G$9)*1.5
C36=SUM(B35:B36,C28)-C35
C37=SUM(C34:C35)

<tbody>
</tbody>

<tbody>
</tbody>

ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAGAHAIAJ
1ListPurchase98%103% P03Rent8%0%1%Sale7%5%Analysis
2IDAddressList PriceBuy PriceSale Total$ on HandRsvCash InvDPLoanAPRIncomeMortxPmtPMInsHOATx (Yr)MscExp (mo)Cash FlowPriceARRepairsRecap-25%Cap Gain1031TaxNetCapR:BP (1%)$:$DTIReturn (GRM)Return (Net)Payoff
3P01132 Oak Street250,000245,000252,35050,000242957,35020%195,0004.5%1,625988100130 37 55 1,61701,445180319,6693.0%7,01680,356151,28820,887130,4026.2%0.66%4%89%12.6 yrs17.1 yrs24.9 yrs
4P02555 Maple Ln150,000147,000151,41060,000108764,41041%87,0004.5%1,10044110088 22 - 9700732368197,5563.0%5,0004,81150,970130,15713,393116,7647.4%0.75%7%67%11.2 yrs11.5 yrs20.6 yrs
5P031st Ave #12275,000269,500277,58550,000305258,08519%219,5004.5%2,1001,112100168 40 225 1,77901,794306351,6363.0%7,71888,392160,96322,975137,9886.8%0.78%6%85%10.7 yrs12 yrs25.4 yrs
6P041200 Cedar Road350,000343,000353,29075,000319685,29022%268,0004.5%2,2501,358100180 51 - 2,26401,878372434,5023.0%8,41994,763190,48024,689165,7906.4%0.66%5%83%12.8 yrs15.1 yrs26.1 yrs
7P05920 Brook Ave125,000122,500126,17530,000110933,67524%92,5004.5%80046910064 18 - 809071882150,6603.0%6002,50627,03670,2197,08563,1346.4%0.65%3%90%12.8 yrs15.5 yrs21 yrs
8P0672 E Hillsdale Street289,000283,220291,71765,000280973,49723%218,2205.0%1,9501,171100156 42 35 1,86901,661289338,1793.0%4,63549,825128,31713,064115,2536.6%0.69%5%85%12.2 yrs15.8 yrs25.2 yrs
9P074350 Green Ridge450,000441,000454,230120,0004064133,23027%321,0005.0%2,6501,723100212 66 - 2,91102,344306511,2403.0%3,0005,41253,102190,04014,113175,9275.8%0.60%3%88%13.9 yrs27.4 yrs26.6 yrs
10P081014 Canyon Drive150,000147,000151,41050,000135754,41034%97,0005.0%95052110076 22 55 970085595151,4103.0%601047,227047,2275.8%0.65%2%90%12.9 yrs23.3 yrs21.2 yrs
11P0988 Thorton Ln415,000406,700418,90150,000439962,20112%356,7005.0%2,5501,915100204 61 - 2,68402,50446418,9013.0%1,2001,664041,463041,4636.1%0.63%1%98%13.3 yrs35.4 yrs26.9 yrs
12P1041-829 Broadway Blvd365,000357,700368,43150,000390460,73114%307,7005.0%2,3501,652100188 54 50 2,36102,240110368,4313.0%1,463042,551042,5516.2%0.66%2%95%12.7 yrs24.2 yrs26.4 yrs
13P111550 Lone Way180,000176,400181,69250,000195455,29228%126,4005.0%1,750679100140 26 175 1,16401,217533181,6923.0%722046,575046,5758.9%0.99%12%70%8.4 yrs7.3 yrs22.7 yrs
14P12560 Tumbleweed St325,000318,500328,05550,000367559,55516%268,5005.5%2,1001,525100168 48 90 2,10202,105-5328,0553.0%6,5001,303043,079043,0796.1%0.66%0%100%12.7 yrs52.5 yrs25.9 yrs

<tbody>
</tbody>
List

Worksheet Formulas
CellFormula
D3=C3*$D$1
E3=D3*$E$1
F3=IFERROR(INDEX(Projection!$A$2:$B$8,MATCH(A3,Projection!$A$2:$A$8,0),2),INDEX(Projection!$A$2:$B$8,MATCH(IFERROR($F$1,0),Projection!$A$2:$A$8,0),2))
G3=MAX(2*SUM(-PMT(K3/12,360,D3-F3,0),P3:Q3,R3/12),0)
H3=SUM(E3:E3)-J3
I3=MAX(IFERROR((D3-J3)/D3,0),0)
J3=IF(OR(D3=0,D3="",SUM(D3:D3)<f3< font="">),0,SUM(D3:D3)-F3</f3<>)
M3=-PMT($K3/12,360,J3)
T3=SUM(M3:Q3,S3)+R3/12
U3=L3-T3
Y3=SLN(D3*45%,0,27.5)*MAX(1,(COUNTA(INDEX(Projection!$A$2:$K$8,MATCH($A3,Projection!$A$2:$A$8,0),0))-2))*25%
Z3=MAX(0,V3*(1-7%)-(D3+X3-Y3*4))
AA3=IFERROR(V3*(1-$W$1)-MAX(0,
FV($K3/12,MAX(COUNTA(INDEX(Projection!$A$2:$K$8,MATCH($A3,Projection!$A$2:$A$8,0),0)),1)*12,SUM($M3:$N3),-$J3)
),0
)
AB3=MAX(0,15%*(V3*(1-7%)-D3-X3)+Z3*7.5%+Y3)
AC3=AA3-AB3
AD3=IFERROR((L3-O3-P3-Q3-R3/12-S3)*12/D3,"")
AE3=IFERROR(MAX(0,L3)/D3,"")
AF3=IFERROR(U3*12/H3,"")
AG3=IFERROR(T3/L3,"")
AH3=IFERROR(MAX(ROUNDUP((D3/L3)/12,1),0)&" yrs","")
AI3=IFERROR(MAX(ROUNDUP(SUM(H3)/(L3*12-SUM(M3,O3:Q3,S3)*12-R3),1),0) &" yrs","")
AJ3=IFERROR(MAX(ROUNDUP(NPER(K3/12,-M3-$N3,$J3)/12,1),0) &" yrs","")

<tbody>
</tbody>

<tbody>
</tbody>
 

Excel Facts

Who is Mr Spreadsheet?
Author John Walkenbach was Mr Spreadsheet until his retirement in June 2019.
I think Your first Problem is due to range , as you know that sum product is array formula and in this all ranges should equal to same size. If you add some rows in any range you have to change number of rows all ranges select in formula.
 
Upvote 0
I think Your first Problem is due to range , as you know that sum product is array formula and in this all ranges should equal to same size. If you add some rows in any range you have to change number of rows all ranges select in formula.

Is there a formula that can examine one range against another range that are of different sizes? These don't have to be sumproducts if there's no way around its limitation.
 
Upvote 0
Let's use the "Net (Cash)" row as an example.

Current formula: =SUMPRODUCT((C$2:C$8="S")*List!$AC$3:$AC$9)+SUMPRODUCT(((C$2:C$8="R")+(C$2:C$8="P"))*List!$U$3:$U$9)*12-SUMPRODUCT((C$2:C$8="P")*List!$H$3:$H$9)

I'll clarify what the formula is doing:

1) Checks table (in its own column) for all instances of "S", "R", or "P" in rows 2:8 (C2:C8).
2) For each "S", find the corresponding rows on the List tab with the same property ID and adds the sum of the sale proceeds (column AC).
3) For each "R" and "P", find the corresponding rows on the List tab with the same property ID and adds sum of the net rental income (column U). The assumption is you get rent in the year you buy the property.
4) For each "P", find the corresponding rows on the List tab with the same property ID and subtracts the sum of the net out-of-pocket purchase cost (column H).

Please let me know if there's a way to calculate the same results, but where I'm allowed to add rows on either tab. My guess is it may need to be a index/match that uses the property ID's to find the correct data to sum.

Thanks.
 
Upvote 0
Try:

C28: =SUM(SUMIF(List!$A:$A,IF(C$2:C$8="S",$A$2:$A$8),List!$AC:$AC)+SUMIF(List!$A:$A,IF((C$2:C$8="R")+(C$2:C$8="P"),$A$2:$A$8),List!$U:$U)-SUMIF(List!$A:$A,IF(C$2:C$8="P",$A$2:$A$8),List!$H:$H))
confirmed with Control+Shift+Enter.

This gives wildly different results than your example, but this could be because I had a hard time importing your data, and also because your formula may not be doing what you expect. When I manually validated some of the results of this formula, they match your explanation from post #4 . The formula I presented does not rely on the number of rows on the Projection sheet to match the number of rows on the List sheet.

Hope this helps.
 
Upvote 0
Try:

C28: =SUM(SUMIF(List!$A:$A,IF(C$2:C$8="S",$A$2:$A$8),List!$AC:$AC)+SUMIF(List!$A:$A,IF((C$2:C$8="R")+(C$2:C$8="P"),$A$2:$A$8),List!$U:$U)-SUMIF(List!$A:$A,IF(C$2:C$8="P",$A$2:$A$8),List!$H:$H))
confirmed with Control+Shift+Enter.

This gives wildly different results than your example, but this could be because I had a hard time importing your data, and also because your formula may not be doing what you expect. When I manually validated some of the results of this formula, they match your explanation from post #4 . The formula I presented does not rely on the number of rows on the Projection sheet to match the number of rows on the List sheet.

Hope this helps.


Thanks Eric,

Taking C30 as another example, I applied your formula to get the net Cash Flow, which is really just = search the List tab for matching properties and summing column U.

C30 =SUMIF(List!$A:$A,IF((C$2:C$8="R")+(C$2:C$8="P"),$A$2:$A$8),List!$U:$U)

The result is 0, but should be $180. The next one, D30, should be $549 Because both P01 and P02 have an 'R' or 'P' in it. This formula returns $180.

This seems close to what I'm after, but it's probably just missing a small tweak.
 
Upvote 0
The C30 formula should be:

=SUM(SUMIF(List!$A:$A,IF((C$2:C$8="R")+(C$2:C$8="P"),$A$2:$A$8),List!$U:$U))
confirmed with Control+Shift+Enter.

We need the SUM around the SUMIF because the embedded IF creates an array containing the product value (column A) if the condition is true (column C= P or R), or FALSE if not. The SUMIF will calculate 7 times, using each value from the array, generating an internal result array. Then without the SUM, Excel can only display the first value from that array. With the SUM, it will total the array and give you the answer.
 
Last edited:
Upvote 0

Forum statistics

Threads
1,214,945
Messages
6,122,397
Members
449,081
Latest member
JAMES KECULAH

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