Log buys and sells, then add historical market reference prices for comparison with your transaction records. Keep your actual execution prices and fees.
The hardest part of a crypto tax sheet isn't the maths — it's finding the price of each coin on the exact date you bought or sold it. The free CryptoTrackPro add-on does that with a single formula: =cryptotrackproPrice("BTC","2024-03-01") requests a historical reference for that day. It is usually a daily close for supported exchange candles; fallback methodology can differ. A daily reference is not your execution price. Record the actual price, amount paid or received, and fees from your exchange statements.
| Date | Type | Asset | Units | Price on date | Total value |
|---|---|---|---|---|---|
| 2024-03-01 | Buy | BTC | 0.25 | $62,400 | $15,600 |
| 2024-07-12 | Buy | ETH | 3 | $3,120 | $9,360 |
| 2025-01-20 | Sell | BTC | 0.10 | $104,200 | $10,420 |
| 2025-05-04 | Sell | ETH | 1 | $2,980 | $2,980 |
Prices shown are examples. In your sheet the Price on date and Total value columns are formulas.
Install CryptoTrackPro, then use the formulas below to backfill historical prices. Free plan, no API key, no card.
Install free from Google WorkspaceBTC) in column C.=cryptotrackproPrice(C2, TEXT(A2,"yyyy-mm-dd")) — the TEXT() wrapper turns a real date cell into the format the add-on expects.=D2*E2 — drag down.=cryptotrackproPrice(C2, TEXT(A2,"yyyy-mm-dd"), "EUR").This produces a dated reference table. Preserve your actual fills, fees and source records in separate columns; do not overwrite them with daily reference prices.
The formulas above provide reference data, not a completed tax calculation. Your actual transaction amounts, fees, transfers and applicable accounting method need separate treatment.
Use the sheet alongside your original exchange records when preparing information for an accountant or tax software. A historical market quote alone does not establish your cost basis or proceeds.
No — and no honest spreadsheet should, because the rules depend on where you live. It helps organise transactions and add historical reference prices. Use actual transaction records for execution prices, proceeds and fees.
Yes — add the currency as the third argument, e.g. =cryptotrackproPrice("BTC","2024-03-01","GBP").
Coverage depends on the asset, date and available source. Supported exchange candles usually provide a daily close; older-date and other fallbacks can use different reference methods. See the historical price guide for date formatting and limitations.
See also: crypto portfolio template → · investment tracker → · historical price formulas →