Lifetime Deal Complete Personal Financial Planning Bundle →
✓ Financial Planning✓ Net Worth Tracker✓ Monthly Budgeting✓ Travel Budget Planner✓ Annual Budgeting Planner✓ Monthly Expense Tracker✓ Annual Tax Planner✓ Retirement Planning
View Bundle →

Investment Portfolio Tracker (Excel, With Dividend Log and ROI)

Stock portfolio tracker spreadsheet with holdings and dividend log visible

An investment portfolio tracker spreadsheet is built from three parts: Holdings (one row per position with shares, cost basis, and current value), a dividend log (one row per payment), and a performance view (cumulative ROI and portfolio totals). Return is (current value + dividends - cost) / cost, or XIRR when you want to account for the timing of contributions. Our Excel template covers this in two tiers: $19 Essentials, with a Holdings sheet feeding a value, return, and allocation dashboard, or $29 Ultimate, which adds a Dividends sheet with annual income and yield per holding, sector allocation targets with rebalancing variance, and a year-over-year performance view.

The portfolio tracker is the spreadsheet that long-term investors reach for most often. Brokerage statements show the current snapshot; the spreadsheet shows the history, the dividend pattern, and the performance attribution. This post covers the column structure, the formulas that matter, and the workflow for keeping it current. If you would rather start from a finished file, our Investment Portfolio Tracker Essentials template ($19) ships the Holdings sheet and dashboard already wired.

What the tracker needs to do

Five jobs.

  1. List every position with cost basis and current value. This is the table.
  2. Log every dividend received. For dividend tracking and total return calculation.
  3. Calculate cumulative ROI per position. Both price appreciation and dividend yield.
  4. Aggregate portfolio totals. Total cost, total value, total return.
  5. Make broker statements importable without manual re-typing. CSV paste workflow.

That’s it. Charting, asset allocation, sector breakdown are all extras that can sit on a dashboard but aren’t required for the core function.

The Holdings sheet

One row per position. Columns:

ColumnExampleNotes
TickerVTIOr fund name
AccountVanguard taxableHelps when you have multiple accounts
Shares124.5Including fractional
Cost basis (total)22,800What you paid for all shares combined
Avg cost per share=Cost basis / SharesCalculated
Current price245.30Manual update or formula
Current value=Shares * Current priceCalculated
Unrealized gain/loss=Current value - Cost basisCalculated
Percent return (price only)=(Current value - Cost basis) / Cost basisCalculated
Annualized returnXIRR-basedOptional

The Current price column is where most trackers handle either manual updates (you type in a price weekly) or formula-based pulls. Google Sheets has GOOGLEFINANCE, which can pull quotes with =GOOGLEFINANCE("VTI","price"), though those quotes are delayed rather than real-time. Excel has no direct formula equivalent; the built-in Stocks data type in Microsoft 365 or a Power Query pull fills the same role.

For most users, manual updates weekly or monthly are easier than wrestling with live data feeds. The portfolio doesn’t change second-to-second; weekly is sufficient for tracking.

The Dividends sheet

One row per dividend received. Columns:

ColumnExample
Date paid2026-03-31
TickerVTI
AccountVanguard taxable
Amount87.20
Per-share0.70
DRIP?Yes
NotesQ1 2026 distribution

Why log dividends separately instead of relying on broker statements? Two reasons. First, dividend totals across accounts are tedious to assemble at tax time without a single log. Second, total return (price appreciation plus dividend yield) is the right measure of investment performance, and you can’t calculate it without the dividend log.

Most brokers export dividends as a CSV for any date range. A monthly paste into the Dividends sheet keeps it current.

The Performance sheet

Read-only. Pulls from Holdings and Dividends and produces:

  • Total portfolio value (sum of Current value column)
  • Total cost basis (sum of Cost basis column)
  • Unrealized gain/loss (total value minus total cost)
  • Total dividends YTD (sum of Dividends sheet for current year)
  • Total dividends LTM (last twelve months)
  • Total return YTD = (current value plus YTD dividends - prior year-end value) / prior year-end value
  • Total return since inception (XIRR across all cash flows)

The XIRR calculation is the gold-standard performance measure because it accounts for the timing of contributions and dividends. The formula in Google Sheets:

