A Google Sheets stock tracker is one of the most popular projects for investors who want to monitor their stocks in a spreadsheet. Google Sheets is free, works on any device, and is easy to share. The problem is that the built-in GOOGLEFINANCE function only gives you delayed prices and about 18 data points per stock. That is not enough for a real stock tracker.
This step-by-step guide shows you how to build a professional stock tracker in Google Sheets using MarketXLS. You will get real-time stock prices, key financial ratios, dividend data, technical indicators, and performance metrics, all updating live in your spreadsheet.
The Problem with GOOGLEFINANCE Stock Trackers
Most Google Sheets stock tracker tutorials use GOOGLEFINANCE formulas like this:
=GOOGLEFINANCE("AAPL", "price")
=GOOGLEFINANCE("AAPL", "changepct")
=GOOGLEFINANCE("AAPL", "volume")
This works for a basic watchlist, but you quickly hit limits:
- Prices are delayed 20 minutes so your tracker shows stale data
- No dividend yield so you cannot screen income stocks
- No P/E ratio granularity beyond the basic PE attribute
- No RSI, MACD, or moving averages for technical analysis
- No bid/ask spread data for trading decisions
- Random #N/A errors break your dashboard regularly
- No fundamental data like revenue, earnings, or cash flow
With MarketXLS, every one of these limitations goes away.
Step 1: Set Up Your Google Sheets Stock Tracker
Create a new Google Sheet. Install MarketXLS from the Google Workspace Marketplace and enter your license key in the sidebar.
Header Row
Set up your columns in Row 1:
| A | B | C | D | E | F | G | H | I | J |
|---|---|---|---|---|---|---|---|---|---|
| Symbol | Company | Price | Change % | Volume | P/E | Div Yield | 52W High | 52W Low | Sector |
Enter Your Stock Symbols
In column A starting at row 2, enter your stock symbols:
AAPL
MSFT
GOOGL
AMZN
TSLA
NVDA
META
JPM
JNJ
V
Step 2: Add Real-Time Stock Price Formulas
In each column, enter the MarketXLS formula for row 2, then copy it down:
Column B (Company Name):
=Name(A2)
Column C (Price):
=Last(A2)
Column D (Change %):
=ChangeinPercent(A2)
Column E (Volume):
=Volume(A2)
Column F (P/E Ratio):
=PERatio(A2)
Column G (Dividend Yield):
=DividendYield(A2)
Column H (52-Week High):
=FiftyTwo_weekHigh(A2)
Column I (52-Week Low):
=FiftyTwo_weekLow(A2)
Column J (Sector):
=Sector(A2)
Copy all formulas down for each stock. You now have a live stock tracker in Google Sheets with real-time prices, key ratios, and dividend data. This is already more data than GOOGLEFINANCE can provide.
Step 3: Add Technical Indicators
Extend your stock tracker with technical analysis columns:
Column K (RSI):
=RSI(A2)
Column L (50-Day SMA):
=SimpleMovingAverage(A2, 50)
Column M (200-Day SMA):
=SimpleMovingAverage(A2, 200)
Column N (MACD):
=MACD(A2)
Now your Google Sheets stock tracker includes technical indicators that would take hours to calculate manually from GOOGLEFINANCE historical data.
Using Technical Indicators for Trading Signals
You can add conditional logic to flag trading signals:
- RSI below 30: Stock may be oversold (potential buy signal)
- RSI above 70: Stock may be overbought (potential sell signal)
- Price above 200-day SMA: Uptrend
- Price below 200-day SMA: Downtrend
- 50-day SMA crosses above 200-day SMA: Golden cross (bullish)
Use Google Sheets conditional formatting to highlight cells based on these rules. For example, set RSI cells below 30 to green and above 70 to red.
Step 4: Add Fundamental Data
Add columns for deeper fundamental analysis:
Column O (Revenue):
=Revenue(A2)
Column P (EBITDA):
=EBITDA(A2)
Column Q (Beta):
=Beta(A2)
Column R (Market Cap):
=MarketCap(A2)
Column S (Book Value):
=BookValuePerShare(A2)
For detailed financial statements, you can create a separate sheet with historical data:
=hf_revenue("AAPL", 2024)
=hf_revenue("AAPL", 2023)
=hf_revenue("AAPL", 2022)
=hf_net_income("AAPL", 2024)
=hf_free_cash_flow("AAPL", 2024)
Step 5: Add a Stock Summary Dashboard
Create a summary section at the top of your Google Sheets stock tracker:
Total stocks tracked: =COUNTA(A2:A100)
Average P/E: =AVERAGE(F2:F100)
Average Dividend Yield: =AVERAGE(G2:G100)
Top Gainer: Use =INDEX(A2:A100, MATCH(MAX(D2:D100), D2:D100, 0)) to find the stock with the highest daily gain.
Top Loser: Use =INDEX(A2:A100, MATCH(MIN(D2:D100), D2:D100, 0)) to find the stock with the biggest daily loss.
Step 6: Add Real-Time Data with QuoteMedia
For the most current stock prices in your Google Sheets stock tracker, use QuoteMedia functions:
=QM_Last(A2) // Real-time last price
=QM_Bid(A2) // Real-time bid
=QM_Ask(A2) // Real-time ask
=QM_ChangePercent(A2) // Real-time % change
=QM_ShareVolume(A2) // Real-time volume
QuoteMedia provides data from the same professional feeds used by trading platforms. This is the real-time stock data that GOOGLEFINANCE cannot deliver.
Step 7: Add Options Data (Optional)
If you trade options, add an options section to your stock tracker:
=QM_GetOptionChain(A2)
This pulls the full options chain for each stock, including bid, ask, volume, open interest, implied volatility, and all Greeks. You can track covered call opportunities, monitor your options positions, and analyze new trades, all within your Google Sheets stock tracker.
Sharing Your Google Sheets Stock Tracker
One of the biggest advantages of building a stock tracker in Google Sheets is sharing. You can:
- Share with your financial advisor so they can see your portfolio in real-time
- Collaborate with trading partners on a shared watchlist
- Present to clients if you are a financial advisor building client dashboards
- Access from any device including phones, tablets, and Chromebooks
MarketXLS data updates when anyone views the shared Google Sheet, so everyone sees current information.
GOOGLEFINANCE Stock Tracker vs MarketXLS Stock Tracker
| Feature | GOOGLEFINANCE Tracker | MarketXLS Tracker |
|---|---|---|
| Stock prices | 20-min delayed | Real-time via =Last() and =QM_Last() |
| Company name | Not available | =Name() |
| Sector | Not available | =Sector() |
| Dividend yield | Not available | =DividendYield() |
| P/E ratio | Basic | =PERatio() with more depth |
| Technical indicators | Manual calculation | =RSI(), =SimpleMovingAverage(), =MACD() |
| Fundamental data | PE + EPS only | 337 functions via hf_* |
| Options data | None | =QM_GetOptionChain() |
| Historical data | Limited | =QM_GetHistory() |
| Reliability | Frequent errors | Professional data feeds |
| Bid/Ask | Not available | =Bid(), =Ask(), =QM_Bid(), =QM_Ask() |
Frequently Asked Questions
How do I build a stock tracker in Google Sheets?
Install MarketXLS from the Google Workspace Marketplace. Enter stock symbols in column A, then use formulas like =Last(A2) for price, =ChangeinPercent(A2) for daily change, =DividendYield(A2) for dividends, and =RSI(A2) for technical indicators. Copy formulas down for each stock.
Can I get real-time stock prices in a Google Sheets tracker?
Yes. MarketXLS provides real-time stock prices via =Last() and =QM_Last(). GOOGLEFINANCE prices are delayed by 20 minutes and cannot be used for real-time tracking.
How many stocks can I track in Google Sheets with MarketXLS?
You can track as many stocks as your Google Sheets spreadsheet can handle. There is no artificial limit from MarketXLS. Most users track between 20 and 500 stocks.
Can I share my Google Sheets stock tracker with others?
Yes. Google Sheets native sharing works with MarketXLS formulas. Anyone you share the sheet with will see live data when they open it.
Does the stock tracker work on mobile?
Yes. Google Sheets works on iOS and Android. Your MarketXLS stock tracker will display current data on mobile devices through the Google Sheets app.
Summary
Building a stock tracker in Google Sheets with GOOGLEFINANCE gives you a basic watchlist with delayed data. Building a stock tracker with MarketXLS gives you a professional dashboard with real-time prices, dividend yields, technical indicators, fundamental data, and options analytics.
The setup takes about 10 minutes. Enter your symbols, add your formulas, and you have a live stock tracker in Google Sheets that updates automatically.
Get MarketXLS for Google Sheets | View Pricing | Install from Google Workspace