
Would you like to spend next 5 minutes learning how to create an excel sheet to track your mutual fund portfolio?
click here to download mutual fund portfolio tracker excel sheet I have created and play with it.
NOTE: I have updated the sheet to fix a formula error, download it again if you need to.
We will use 2 simple excel features to achieve this - web queries and vlookup()
[click here to learn more about web queries in excel]
- First, lets put a tabular format for our portfolio: We can have fund name, # of units, purchase NAV (Net Asset Value, the cost of unit for your when you bought it), purchase date, total value at purchase (units * purchase NAV), current NAV (we will pull this data from internet), value as of now (units * current NAV), Profit / loss amount and profit / loss % as our table columns. Once you learn how to do this, you can add more columns depending on what / how you want to track your MF portfolio.
When you finish creating the table, it would look something like this:
- Next, we will use web-queries to load the fund-names and the corresponding latest NAVs in a separate sheet. I have queried Association of Mutual Funds India [AMFI] - Latest Mutual fund NAV page since all my investments are in India. If you are in US or some other country you can query corresponding fund house / financial info aggregator sites (like google finance) to get the data. Remember to set “Refresh data on file open” on to get fresh data whenever you open the your tracker excel sheet.
Since AMFI returns data in a text file with ; as delimiter, I had to parse the fund names and navs out of it using a combination of search(), left() and mid(). I will not get in to the details of how its done since you may have to process your data differently depending on source.
Finally when the processing is done, we will have a table in the second sheet with all fund names and latest navs.
- Now, all we have to do is create lookup formulas (well just vlookup()) to get the latest NAV to our tracker table based on the entered fund name.
- Assuming the fund name in which you invested is in cell “c1″,
- Assuming the fund data is in table “sheet1!c1:d6000″ with “column c” containing the fund name and “column d” containing latest NAV,
The formula for latest NAV can look like this:
=vlookup(c1,sheet1!c1:d6000,2,false)
Remember to use false for last parameter since fund names may not be sorted in alphabetical order on your source web page.
Now we will repeat this formula for all the rows in latest nav column. I have built my portfolio tracker to track 20 funds at a time. Also, you can simplify formulas using named ranges.
- Finally we will write formulas for,
current value = latest nav * units held
profit/loss = current value - purchase value
profit/loss % = “profit/loss” / purchase value
You can add some conditional formatting to beautify the table (like turning text blue for profits and red for losses etc.)
- Thats all, you have now created a real-time mf portfolio tracker. It would look something like this when done:

You can do the same for stock portfolios, commodities etc. You just need a web source that gives you latest data and five minutes of free time
Feel free to download mutual fund portfolio tracker excel sheet I have created and play with it.
Few ideas on how you can enhance this:
- Add graphs to see visually how the funds are doing
- Build some VBA to store previous NAV values of your funds so that you can see historical dates
- Instead of doing plain % of profit / loss, compute realistic growth of your funds using date of purchase, risk free rate of return etc.
- Tags: download, Excel Tips, free, how to, ideas, interesting, investing, MS, mutualfunds, personal finance, portfolio tracker, spreadsheet, stock, technology, tips, tricks, vlookup, web queries
Did you enjoy reading this post? If so, give me some love