=XIRR(cash_flows_range, dates_range)

Where cash flows are negative for contributions, negative for dividends reinvested, and positive for current value (as if you sold today). Dates are the corresponding transaction dates.

This is more accurate than simple “current value minus cost basis divided by cost basis” because it factors in when you put money in.

To sketch a return before wiring up the sheet, the investment returns calculator below takes what you put in, the current value, the years held, and any dividends, then reports ROI, total return, and the compound annual growth rate.

A worked example

Dana has a small taxable portfolio. Her Holdings sheet:

TickerAccountSharesCost basisCurrent priceCurrent valueGain/lossPercent
VTIVanguard78.418,200245.3019,2311,0315.7%
VXUSVanguard102.16,40064.806,6162163.4%
VTEBVanguard156.78,30051.108,007-293-3.5%
Total32,90033,8549542.9%

Dividends logged this year: $412. Total return including those dividends: $954 + $412 = $1,366. Against the $32,900 cost basis, that is 4.1 percent. Note this measures return since purchase, not a calendar-year figure; a true year-to-date number compares against the prior year-end value, which is what the Performance sheet does.

She updates current prices weekly, dividends monthly, and reviews the Performance dashboard quarterly. Total time: about 90 minutes a year for a small portfolio.

Where the spreadsheet helps that the broker doesn’t

Cross-broker view. If you have positions at Vanguard, Fidelity, and a 401(k) at Schwab, no single broker shows the consolidated view. The spreadsheet does.

Historical dividend yield. Brokers often show last 12 months. A spreadsheet shows whatever range you’ve logged.

Total return vs price-only return. Brokers often default to price-only. The spreadsheet calculates true total return including dividends.

Tax-lot detail for selling decisions. The spreadsheet can hold tax-lot rows (date acquired, shares, cost) to identify which lots to sell for tax-loss harvesting. Some brokers expose this; many don’t, especially for old positions.

Where the spreadsheet doesn’t help

Live prices. Brokers show live; spreadsheets show last-updated. For long-term investors this doesn’t matter; for active traders it’s a deal-breaker.

Tax document generation. Brokers send 1099-DIV, 1099-INT, and 1099-B forms at year end. The spreadsheet doesn’t produce these, so broker documents are still required for filing. It helps cross-check the numbers and pull deduction-relevant figures, but it doesn’t replace the forms.

Cost basis for old positions. Brokers have only been required to report cost basis on stock acquired after 2010 (mutual fund and dividend-reinvestment shares after 2011), so for older lots the basis may be blank and has to be reconstructed. The spreadsheet is a place to record what you find, not a way to find it.

The broker CSV import workflow

Most brokers let you download a transaction CSV. The workflow:

  1. In the broker portal, open Transaction History or Account Activity.
  2. Filter to the date range you want (typically last month or YTD).
  3. Export as CSV.
  4. Open the CSV in Excel or Sheets.
  5. Filter to dividend rows (transaction type = “DIV” or similar).
  6. Copy the relevant columns (date, ticker, amount).
  7. Paste into the Dividends sheet of the tracker.
  8. For new buy/sell transactions, update the Holdings sheet with new share counts and adjusted cost basis.

10 minutes a month if you do it consistently. Two hours if you wait until December. Consistency wins.

What our paid template adds

The Investment Portfolio Tracker Essentials template is $19 and includes:

  • A Holdings sheet that takes ticker, name, shares, average cost, and current price, then calculates market value, gain or loss, and percent return
  • Total value, total gain, overall percent return, and a count of active positions across the top of the dashboard
  • A portfolio allocation pie chart broken down by holding
  • Twenty holding rows out of the box, with a totals row underneath them
  • A currency picker on the dashboard that switches the symbol shown in the labels, without converting the underlying numbers
  • Excel format that also opens in Google Sheets and LibreOffice Calc

Investment Portfolio Tracker Essentials dashboard showing total value, total gain, percent return, and a portfolio allocation pie chart by holding Investment Portfolio Tracker Essentials ($19 tier): holdings roll up into total value, gain, return, and an allocation pie chart.

The Ultimate tier is $29 and adds separate sheets for the rest: a Dividends sheet that reads each position’s annual dividend per share and reports income and yield per holding, an Allocation sheet with sector targets and rebalancing variance, a Performance sheet comparing sector value against the two prior years, and room for up to 50 holdings.

