Q: In response to a question on how to download market data directly into Excel, this is what I use:
=NUMBERVALUE(WEBSERVICE("finance.yahoo.com/d/quotes.csv?s=" & A2 & "&f=l1"))
In this case cell A2 contains the symbol I would like the information for (ie ALA.TO for AltaGas). The l1 looks up the last trade price. The website below shows other codes to use to lookup other information.
http://www.jarloo.com/yahoo_finance/
For example =NUMBERVALUE(WEBSERVICE("finance.yahoo.com/d/quotes.csv?s=" & A2 & "&f=j1")) will get the Market cap.
Unfortunately WEBSERVICE is a non-volatile function, meaning it doesn’t re-download the information from the web automatically. To refresh, you need to either
- Hit CTRL+ ALT + F9
- If that doesn’t work for some reason on your computer you must use VBA to refresh at opening (Application.CalculateFull) .
It is a little complicated for some, but is the only good way I have found if you want to stick with Excel and not move to Google Sheets.
=NUMBERVALUE(WEBSERVICE("finance.yahoo.com/d/quotes.csv?s=" & A2 & "&f=l1"))
In this case cell A2 contains the symbol I would like the information for (ie ALA.TO for AltaGas). The l1 looks up the last trade price. The website below shows other codes to use to lookup other information.
http://www.jarloo.com/yahoo_finance/
For example =NUMBERVALUE(WEBSERVICE("finance.yahoo.com/d/quotes.csv?s=" & A2 & "&f=j1")) will get the Market cap.
Unfortunately WEBSERVICE is a non-volatile function, meaning it doesn’t re-download the information from the web automatically. To refresh, you need to either
- Hit CTRL+ ALT + F9
- If that doesn’t work for some reason on your computer you must use VBA to refresh at opening (Application.CalculateFull) .
It is a little complicated for some, but is the only good way I have found if you want to stick with Excel and not move to Google Sheets.