If you have a small dividend portfolio and don't want to commit to another app, a spreadsheet is a perfectly serious tracking tool. With an hour of setup it gives you current value, forward annual income, yield on cost, and monthly cash-flow history — everything most paid dividend trackers charge for.
This guide walks you through the columns to use, the live-price formulas, how to log incoming dividends, and — honestly — the point where you outgrow a sheet and a real tracker becomes worth it.
The 8-column Holdings tab
Open a new Google Sheet (or Excel workbook) and put these eight columns on the first row of a tab called Holdings:
| Column | Header | Formula / Input |
|---|---|---|
| A | Ticker | Manual: KO, JNJ, etc. |
| B | Shares | Manual |
| C | Cost / Share | Manual (your average buy price) |
| D | Total Cost | =B2*C2 |
| E | Current Price | =GOOGLEFINANCE(A2, "price") |
| F | Current Value | =B2*E2 |
| G | Annual Div / Share | Manual or =E2*GOOGLEFINANCE(A2,"yieldpct")/100 |
| H | Annual Income | =B2*G2 |
At the bottom of the sheet, add a TOTAL row with =SUM(D:D) for Total Cost, =SUM(F:F) for Current Value, and =SUM(H:H) for Annual Income.
Three extra columns that make it powerful
- I: Yield =
=H2/F2*100— current yield based on today's price. - J: Yield on Cost =
=H2/D2*100— the yield you locked in at purchase. Grows over time as dividends rise. See Yield on Cost. - K: Total Return % =
=(F2+SUMIFS(DividendLog!E:E,DividendLog!B:B,A2)-D2)/D2*100— total return including all dividends collected to date. Pulls from a second tab covered below.
The Dividend Log tab (monthly income history)
A second tab called DividendLog tracks every dividend you actually receive. Columns:
- A: Pay Date
- B: Ticker
- C: Shares Held
- D: Dividend / Share
- E: Total Received =
C*D - F: Account (Taxable / Roth / Traditional IRA)
Every time a dividend hits your brokerage account, add a row. Then on a third tab called Monthly, use =SUMIFS(DividendLog!E:E, DividendLog!A:A, ">="&DATE(2026,1,1), DividendLog!A:A, "<"&DATE(2026,2,1)) to get January totals; one per month. A pivot table works even better if you're comfortable with them.
Live-price formulas: GOOGLEFINANCE vs Excel Stock Types
Google Sheets and Excel handle live market data differently:
- Google Sheets (free):
=GOOGLEFINANCE("KO","price")gives a 20-minute delayed price. Also supports"yieldpct","changepct","volume", and"high52". Misses dividend frequency, ex-dates, and dividend safety metrics. Data sometimes flakes on ADRs. - Excel (Microsoft 365 only): Type a ticker, select the cell, and click Data → Stocks. Excel converts the cell into a rich Stock data type. You can then write
=A2.Price,=A2."52 week high", etc. Microsoft 365 personal/family subscriptions only — standalone Excel doesn't have it. - Older Excel / LibreOffice: No native option. Use a Python script with the
yfinancepackage to refresh a CSV, then import on a schedule. Functional but fragile.
The four things spreadsheets get wrong
Spreadsheets are great until they aren't. Watch for these failure modes:
- Stale dividend rates. GOOGLEFINANCE returns the most recent paid dividend, not the freshly announced rate. A company that just raised its dividend looks unchanged for 3 months in your sheet.
- Special dividends silently included. Costco's $15 special dividend in 2024 inflated "yieldpct" for months, making future annual income look wildly wrong. See special dividends in CAGR math.
- Dividend cuts not flagged. If AT&T cuts its dividend 47%, your sheet shows the new lower rate the next pay-date. You won't see the cut as a cut, just a quietly lower annual income figure that you might not notice for a quarter.
- No forward-looking safety signals. Spreadsheets don't know about payout ratio trends, FCF coverage, or the Dividend Triangle Score. Cuts often have 6–12 months of warning visible in fundamentals that a spreadsheet has no view into.
When to graduate from a spreadsheet
A spreadsheet is plenty if:
- You hold 1–5 tickers.
- Under ~$20K invested.
- You enjoy the manual upkeep of logging each dividend.
- You don't need forward-looking safety metrics or sector concentration warnings.
It starts breaking when:
- You add a 10th ticker and start missing dividend-rate updates.
- You hold positions across taxable, Roth, and Traditional IRA accounts and want unified reporting with per-account-type tax treatment.
- You want ex-dividend alerts, monthly income forecasts, sector / yield-trap warnings, or rebalancing tools.
- You want to share your portfolio publicly without exposing dollar amounts (privacy-toggled share pages).
Importing your spreadsheet into DiviDrip
DiviDrip is free and accepts both .xlsx and .csv. The recommended path uses the official DiviDrip template — paste your positions in, save, drop the file back in:
- On the Portfolio dashboard, open the Capital Tracker card and click Download .xlsx template.
- Open the workbook in Excel or Google Sheets and go to the Holdings tab. Required columns: Ticker (col A), Shares (col C), Cost / Share (col D). Optional: Purchase Date (col P, ISO YYYY-MM-DD).
- Save the workbook and click Import CSV / XLSX in the Capital Tracker card.
- The modal previews every row, flags any tickers DiviDrip doesn't recognise, and lets you choose Append (add to existing positions, multiple cost lots per ticker allowed) or Overwrite (wipe and replace, cash + watchlist preserved).
- Click Confirm Import. Full portfolio loads in seconds.
Already have a non-DiviDrip spreadsheet? Same flow with one extra step: export it to .csv first (Google Sheets: File → Download → Comma-separated values; Excel: Save As → CSV UTF-8), then drop the .csv into the same Import button. The modal accepts both extensions.
Once imported, DiviDrip auto-populates yield, dividend frequency, payout ratio, Triangle Score, monthly income forecast, sector concentration, and everything else — you stop maintaining the manual sheet from this point.
FAQ
- What columns do I need in a dividend tracking spreadsheet?
- The bare minimum is eight: Ticker, Shares, Cost Basis per Share, Total Cost, Current Price, Current Value, Annual Dividend Rate, and Annual Income. Add Yield (Annual Income / Current Value), Yield on Cost (Annual Income / Total Cost), Payout Frequency, and Sector and you have a fully functional tracker that competes with most paid apps.
- Can I get live stock prices in Google Sheets for free?
- Yes — Google Sheets has a built-in GOOGLEFINANCE() function. Use =GOOGLEFINANCE("KO", "price") for the current price, =GOOGLEFINANCE("KO", "yieldpct") for yield. There’s a 20-minute delay on stocks and the data quality is okay-not-great. Excel has STOCKHISTORY() and Linked Data Stock Types (Microsoft 365 only) which are more reliable. Both stop short on dividend frequency, ex-dates, payout ratio, and dividend history.
- How do I track dividend income over time in a spreadsheet?
- Add a separate tab called "Dividend Log" with columns Date, Ticker, Shares Held, Dividend per Share, Total Received, Source Account (Taxable / Roth / IRA). Every time a dividend lands, add a row. Use SUMIFS() to tally year-to-date income, monthly totals, and per-ticker totals. The downside: you have to manually log every payment, and ex-dividend / pay date mismatches make it easy to drop or double-count entries.
- What’s the biggest spreadsheet gotcha?
- Dividend rate stale-ness. GOOGLEFINANCE returns the dividend that was last paid — it doesn’t know about announced raises. A company that just raised from $1.00 to $1.10 still shows $1.00 in your sheet for 3 months until the next pay-date prints. Your forward annual income column will be silently wrong. Sheet-only trackers also miss special dividends, stock splits, and dividend cuts unless you notice and update manually.
- When is a spreadsheet enough vs when do I outgrow it?
- A spreadsheet is great for 1–5 holdings or under $20K invested. It breaks down when you have 10+ tickers (every announcement requires a manual update), multiple account types (the cross-account math gets ugly), or want forward-looking features like ex-dividend alerts, dividend triangle scores, or income forecasts. At that point DiviDrip’s free dashboard does in 30 seconds what takes 30 minutes in a sheet.
- Can I import my existing spreadsheet into DiviDrip?
- Yes — two ways. Easiest: download the DiviDrip .xlsx template from the Portfolio dashboard's tools menu, paste your holdings into the Holdings tab (Ticker in column A, Shares in C, Cost/Share in D, optional Purchase Date in P), then drop the .xlsx back into the Capital Tracker card's "Import CSV / XLSX" button — the same modal accepts both formats. Alternative: export your existing Google Sheet or Excel workbook to .csv and upload that. The modal previews every row and lets you choose Append vs Overwrite before commit.
Try it
If you've never tracked dividends in any way: build the 8-column Holdings tab above for your three biggest dividend holdings. Live for a month. When the manual logging starts to feel like a chore (and it will), open DiviDrip and add the same positions — the dashboard will populate annual income, monthly income forecast, yield on cost, sector concentration, and the Dividend Triangle Score for each holding within 30 seconds. The spreadsheet was a great first step; the dashboard is the version that scales.
