Free Stock Quotes in Excel
There are a few ways to get stock quotes into Excel. For example, there are commercial add-ins that can download historical stock quotes into Excel and provide tools for analyzing the information, creating charts, and providing oodles of technical analysis functions. As of this latest article update (1/3/2022), the simplest method I know of is to use the new Stock data type, and I've created a free template to get you started.
Stock Quotes and Portfolio Template
for Excel (Office 365)License: Personal Use (not for distribution or resale)
If you want refreshable Stock quotes directly within Excel, upgrading to Office 365 may be worth it. The new Stock data type makes it a piece of cake to get stock data into Excel. To see if your version of Excel works with this new feature, download the above template. If the table of stock quotes works, and can be refreshed via Data > Refresh All, you are good to go!
This template also contains a very basic stock portfolio worksheet that uses VLOOKUP to get the current price based on the stock symbol. Note the disclaimer (not for professional or stock trading purposes or advice).
Stock Quotes in Excel via Google Sheets
The GOOGLEFINANCE function in Google Sheets allows you to get delayed quotes for stocks and mutual funds. After creating a table for the symbols that you want, you can publish the sheet as a web page (via File > Publish to the Web). You can then import the data into Excel via a web query that uses the Google Sheet as the data source. To do this, follow the steps below:
Step 1: Start with a Google Sheets Template
We've created a Google Sheets template that uses the GOOGLEFINANCE function to display stock quotes. You can make a copy of that template and update it with your own list of stocks and mutual funds.
GET TEMPLATEStep 2: Add Stocks and Mutual Funds
To add a new stock symbol to the Google Sheet, type the symbol in column A, then copy the formulas from previous rows.
Step 3: Publish as a Web Page
To connect your Google Sheet document with Excel, first publish your Google Sheet document to the web. In Google Sheets, go to File > Publish to the Web.
From the dropdown box, select the StockQuotes worksheet. Then click the "Publish" button and copy the URL that is shown highlighted, like in the screenshot below.
This will make the worksheet viewable to anybody who ends up with the link to it. For security, you should only use the Google Sheet to list the stock quotes. Don't add other personal financial data to the published sheet.
Step 4: Import into Excel via a Web Query
Now you can use the URL of the published Google Sheet to import the data into Excel. Create a new Excel worksheet, then go to Data > Get External Data > From Web.
Paste the URL you copied from Google Sheets into the Address bar, then finish the wizard.
This will put your Google Sheet data directly into Excel:
To update the web query, go to Data > Refresh All.
With the data now in Excel, you can use VLOOKUP or INDEX/MATCH functions to reference the data in the web query. For example use a formula like =INDEX(D:D,MATCH("MSFT",B:B,0)) to get the Price for MSFT.
MSN Money Stock Quote Add-in
The old way to work with stock quotes in Excel was the free MSN Money Stock Quote Add-in for Excel versions 2002 and 2003 (and 2007). But, that add-in no longer works. The old MSN data source is no longer accessible (https://www.msn.com/en-us/money/quoteslookup). Instead, Excel uses the new Stock data types, like those included in my template above.
Historical Stock Quotes via Yahoo Finance
It is possible to create a web query to access historical stock quotes from Yahoo! Finance or some other site, but I have found this approach to be somewhat cumbersome. Perhaps a better way to do this is to download historical stock quote data into Excel from Yahoo Finance:
After you enter the symbol and click the Go button, choose the Time Period you want and then press the "Download " link at the top of the table. This will download the data within the entire date range as a .csv file rather than just the stock quote data shown on the page.
More Options
- Import data from external data sources at support.office.com
- Excel data types: Stocks and Geography at support.office.com.
- Stock Quotes in a Google Spreadsheet - at support.google.com - Google got it right. You can use the =GOOGLEFINANCE function to get stock quote data into your Google Spreadsheet directly from Google Finance. View an example template by Google here.
- Get Stock Quotes using Excel Macros - at chandoo.org - Describes a way to use VBA to get stock quote data from Yahoo Finance