Consider subscribing to my newsletter every weekday I will send you one email with hot excel tips, technology tidbits or business insights that can make you more productive. Each mail will have unsubscribe link so you can stop receiving the mails at any time you wish.
28 Responses
xd03x
April 20th, 2008 at 5:00 am
1Many thanks for this, will save me a lot of time
Chandoo
April 21st, 2008 at 1:41 pm
2@xdo3x .. thanks, welcome to PHD
Gouri Sankar
April 23rd, 2008 at 10:02 pm
3hey, i am too looking for last 3 days to get the same for stock quotes. but i did not get any right source. I do remember that once you posted simillar thing long back using myiris.com site. I just came here to check that and found this good post too. thanks.
Any way, do you have any web source that can retrieve all stocks (it’s great if we can specify a list of stocks) and retrieve the LTP bla, bla.., the main aim is that should done using minimum n/w resources.
You may expect, how frequiently a share holder tries to refresh.
Any help would be highly appricieated.
Chandoo
April 24th, 2008 at 2:24 pm
4@Gouri … Getting live stock quotes from a web page could be tricky, have you tried nse / bseindia sites? they have web services exposed to grab the quotes in real time.
Another way is to use yahoo finance, but again requires some bit of vba coding to parse the quote out.
You best bet is to use google spreasheets and use the google functions to query google finance (oof! thats a lot of google in a sentence). But you need to know the BSE Stock Code to do this. I will be posting a google spreadsheet method for tracking stock portfolios in few days. Meanwhile if you come across an interesting way of doing this without lot of VBA / UDFs feel free to share it with me and other readers
Chandoo
April 28th, 2008 at 2:36 pm
5@Gouri - You can use this source for the BSE 500 Stocks, I guess this covers pretty much 90% of most of the portfolios..
http://finance.indiamart.com/markets/bse/bse500.html
aloke
April 29th, 2008 at 1:29 am
6whoa. are those mutual fund returns on your sheet correct? any mutual funds you recommend?
Chandoo
April 29th, 2008 at 2:48 pm
7@aloke - hey, they are just fictitious. Those kind of returns in this market, well, we can only manage them inside an excel… Btw, I use valueresearchonline.com’s rating to decide where to park my money, may be you can take a look their ratings. Btw, welcome to PHD, hope you liked my site.
Sastry
May 5th, 2008 at 1:27 pm
8This is fantastic. Am beginning to play around with this. Any ideas how, to handle SIPs, if i am buying a fixed set of MFs every month? Currently, all i can think of is having one row for each fund X each month….. Is there a more efficient way, you can think of? any Pivot tables kind of thing that can make it more efficient?
Thanks a tonne.
Chandoo
May 5th, 2008 at 2:53 pm
9@Sastry… thanks a lot, welcome to PHD
hmm, SIPs, they are a tougher lot, I wanted to create the portfolio without indulging in VBA, and to know how much a SIP made, we need to constantly store the NAV as of past SIP dates in some other table. Instead of solving that problem, I just ignored it in my sheet.
But yeah, you have a point, it would be lot nice if we can get SIP tracking this sheet. Currently there are no reliable ways to get historical NAVs on the web for Indian MFs (for US MFs you could use google finance functions / API or a bunch of other web services), may be I will create another sheet with some VBA to store NAVs as you refresh so that we can use it to track SIPs, but I dont know when I can get it done. Meanwhile if you are planning to do it, share it with our readers and I will buy you a donut and coffee
good day!
Sastry
May 6th, 2008 at 8:59 am
10Chandoo… i havent figured a way yet.. but because SIP involved a fixed sum of amount per month, I have ignored the historical NAV’s in my excel sheet… Instead, what i have done is - One column for my ‘monthly budget’… one for ‘number of months’… one column for “no. of units held”…. So the historical NAV is kind of irrelevant. The trouble though, is i need to keep keying in the ‘Number of Units” every month… but i guess that is not too difficult…. So, my donut and coffee????
Chandoo
May 6th, 2008 at 7:46 pm
11@Sastry - wow, thats a neat method there. You have earned your reward, drop me a note if you are in / around columbus, I shall treat you
Sastry
May 7th, 2008 at 1:05 am
12Halfway around the globe in SE Asia… will remember to drop in a message when i am a wee bit closer… ;-))
Cheers
GWBE
May 13th, 2008 at 2:47 pm
13Hey this was exactly what I’ve been looking for to track my portfolio. Thanks a bunch for sharing this.
If you get around to London, here’s a coupon for a meal at my place!
sharetipsinfo
May 19th, 2008 at 9:13 am
14Dear Visitors,
This blog is really nice and informative. We are pleased to know this blog is really helping people. Its our pleasure to post informative content on this useful blog created by webmaster.
Its like NSE and BSE
both are running out of volumes due to weak stock market trend from the beginning of 2008. We have seen new highs of Nifty and Sensex in the past and now they are trading on lower sides which is hampering the confidence of traders and investors. Fall in BSE
and NSE
resulted in lost of around 60% - 70% portfolio of investors though traders are minting money in week market too.
One point to be noted and learned is that people are investing money by ignoring all fundamentals and technical aspects. We request all of investors and traders that Invest money wisely its hard earned money do research work only then invest if you don’t have time to do research work let professionals do it for you.
Think twice thrice before investing blindly without backed by technical and fundamental research.
Have a Nice trading days ahead.
Regards
SHARETIPSINFO TEAM
+91 9891655316
+91 9899056796
+91 9891890425
Sandeep Kothari
May 20th, 2008 at 2:38 am
15Good Job. Its Fantastic and very very usefull. I was looking for some thing like this. I had one more query. Do we have some thing similar for Stock Market for Shares.
Chandoo
May 20th, 2008 at 2:34 pm
16@Sandeep … welcome to PHD, thanks for the compliments… Just follow up the comments above, my reply to Sankar (comment # 5) - you can get the stock quotes (live) for the BSE 500 shares from http://finance.indiamart.com/markets/bse/bse500.html, just use the above method to create a sheet to track your share performance…. If you get enough time, share it with our other readers.. We appreciate your efforts…
sankari
May 30th, 2008 at 9:12 am
17hi,
Kudos to your excellent effort….
i’ve downloaded your excel sheet & refresh the data
IIn the Latest Nav sheet, in cell no B5083 I find this
104638;Reliance Long Term Equity Fund -Dividend Plan Dividend Option;11.8933;11.4176;11.8933;29-May-2008
This is not reflected in E column. Hece am not seeing this fund in the drop down list.
sankari
Mahadi
May 30th, 2008 at 2:48 pm
18How to contact you? I want portfolio tracker on my website…
Thanks
Chandoo
May 30th, 2008 at 3:01 pm
19@Sankari … welcome to PHD, thanks for visiting us…
hmm, interesting, I have checked the sheet once again, thanks for pointing this out, there was an error in the formulas pasted after row 5013, I have uploaded the sheet once again. Download it and try, you shouldnt see this problem. Let me know if this persists…
@Mahadi … Thanks for visiting phd. … what do you mean by “I want portfolio tracker on my site”, if you are planning to include it on your site as a downloadable, go ahead and do that, just leave a link to my site and this post. btw, you can contact me on chandoo dot d at gmail dot com, or leave another comment and I will email you…
sankari
June 2nd, 2008 at 4:22 am
20thanks for your quick response. will update u once i ‘ve uploaded all my funds
aditya
June 6th, 2008 at 6:19 am
21Hi, an excellent tool for many investors….
Is there any way I can fetch data for a specific date … say on 5th June, I need data for the 30th may or something??
captsri
June 6th, 2008 at 11:38 am
22HI
Try this on the address link:
http://finance.yahoo.com/d/quotes.csv?s=BBDB.TO+NT.TO+GE+MSFT&f=snl1d1t1ohgdr
you wl get the below in excel sheet or directly on the webpage. now u can use this raw data to make yr excel sheet.
BBD-B.TO BOMBARDIER INC CL 8.84 06/05/2008 4:10pm 8.97 8.97 8.66 0 N/A
NT.TO NORTEL NETWORKS C 8.21 06/05/2008 4:10pm 8.3 8.39 8.12 0 N/A
GE GEN ELECTRIC CO 31.06 06/05/2008 4:00pm N/A N/A N/A 1.18 14.35
MSFT MICROSOFT CP 28.3 06/05/2008 4:00pm N/A N/A N/A 0.43 16.44
what each codes stands for is as follows(- how is that for a easy way to get info. remember the name is yahoo finance has to be used
CHeers.)
a Ask
a2 Average Daily Volume
a5 Ask Size
b Bid
b2 Ask (Real-time)
b3 Bid (Real-time)
b4 Book Value
b6 Bid Size
c Change & Percent Change
c1 Change c3 Commission c6 Change (Real-time)
c8 After Hours Change (Real-time)
d Dividend/Share d1 Last Trade Date
d2 Trade Date
e Earnings/Share e1 Error Indication (returned for symbol changed / invalid)
e7 EPS Estimate Current Year
e8 EPS Estimate Next Year e9 EPS Estimate Next Quarter
f6 Float Shares g Day’s Low h Day’s High
j 52-week Low k 52-week High g1 Holdings Gain Percent
g3 Annualized Gain g4 Holdings Gain g5 Holdings Gain Percent (Real-time)
g6 Holdings Gain (Real-time) i More Info i5 Order Book (Real-time)
j1 Market Capitalization j3 Market Cap (Real-time) j4 EBITDA
j5 Change From 52-week Low j6 Percent Change From 52-week Low k1 Last Trade (Real-time) With Time
k2 Change Percent (Real-time) k3 Last Trade Size k4 Change From 52-week High
k5 Percebt Change From 52-week High l Last Trade (With Time) l1 Last Trade (Price Only)
l2 High Limit l3 Low Limit m Day’s Range
m2 Day’s Range (Real-time) m3 50-day Moving Average m4 200-day Moving Average
m5 Change From 200-day Moving Average m6 Percent Change From 200-day Moving Average m7 Change From 50-day Moving Average
m8 Percent Change From 50-day Moving Average n Name n4 Notes
o Open p Previous Close p1 Price Paid
p2 Change in Percent p5 Price/Sales p6 Price/Book
q Ex-Dividend Date r P/E Ratio r1 Dividend Pay Date
r2 P/E Ratio (Real-time) r5 PEG Ratio r6 Price/EPS Estimate Current Year
r7 Price/EPS Estimate Next Year s Symbol s1 Shares Owned
s7 Short Ratio t1 Last Trade Time t6 Trade Links
t7 Ticker Trend t8 1 yr Target Price v Volume
v1 Holdings Value v7 Holdings Value (Real-time) w 52-week Range
w1 Day’s Value Change w4 Day’s Value Change (Real-time) x Stock Exchange
y Dividend Yield
Trade like a Geek - One click stock quotes in excel - learn how to | Pointy Haired Dilbert - Chandoo.org
June 24th, 2008 at 7:37 pm
23[...] read: Create stock / mutual fund portfolio tracker in excel using web lookup queries Tags: america, Analytics, business, excel, how to, microsoft, personal finance, portfolio tracker, [...]
Paste like a Pro - 17 excel pasting tricks you should know | Pointy Haired Dilbert - Chandoo.org
July 2nd, 2008 at 9:31 pm
24[...] If you want to import live data from web to your worksheets, you can use Excel web queries. This is a powerful tool using which you can create worksheets that can fetch data from web (or network resources) and display in your worksheet for you to process them. You can findout more about these by learning to create a mutual fund portfolio tracker sheet. [...]
Tracking mutual fund / Stock portfolios using excel - howto - Learn Excel
July 8th, 2008 at 7:49 am
25[...] Original post by Chandoo [...]
Rajaguru
July 16th, 2008 at 4:56 am
26Wow..wonderful effort and the quality of content is really informative and useful..
shareinfoline.com
July 25th, 2008 at 11:26 am
27Dear Visitors,
This blog is really nice and informative. We are pleased to know this blog is really helping people. Its our pleasure to post informative content on this useful blog created by webmaster.
http://www.shareinfoline.com provides you with the best Indian stock market tips..that too for very less amount and with maximum sureity …There tips are really doing wonders in the world..At this point of time they are the most trustworthy players …
Do mind my words and just check http://www.shareinfoline.com
Ajay Kr Dhamija
August 25th, 2008 at 5:18 pm
28Please tell my how to get historical NAV of more than 90 days from amfiindia.com. On their site they have data only for 90 days. We have to repeat the procedure for so many times
Thanks
RSS feed for comments on this post · TrackBack URI
Leave a reply
Welcome :)
Quick Facts
I am Chandoo, when I started this blog in 2004, the purpose was to post snapshots from hell to share my b-school life with world.
Today this blog has over 600 articles in topics like Excel, Business, Advertising, Technology, Photography and Life in Indian B-schools.
Interested? Know more or mail me at: chandoo [dot] d [at] gmail [dot] com
Recent Comments
Categories
Recently PHD wrote
Monthly Archives
Category-wise Archives
Blogroll
PHD Link Love
Hungry for Spam
Disclaimer
Add PHD to your news reader
Tag Cloud
advertising b-school blogging business chennai company cost engineering Excel Tips experience food Friends fun game Humor idea ideas IIM images India Indore information learning management marketing MBA microsoft money movie office photos presentation product project service story technology tips train travel tricks tv visualization web weekendPointy Haired Dilbert - Chandoo.org is proudly powered by WordPress - BloggingPro theme by: Design Disease