Investment Portfolio Tracker Ultimate dashboard showing dividend income and yield tiles plus a sector breakdown table with target percentages and variance Investment Portfolio Tracker Ultimate ($29 tier): dividend income and yield tiles, plus a sector breakdown with target allocation and variance for rebalancing.

If you would rather build it from scratch, the structure above is reproducible in about 90 minutes. People who track manually for a few months often end up wanting a finished file anyway, and the $19 tier saves the rebuilding effort.

Two extensions worth considering

Two small additions that regular users tend to make:

A “tax location” tag per holding. A single column noting whether a position sits in a taxable or tax-advantaged account. It makes asset-location questions easier to see at a glance, for example which accounts hold the bond funds versus the equity funds.

A “rebalance check” cell. With a target allocation entered, say 70 stocks / 25 bonds / 5 cash, a cell calculates the current drift from target. Conditional formatting can turn it red once drift passes whatever threshold you set, which changes rebalancing from a calendar chore into a visual cue.

Both are a handful of cells and a noticeable change in usefulness. The Ultimate template builds the rebalancing version in with its sector target and variance columns.

Where to go next

If the three-part structure is what you want without building it, the Investment Portfolio Tracker Essentials ($19) is the starting point, and the Ultimate tier ($29) adds the dividend income view and sector rebalancing covered above.

To fit a portfolio into the wider picture, two related files help:

  • Financial Planning Spreadsheet: assets across 15 types, debts, monthly cash flow, and a projection that runs out to an end year you set.
  • Net Worth Tracker: a monthly asset and liability log with net worth over time, liquidity and allocation breakdowns, and milestone tracking, where portfolio value becomes one line among all your assets.

Frequently asked questions

Do I need to update prices live?

No. Weekly is sufficient for long-term investors. Monthly is fine if you mostly hold index funds. Live prices matter for active traders, who probably need a different tool altogether.

Should I track each broker separately or consolidated?

Both. One workbook with an Account column lets you filter to a single broker view while still showing the portfolio-wide total. Our own templates do not ship that column, so adding one next to the ticker is the change to make if a per-broker view matters to you.

How does the tracker handle stock splits?

Manually. When a 4-for-1 split happens, you multiply shares by 4 and divide cost basis per share by 4 (total cost basis stays the same). Add a note in the row. Most brokers handle the split automatically in their statements; the spreadsheet needs a manual reconciliation that day.

What about crypto?

Same structure. One holding per coin, one row per dividend (rare for crypto), price updates manually or via Apps Script for live data. Many users keep a separate sheet for crypto because the dynamics differ from equities; that's a personal call.

Is the tracker tax-aware?

The basic version isn't. It records average cost per share and current value rather than the individual lots, so lot-level selling decisions still come off the broker's records. For full tax preparation, broker 1099 forms are still required. The Annual Tax Planner covers investment income alongside the rest of a tax year, which complements this.

Does GOOGLEFINANCE work in Excel?

No. GOOGLEFINANCE is a Google Sheets function only. In Excel the closest equivalent is the built-in Stocks data type in Microsoft 365, or a Power Query pull from a data source. Prices from either refresh on demand rather than tick by tick, and GOOGLEFINANCE quotes are themselves delayed.

How many holdings can one spreadsheet track?

A plain sheet has no real row limit; readability is the constraint once you pass a few dozen positions. The Essentials template ships with 20 holding rows, and the Ultimate template is laid out for up to 50 holdings with a sector breakdown, so larger portfolios stay legible.

Sources

About this article

Template sheets, inputs and outputs checked on 2026-09-10 against the shipped Investment Portfolio Tracker Essentials workbook (Dashboard, Holdings, How to Use) and the Ultimate workbook (Dashboard, Holdings, Performance, Dividends, Allocation, How to Use). Cost-basis reporting years and year-end tax forms verified against the IRS Form 1099-B instructions and IRS form pages. Last reviewed September 2026.

Ready to get started?

Download instantly and start managing your finances, or contact us to design a custom template package for your needs.

Private & secure

Your financial data stays on your device. We never see it.

Learn more →

Need help?

Check our guides or reach out with questions.

View FAQ →