By integrating services like Google Finance, Search in to spreadsheet functions, google docs has paved the way for endless possibilities.

Google spreadsheet function GoogleFinance() can be used to build stock portfolio tracker sheet that can fetch historical stock quotes to tell how your money is doing.
Click here to see the stock portfolio tracker sheet on Google docs.
Here is how you can create a simple stock / mutual fund / asset tracker application using Google docs:
1. Create the stock portfolio tracker table structure
A typical portfolio tracker has the following columns:
- Name of the asset – Stock name, MF name etc.
- # of units / shares held
- Purchase date
- Purchase price (will be fetched from GoogleFinance using formulas)
- Current price (also fetched from GoogleFinance)
- Gain / Loss % and values
![]()
2. The formulas to fetch current and historical quotes
Assuming the stock / company symbol as per the listing exchange is in cell B2 and purchase date is in cell C2, we can fetch historical stock price for that symbol on purchase date by the formula,
=GoogleFinance(B2,"price",C2)
But there is a problem with this formula as result is not single cell, but a 2×2 range as shown on the right.
It returns date and price in 2 columns. We are only interested in the price of the stock on that date (ie bottom right cell in the returned range). We can fetch that value by using concatenate(), find() and mid() functions to parse out the required text. So the formula now becomes:
First in cell M2 we enter =concatenate(GoogleFinance(B2,"price",C2)) and then in the cell where the historical price is needed we enter =value(mid(M2,3+find(":",M2,1+find(":",M2)),99))
In order to fetch the current stock price we just need to enter =googlefinance(B2)
Note: Make sure that you use correct symbols for stocks / mutual funds and mm/dd/yyyy date formats for purchase date.
3. Finally add Gain / Loss calculations
This is a simple step where in we compute value on purchase and value today and then use them to compute Gain / Loss. We can modify the table to add some conditional formatting so that when a loss is made the numbers are in red color.
4. Enhancing the Portfolio Tracker
That is all. This is how we can create a simple stock portfolio tracker. But there are several interesting ways in which you can extend this.
- Add a spreadsheet form and use that to record stock purchases.
- Perform a thorough analysis of your holdings, research the companies, price trends etc. without leaving the spreadsheet.
- Get alerts when a price threshold is met, through RSS / email updates
- Add some graphs to see how / where your money going
Looking for a way to track stock / MF performance from excel, read this.
















10 Responses to “Multiple Find Replace with Power Query List.Accumulate()”
Note: The text-formula above miss a -1. The video is correct.
😀 sorry, I made the exact same mistake as you did - initially - in the video. {0..3} is one thing, and Table.RowCount(replacements) -->3 items ={0,1,2} is another thing.
1st question : you've created a new column to put the replacements in. how ca we replace in the original column without creating a new one ?
2nd question : how can we replace the value in the entire cell and not only the text (Using ReplaceValue instead of text.Replace) ?
Thanks you in advance
Chandoo, I would be very interested to have your answers in both Yassine's questions!
Thank you for sharing,
Vassilis
Thank you for this! I was just doing an assignment where I was having to replace words with other words in my Excel sheet. We are starting with the basics in my class, so I know I don't have a huge list that I would need to find and replace, but this is something that could be useful down the road for me!
Hi
This is nearly perfect for my needs thank you, however I would like just the "replace" to be the result if possible please, I have tried in vain adjusting the formula without success.
Thank you in advance
Thank you! Awesome tip, and very flexible, too.
My find/replace values were in non-adjacent columns of a table containing a bunch of other data. Worked prefectly and I am now a tiny bit less clueless.
Hi!!!
I have the same question that Yassine did.
I need to replace the values in the same column. I don't want to create a new column e then have to remove the old column.
How could I could that?
That's a real fun article. It inspired me to delve deeper into the topic of List.Accumulate. I can see how the function works, but it takes an additional step to imagine how one can use it for more complex applications.
Your example also made it into my article, together with some other use-cases. Would be great to get your opinion on which other areas you would include in the article.
Let me drop the link to the page so others can too find it for further reading: https://gorilla.bi/power-query/list-accumulate/
Expression.Error: The name 'replacements' wasn't recognized. Make sure it's spelled correctly.