The built-in way to get stock prices in Google Sheets is =GOOGLEFINANCE("AAPL","price"). It is free, but prices are typically delayed up to about 20 minutes, the sheet refreshes on Google's schedule rather than streaming, and it has no dividend yield, technical indicators or options data. To go further inside Google Sheets, install the MarketXLS add-on from the Google Workspace Marketplace, which adds functions such as =Last("AAPL"), =DividendYield("AAPL") and =PERatio("AAPL") at the same price as regular MarketXLS (from $70/month billed annually on the Standard plan, with 15-minute delayed US stock quotes; real-time data needs the Advanced or Business plan). For streaming quotes that update automatically, the MarketXLS Excel desktop add-in has QM_Stream_ functions such as =QM_Stream_Last("AAPL").
Try it in your own spreadsheet
Get the free MarketXLS sample workbook (.xlsx).
No account needed. MarketXLS live data requires a paid plan.
Explore more videos

This guide is for people who already use GOOGLEFINANCE. It shows what the function delivers reliably, where it stops, how each common attribute maps to a MarketXLS formula, and a workflow for adding MarketXLS to a Sheets or Excel dashboard. Two free templates are at the end.
Live Stock Prices in Google Sheets: GOOGLEFINANCE vs MarketXLS at a Glance
The table maps each GOOGLEFINANCE attribute to its MarketXLS formula. The formulas below are shown in Excel desktop syntax; many of the same functions, such as =Last, =PERatio, =Beta and =FiftyTwo_WeekHigh, are also available in the MarketXLS Google Sheets add-on, and the Microsoft 365 Excel add-in (Mac, Excel for the web) uses an mxls. prefix. Function availability differs by platform, so check the formula list.
| What you want | Google Sheets (GOOGLEFINANCE) | MarketXLS (Excel desktop) | Live? |
|---|---|---|---|
| Last traded price | =GOOGLEFINANCE("AAPL","price") | =QM_Last("AAPL") | Both |
| Today's open / high / low | =GOOGLEFINANCE("AAPL","priceopen") | =DayOpen("AAPL") | Both |
| Volume traded today | =GOOGLEFINANCE("AAPL","volume") | =Volume("AAPL") | Both |
| Market capitalization | =GOOGLEFINANCE("AAPL","marketcap") | =MarketCapitalization("AAPL") | Both |
| Trailing P/E | =GOOGLEFINANCE("AAPL","pe") | =PERatio("AAPL") | Both |
| EPS (TTM) | =GOOGLEFINANCE("AAPL","eps") | =EarningsPerShare("AAPL") | Both |
| 52-week high / low | =GOOGLEFINANCE("AAPL","high52") | =FiftyTwo_WeekHigh("AAPL") | Both |
| Beta | =GOOGLEFINANCE("AAPL","beta") | =Beta("AAPL") | Both |
| Dividend yield | Not available | =DividendYield("AAPL") | MarketXLS only |
| 50 / 200-day moving average | Build manually | =SimpleMovingAverage("AAPL","50") | MarketXLS only |
| RSI(14) | Build manually | =RelativeStrengthIndex("AAPL","14") | MarketXLS only |
| Streaming intraday quote | Not supported | =QM_Stream_Last("AAPL") (Excel, Advanced or Business plan) | MarketXLS only |
| Option chain and Greeks | Not supported | =QM_GetOptionChainActive("AAPL") | MarketXLS only |
| Adjusted historical close | Not available | =Adjusted_Close_Historical("AAPL",DATE(2024,1,2)) | MarketXLS only |
GOOGLEFINANCE covers the basic quote attributes. For any row marked "MarketXLS only", you either build the logic yourself in Sheets or use a tool that already has the formula.
How GOOGLEFINANCE Defines "Live"
GOOGLEFINANCE prices are current to within about 20 minutes for most equities, but the sheet does not stream. "Live" usually means two things: data that is current, and a sheet that refreshes by itself. GOOGLEFINANCE handles the first reasonably well, with some exchanges and asset classes updating faster. It does not handle "refreshes by itself" the way an Excel desktop streaming feed does. Google Sheets recalculates GOOGLEFINANCE on a schedule when the document is open, on user actions like opening the file or editing a cell, and through workarounds like now() or scripted triggers. None of that is true streaming.
For a casual watchlist of five or ten symbols, the difference is invisible. For a 200-ticker income screen or a day-trader's scoreboard, the gap is the entire workflow. This is why the question of whether to stay in Google Sheets is not a quality judgment, it is a fit judgment. Match the tool to the workload.
What GOOGLEFINANCE Does Well
GOOGLEFINANCE has four real strengths.
The formula is built in. You do not install anything, you do not authenticate, you do not configure a refresh interval. You type a function and a value appears. For people who only need to glance at a price now and then, that is hard to beat.
It is collaborative by default. Anyone with view access to the sheet sees the same quote, on the same tab, in the same column. No add-in to install on the viewer's side.
It is good enough for textbook examples. Beginners learning portfolio math, students building a class spreadsheet, and personal investors with a handful of positions are well served. The product team behind Sheets has done a thoughtful job covering the basics.
It works with Google Sheets automation. Apps Script, scheduled triggers, IMPORTRANGE, and Sheets API queries can all chain off a GOOGLEFINANCE column. That ecosystem is mature and free.
Where GOOGLEFINANCE Quietly Breaks Down
GOOGLEFINANCE's limits are intermittent #N/A errors, no streaming, a short attribute list, uneven international coverage, no options data and no audit trail. Some are documented, others only show up under load.
1. Frequent #N/A values during peak traffic
User reports on Google's own support forums describe intermittent failures where GOOGLEFINANCE returns #N/A, sometimes for hours. Sometimes the price column comes back blank, sometimes it shows an error string, sometimes it returns a stale value. Any formula that depends on that cell, including totals and percentages, breaks at the same moment. There is no fallback path because there is no second source.
2. No streaming quotes
GOOGLEFINANCE refreshes on a Google-controlled cadence, generally several minutes per symbol on the price attribute, and slower on other attributes. There is no streaming pipe. Workarounds exist, including writing =GOOGLEFINANCE("AAPL","price") inside a wrapper that forces recalculation when now() ticks, but this only refreshes the cell on the Sheets recalculation schedule. It does not give you a live order-book style ticker.
3. A short list of supported attributes
price, priceopen, high, low, volume, marketcap, pe, eps, high52, low52, beta, and a handful of others cover the basics. Anything past that, including dividend yield, sector classification, technical indicators, fundamentals beyond trailing P/E, and the entire options market, is not part of the function. You can sometimes scrape these elsewhere, which is the wrong path for compliance-sensitive workflows.
4. Inconsistent international coverage
US-listed equities, ETFs, mutual funds, and most major indices behave well. Step outside that, into European small caps, Indian equities, or Latin American ADRs, and coverage gets uneven. Dividend yield is the most common casualty.
5. No options data
GOOGLEFINANCE does not provide option chains, strikes, bids, asks, open interest, implied volatility, or Greeks. For anyone running covered calls, cash-secured puts, vertical spreads, or even simple protective puts, that is a non-starter. The workaround is opening a broker tab next to the spreadsheet, which defeats the point of pulling data into Sheets in the first place.
6. No streaming Greeks or live IV
By the same logic, even teams who never sell premium would benefit from a live implied volatility column. GOOGLEFINANCE does not have one.
7. Limited audit trail
For RIAs, family offices, and corporate finance teams, regulators and clients will sometimes ask where a number came from. GOOGLEFINANCE provides the function name and a delayed value. There is no documentation surface attached, no formula-level audit log, no obvious place to attach a footnote that travels with the cell.
None of these are deal-breakers for casual use. All of them are deal-breakers for a serious workflow.
How MarketXLS Approaches the Same Problem
MarketXLS adds financial-data functions to Excel (Windows desktop add-in, plus a Microsoft 365 add-in for Mac and Excel for the web) and to Google Sheets (add-on). In Excel desktop it supports two refresh models: on-demand formulas like =QM_Last("AAPL") return a snapshot that updates when Excel recalculates, and streaming formulas like =QM_Stream_Last("AAPL") update automatically while streaming is on (real-time streaming requires the Advanced or Business plan). You choose the refresh model per cell.
The MarketXLS function library has 1000+ functions covering live quotes, historical OHLCV, dividends, splits, fundamentals across the income statement, balance sheet, and cash flow, options chains and Greeks, ETF holdings, mutual fund NAVs, FX, futures, crypto, and macro time series. For the live-stock-prices use case specifically, the most relevant functions are a small subset.
Quote primitives
=QM_Last("AAPL") Current last traded price
=Last("AAPL") Alias of QM_Last
=DayOpen("AAPL") Open of today's session
=DayHigh("AAPL") Day high so far
=DayLow("AAPL") Day low so far
=Volume("AAPL") Today's traded volume
=QM_Stream_Last("AAPL") Live streaming last price (Excel desktop)
=QM_Stream_Bid("AAPL") Live streaming bid
=QM_Stream_Ask("AAPL") Live streaming ask
Formula documentation: QM_Last, Last, Volume, QM_Stream_Last, QM_Stream_Bid, QM_Stream_Ask
Classification and fundamentals
=Sector("AAPL") Sector classification
=Industry("AAPL") Industry classification
=MarketCapitalization("AAPL") Market cap
=PERatio("AAPL") Trailing P/E
=EarningsPerShare("AAPL") Trailing EPS
=DividendYield("AAPL") Annual dividend yield
=DividendPerShare("AAPL") Annual dividend per share
=Beta("AAPL") Beta vs benchmark
Formula documentation: Sector, Industry, MarketCapitalization, PERatio, EarningsPerShare, DividendYield, DividendPerShare, Beta
Technicals and history
=SimpleMovingAverage("AAPL","50") 50-day SMA
=SimpleMovingAverage("AAPL","200") 200-day SMA
=RelativeStrengthIndex("AAPL","14") 14-period RSI
=FiftyTwo_WeekHigh("AAPL") 52-week high
=FiftyTwo_WeekLow("AAPL") 52-week low
=QM_GetHistory("AAPL") Historical OHLCV spill
=Adjusted_Close_Historical("AAPL",DATE(2024,1,2))
Split-and-dividend adjusted close
Formula documentation: SimpleMovingAverage, RelativeStrengthIndex, FiftyTwo_WeekHigh, FiftyTwo_WeekLow, QM_GetHistory, Adjusted_Close_Historical
Options
=QM_GetOptionChainActive("AAPL") Active option chain spill
=QM_GetOptionChainAtTheMoney("AAPL") ATM contracts only
=QM_GetOptionChainWeeklies("AAPL") Weekly expirations
=OPT_Delta(StockPrice, OptionPrice, Expiry, Type, Strike)
=OPT_Gamma(StockPrice, OptionPrice, Expiry, Type, Strike)
=OPT_Theta(StockPrice, OptionPrice, Expiry, Type, Strike)
=OPT_Vega(StockPrice, OptionPrice, Expiry, Type, Strike)
Formula documentation: QM_GetOptionChainActive, QM_GetOptionChainAtTheMoney, QM_GetOptionChainWeeklies, OPT_Delta, OPT_Gamma, OPT_Theta, OPT_Vega
None of these are designed to replace GOOGLEFINANCE for the casual case. They exist to cover the rows that GOOGLEFINANCE simply does not have.
Live Dashboard Pattern: One Workbook, Two Refresh Models
A pattern that works well for advisors and self-directed investors is a single workbook with two zones. The top zone is a pull-based dashboard using formulas like =QM_Last(A8), refreshed manually from the MarketXLS ribbon when you want a fresh snapshot. The bottom zone is a streaming block using =QM_Stream_Last(A22) for the four or five symbols you watch live during the session. Pull-based formulas keep your workbook fast when you have hundreds of rows. Streaming formulas keep your scoreboard live for the handful you actually trade.
The downloadable template at the end of this post is laid out exactly that way: ten tickers on a pull-based dashboard, four tickers on a streaming block, and a separate sheet that lists every GOOGLEFINANCE attribute next to its MarketXLS equivalent for reference.
A Practical Workflow for Investors Who Already Use Google Sheets
You do not need to leave Google Sheets to get data GOOGLEFINANCE cannot reach: the MarketXLS Google Sheets add-on adds those functions to your existing file. Move to an Excel desktop workbook only for the parts that need streaming quotes. The steps below cover both.
Step 1: Inventory your GOOGLEFINANCE cells
Open your existing Sheets file, use the Find and Replace panel with the regular-expression option, and search for GOOGLEFINANCE. Count how many distinct attributes appear. In practice, most workbooks use four or five attributes repeated across many rows.
Step 2: Map attributes to MarketXLS formulas
Use the comparison table earlier in this post, or the dedicated "Google Finance vs MarketXLS" sheet in the template, to translate each attribute. Most cases are direct one-to-one swaps. A small number of attributes have no GOOGLEFINANCE equivalent at all, which is the point.
Step 3: Install MarketXLS where you work
In Google Sheets, install the MarketXLS add-on from the Google Workspace Marketplace and replace GOOGLEFINANCE cells with formulas such as =Last(A2). In Excel, install the MarketXLS add-in, set up a ticker column, then a =QM_Last(A2) column and any other formulas you want; on-demand values update when Excel recalculates or you click Refresh in the ribbon.
Step 4: Add streaming for your live watchlist (Excel desktop)
Identify the symbols you actively monitor during the session, usually a small subset of the full watchlist, and add a streaming block in Excel with =QM_Stream_Last, =QM_Stream_Bid and =QM_Stream_Ask. These update without manual refresh while streaming is on. Each unique streamed symbol uses one live symbol subscription.
Step 5: Layer in fundamentals and technicals
Add a column for dividend yield, another for 50-day moving average, another for RSI(14). Each one is a single formula. Compare side by side with what GOOGLEFINANCE returned before, and you will usually see that several "manual" calculations you used to maintain in Sheets are now one cell.
Step 6: Add options if relevant
If you sell covered calls, run cash-secured puts, or hedge with protective puts, drop in =QM_GetOptionChainActive(Ticker) on a separate sheet. The entire active chain spills below the formula. Pair that with =OPT_Delta etc. for Greeks.
Step 7: Document and refresh
Keep the "How To Use" tab as your audit surface. List the formulas, link to MarketXLS function docs, and note the data source. When a regulator, partner, or client asks where a number comes from, you have an answer in the workbook itself.
Cost, Coverage, and the Pricing Question
GOOGLEFINANCE is free; MarketXLS is a paid subscription with the same pricing in Google Sheets and Excel. US plans are Standard at $70/month billed annually ($85/month billed quarterly) with 15-minute delayed stock quotes and end-of-day options, Advanced at $125/month billed annually with real-time streaming stocks and options, and Business at $200/month billed annually. Prices include data and exchange fees for non-professional users; taxes may apply. Whether it is worth it depends on how much time you spend rebuilding indicators by hand, working around #N/A errors or copying option data from a broker tab. For a student project or a small personal watchlist, GOOGLEFINANCE is usually enough.
For full plan details, see the MarketXLS pricing page. To see the product in action against your exact workflow, you can book a demo.
Download the Templates
Download the templates:
- - Pre-filled snapshot values plus the formula reference column. Good for previewing layout before installing MarketXLS.
- - Live
=QM_Last,=Stream_Last,=DividendYield,=Beta,=SimpleMovingAverage, and=QM_GetOptionChainActiveformulas across six sheets.
Both files include:
- A Live Quote Dashboard with 10 tickers and a 4-ticker streaming block
- A Google Finance vs MarketXLS reference sheet listing every attribute side by side
- A Portfolio Allocation sheet driven by live prices, sized from a portfolio input
- A Reliability Scenarios sheet describing where GOOGLEFINANCE fails and what MarketXLS returns instead
- A Setup Checklist for migrating a Google Sheets workbook to MarketXLS in Excel
- A How To Use overview with links to marketxls.com, book a demo, and pricing
Both workbooks include a "MarketXLS Functions Used in This Sheet" box at the bottom of every sheet so you can reference each formula even when the workbook is opened in a non-MarketXLS Excel.
FAQ
Are live stock prices in Google Sheets actually real-time?
GOOGLEFINANCE values are typically delayed by around 20 minutes for US equities, with refresh on a Google-controlled cadence when the sheet is open. They are current enough for most investing decisions but not real-time. For streaming intraday quotes inside a spreadsheet, MarketXLS provides =QM_Stream_Last(Symbol) in Excel desktop on the Advanced and Business plans.
How do I get live stock prices in Google Sheets without GOOGLEFINANCE?
Install a market data add-on. The MarketXLS Google Sheets add-on, from the Google Workspace Marketplace, adds functions such as =Last("AAPL"), =Bid("AAPL") and =Ask("AAPL") directly in Sheets. See MarketXLS for Google Sheets. For streaming quotes, use the MarketXLS Excel desktop add-in.
Can I get dividend yields, sectors, and fundamentals from GOOGLEFINANCE?
GOOGLEFINANCE does not expose dividend yield, sector classification, or extended fundamentals like operating margin, return on equity, or free cash flow per share. These metrics are available in MarketXLS via single formulas such as =DividendYield("AAPL"), =Sector("AAPL"), =OperatingMargin("AAPL"), and =ReturnOnEquity("AAPL").
Does MarketXLS work in Google Sheets?
Yes. MarketXLS has a Google Sheets add-on, installed from the Google Workspace Marketplace, with functions such as =Last("AAPL"), =PERatio("AAPL") and =hf_revenue("AAPL", 2024). It uses the same pricing as MarketXLS for Excel. The streaming workflow in this guide uses the Excel desktop add-in; function availability differs by platform. See MarketXLS for Google Sheets.
What is the best alternative to GOOGLEFINANCE for live stock prices?
It depends on the workload. For lightweight personal use, GOOGLEFINANCE itself is usually enough. For options data, fundamentals and technical indicators inside Sheets, the MarketXLS Google Sheets add-on adds those as formulas; for streaming quotes, the MarketXLS Excel desktop add-in adds QM_Stream_ functions.
How do I keep Google Sheets stock prices from breaking?
The most common failure mode is #N/A during peak traffic and outages on the GOOGLEFINANCE data path. You can hide the error with IFERROR and a fallback string, but that does not give you a live value, it only prevents downstream cells from breaking. If your workflow cannot tolerate outages, the answer is a redundant data source, which in practice means a paid feed or moving the calculation into a different tool entirely.
Is there an option chain function for Google Sheets?
Not natively. GOOGLEFINANCE has no option chain attribute. MarketXLS exposes =QM_GetOptionChainActive(Ticker), =QM_GetOptionChainAtTheMoney(Ticker), and =QM_GetOptionChainWeeklies(Ticker) as spill arrays, plus per-leg Greeks via =OPT_Delta, =OPT_Gamma, =OPT_Theta, and =OPT_Vega.
What MarketXLS formulas are equivalent to GOOGLEFINANCE for live quotes?
The most common mappings are =GOOGLEFINANCE("AAPL","price") to =QM_Last("AAPL"), =GOOGLEFINANCE("AAPL","high52") to =FiftyTwo_WeekHigh("AAPL"), =GOOGLEFINANCE("AAPL","beta") to =Beta("AAPL"), and =GOOGLEFINANCE("AAPL","pe") to =PERatio("AAPL"). The comparison sheet inside the downloadable template lists more than twenty pairings.
The Bottom Line
GOOGLEFINANCE gives free, roughly 20-minute delayed quotes in Google Sheets and works for small watchlists. It does not cover dividend yield, technical indicators, options chains, Greeks, streaming quotes or audit trails.
For most readers, the practical path is to keep Google Sheets and add the MarketXLS add-on for the missing data, and use MarketXLS in Excel desktop for anything that needs streaming. The free templates above are a working example you can install and rebuild around your own tickers, your own portfolio, and your own questions.
For more on MarketXLS and what it can do inside Excel, visit marketxls.com or book a demo to see the live formulas against your specific watchlist.
Educational content only. Nothing in this post is investment advice. Tickers shown are illustrative.

