GOOGLEFINANCE Function in Google Sheets
Fetches current or historical securities data from Google Finance. Stock prices, currency rates, indices, and mutual fund data — built into Google Sheets, no API key needed.
Syntax
GOOGLEFINANCE(ticker, [attribute], [start_date], [end_date | num_days], [interval])Returns: A single value for current data, or a spilled array for historical ranges.
Excel equivalent: Excel has STOCKHISTORY (Microsoft 365 only) but limited fundamentals.
Parameters
| Name | Required | Description |
|---|---|---|
| ticker | Required | Ticker symbol with optional exchange prefix, e.g., "GOOG", "NASDAQ:AAPL", "CURRENCY:USDEUR", "INDEXSP:.INX". |
| attribute | Optional | What to fetch: "price" (default), "priceopen", "high", "low", "volume", "marketcap", "pe", "eps", "beta", "changepct", and many more. For historical: "open", "close", "high", "low", "volume", "all". |
| start_date | Optional | Start of historical range. If omitted, returns current data only. |
| end_date | num_days | Optional | End date OR number of days from start_date. |
| interval | Optional | "DAILY" or "WEEKLY" for historical sampling. |
Examples
Current stock price
=GOOGLEFINANCE("AAPL")Returns the current price of Apple. Updates roughly every 15-20 minutes during market hours.
Currency conversion rate
=GOOGLEFINANCE("CURRENCY:USDEUR")Current USD-to-EUR exchange rate. Useful for multi-currency dashboards.
Historical close prices
=GOOGLEFINANCE("GOOG", "close", DATE(2025,1,1), DATE(2025,12,31), "DAILY")Returns a 2-column array of dates and close prices for 2025. Great input for SPARKLINE.
Multi-attribute snapshot
=GOOGLEFINANCE("MSFT", "marketcap")Other useful attributes: "pe", "eps", "high52", "low52", "volume", "changepct", "beta".
When to use an alternative
- IMPORTXML against Yahoo Finance or similar — You need data Google Finance doesn't expose (e.g., specific intraday metrics).
- Custom Apps Script with a paid API — You need professional-grade data with SLAs and tick-level history.
- Yahoo Finance add-ons or Wise Sheets — Want a richer marketplace add-on with fundamentals coverage.
Common errors and how to fix them
#N/A
Cause: Ticker not found, exchange prefix needed, or market closed for some attributes.
Fix: Try with explicit exchange prefix: "NASDAQ:AAPL" instead of "AAPL". Check Google Finance directly for the symbol.
Quote delayed
Cause: GOOGLEFINANCE is delayed by 15-20 minutes for most exchanges.
Fix: Don't use GOOGLEFINANCE for real-time trading decisions. It's fine for analysis, dashboards, and slow-moving portfolios.
Historical data limit
Cause: Very long date ranges may truncate or return errors.
Fix: Break the query into yearly chunks if you need 10+ years of daily data.
Related functions
Frequently Asked Questions
Is GOOGLEFINANCE data real-time?
No — it's delayed 15-20 minutes for US equities, sometimes more for international markets. Crypto and currency data is typically near-real-time. Don't use this for live trading decisions.
Why is my historical price missing?
Three common reasons: (1) the date was a market holiday, (2) the ticker didn't exist yet on that date, (3) the data source has a gap. Wrap with IFERROR to handle gaps gracefully.
Can GOOGLEFINANCE fetch crypto prices?
Limited — Bitcoin (BTCUSD) and a few major coins work via the CURRENCY: prefix. For broader crypto data, use IMPORTXML against CoinGecko or a paid API.