Guide
How to migrate from Excel or Google Sheets to Notion: from tracker to relational system
Migrate from Excel or Google Sheets to Notion: split the sheet into related databases, import by CSV, and turn lookups and SUMIFs into relations and rollups.
By Raghav R Handa, practising lawyer17 min read
TL;DR
- A spreadsheet is one flat table. A Notion system is several related tables. The work is splitting the sheet into entities (matters, contacts, time) and relating them.
- Clean first: one row per thing, one fact per cell, consistent names, real dates.
- Lookups become relations, SUMIFs become rollups, pivot tables become grouped views, data validation becomes select properties.
- Keep spreadsheets for heavy calculation and one-off analysis; keep Notion as the system of record.
A spreadsheet is one flat table; a Notion system is several related tables. The migration is therefore mostly a modelling job: split the sheet into its real entities (matters, contacts, time entries, deadlines), clean each, import them, and relate them. Lookups become relations, SUMIFs become rollups, and pivot tables become grouped views. Why it is worth doing is in Notion vs Excel for lawyers. This guide gives the modelling method, a cleaning recipe, a translation table, a worked example and a checklist.
Step 1: find the entities
Read your sheet's columns and ask what each is about. A matter tracker with columns Client, Matter, Hours, Deadline, Status probably hides three things: contacts, matters and time. Each becomes its own database.
| Sheet column | What it is really about | Goes to |
|---|---|---|
| Client, Client email | A person or company | Contacts |
| Matter, Status, Opened | A piece of work | Matters |
| Hours, Date worked | A block of time | Time entries |
| Deadline, Deadline type | A date that matters | Deadlines |
| Notes | A running record | Page content on Matters |
A worked example: one tab becomes four databases
Imagine a single tab with one row per time entry, repeating client and matter details each time:
| Client | Matter | Status | Date | Hours | Next deadline |
|---|---|---|---|---|---|
| Acme Ltd | Lease dispute | Open | 2026-09-03 | 1.5 | 2026-10-20 |
| Acme Ltd | Lease dispute | Open | 2026-09-05 | 0.8 | 2026-10-20 |
| Beta LLP | Contract review | Open | 2026-09-05 | 2.0 |
The same data, modelled: Contacts has two rows (Acme Ltd, Beta LLP); Matters has two rows (Lease dispute for Acme, Contract review for Beta); Time entries has three rows each pointing at a matter; Deadlines has one row pointing at the lease dispute. Now the client name is typed once, a typo is fixed once, and totals come from rollups.
Step 2: clean the sheet
- One row per thing; no merged cells or blank spacer rows.
- One fact per cell; split "Smith / Jones" into two rows or a relation.
- Consistent names: "Acme Ltd" and "ACME Limited" must match.
- Real dates, not text; one date format.
- Remove old and closed rows to a separate archive sheet.
- Give each entity a unique key (a matter number, a contact name) so relations can match.
| Problem | Fix in the spreadsheet |
|---|---|
| Extra spaces and odd capitalisation | Use TRIM and PROPER (or equivalents) in a helper column, then paste values |
| Dates stored as text | Convert with DATEVALUE or by formatting; verify a sample |
| Several values in one cell | Split to columns or rows (Text to Columns, or SPLIT in Google Sheets) |
| Duplicate clients with variant names | Build a unique list and a mapping table; replace variants with the canonical name |
| Mixed units (hours and minutes) | Convert to decimal hours |
| Blank rows and notes in the middle | Delete or move to a notes column |
Step 3: import and convert
- Save each cleaned sheet as CSV (UTF-8) and import it as a database, contacts first.
- Change property types: Status to Select, Date to Date, Hours to Number, Person columns to Person where appropriate.
- Convert columns that name another entity (Client on Matters) to relations to the right database, checking that names match.
- Add rollups: hours per matter, value per matter, next deadline per matter.
- Check on five rows before trusting it, then reconcile totals.
Translating spreadsheet habits
| In the spreadsheet | In Notion |
|---|---|
| VLOOKUP / XLOOKUP | A relation to the other database, plus a rollup to bring a value across |
| SUMIF / SUMIFS | A rollup (sum) of related rows, with a filter |
| COUNTIF | A rollup (count) of related rows |
| Pivot table | A grouped or filtered view, or a chart |
| Conditional formatting | Select colours and filtered views |
| Data validation drop-downs | Select properties |
| Separate tabs | Separate related databases |
| Named ranges | Properties and views |
| IF formulas | Formula properties |
| Filter and sort buttons | Views, saved and shareable |
| Cell comments | Comments on pages or properties |
See relations and rollups and seven formulas every lawyer should know.
What a spreadsheet does better, and how to live with both
- Heavy financial modelling and what-if analysis.
- One-off calculations and quick ad hoc sorting.
- Anything a bookkeeper or accountant needs in that format.
A clean pattern: Notion is the system of record; export a view to CSV when you need to do analysis elsewhere, and never edit the data in two places.
Validation checklist
| Check | Pass |
|---|---|
| Row counts match, by entity | Equal or explained |
| Totals (hours, value) match by matter | Equal |
| Twenty records match field by field | No discrepancies |
| Relations resolve (no orphans) | No unmatched clients or matters |
| Dates are real dates and correct | Sampled and correct |
| Duplicates removed | Unique keys are unique |
Parallel run and switch-off
- Freeze the spreadsheet (read-only copy) on the go-live date.
- Enter all new work only in Notion for two to four weeks.
- Compare your weekly totals with what the spreadsheet would have shown, using a copy.
- Archive the spreadsheet with the date; keep it as long as your retention rules require.
Common mistakes
- Importing the flat sheet as one database and calling it done.
- Skipping the cleaning, then fighting duplicate clients forever.
- Editing in both places during the transition.
- Rebuilding spreadsheet formulas instead of using relations and rollups.
Next steps: matter management, billable hours and the best way to use Notion for lawyers.
Frequently asked questions
How do I import an Excel spreadsheet into Notion?
Save the sheet as CSV (or import from Google Sheets), and import it into Notion as a database. Clean the data first: one row per item, consistent names, and multi-value cells split out. Then convert columns to the right property types and add relations.
What replaces VLOOKUP and SUMIF in Notion?
Relations replace lookups: link a row to the row it refers to. Rollups replace SUMIF, SUMIFS and COUNTIF: total or count the related rows. Grouped and filtered views replace many pivot tables.
What is a spreadsheet still better at?
Heavy calculation, financial modelling, one-off analysis and quick ad hoc sorting. Many firms keep a spreadsheet for these and use Notion as the system of record.
How do I split one sheet into several databases?
Identify the entities hiding in the columns (a client, a matter, a time entry), give each its own sheet with a unique key, and replace repeated values with references. Then import each as a database and relate them.
What about formulas that depend on cell positions?
Notion formulas refer to properties, not cell addresses, so you rewrite them. Most spreadsheet formulas become simpler: a rollup or a formula on named properties.
Will my formatting and colours carry over?
No, not as such. Replace colour coding with select properties (which can be coloured) and filtered views, which are more reliable than manual formatting.
How long does a spreadsheet migration take?
A simple tracker can move in an afternoon. A multi-tab workbook with years of data takes longer, mostly in cleaning. Plan a parallel run of a few weeks.
Should I delete the spreadsheet afterwards?
Archive it, read-only, with the date. Keep it for as long as your retention rules or a reasonable audit trail require, then delete.
Related guides
- How to migrate from Clio to Notion: a step-by-step plan with a field map
- From Word documents and folder chaos to a matter database in Notion
- Should you leave your practice-management software? A twelve-question test and an exit plan
- The ABA Model Rules applied to cloud tools and AI: what each rule asks of a lawyer