Notion Rollups: How They Work, Where They Stop, and the Workaround (2026)

By Leandro Zubrezki8 min read
Notion Rollups: How They Work, Where They Stop, and the Workaround (2026)

Notion rollups in short: a rollup is a property that reaches across a relation and summarizes the related pages, like the total hours of a project's tasks or the percentage that are done. They are free on every plan, update on their own, and cover most simple totals. They also stop hard: one calculation per rollup, no rollup of a rollup, no cross-tabulation. This guide sets one up, lists every calculation, shares the tricks that stretch them, and shows what to do when you hit the ceiling.

What a rollup does

Notion databases connect through relations. A relation only says which pages are linked. A rollup reads a property on those linked pages and reduces it to one value per row.

Three examples that cover most real uses:

  • Projects roll up Tasks. Sum of Hours gives the project's estimate. Percent checked on Done gives a progress bar.
  • Clients roll up Invoices. Sum of Amount gives lifetime revenue. Latest date on Paid gives the last payment.
  • Courses roll up Lessons. Count all gives the number of lessons. Show original on Title lists them inline.

Rollups recalculate when a related page changes, so they behave like a live summary rather than a snapshot.

How to create a rollup

You need a relation first. If the two databases are not connected yet, add a Relation property on one of them and pick the other database. Then:

  1. On the database that should show the summary, add a new property and choose Rollup as the type.
  2. Under Relation, pick the relation to follow.
  3. Under Property, pick which property of the related pages to read.
  4. Under Calculate, pick how to reduce it (see the full list below).
  5. For numbers, set the format: plain number, percent, currency, or a progress bar or ring.

The property fills in for every row immediately. Rename it to what it means ("Total hours", not "Rollup 1"), because in a month nobody will remember.

Every rollup calculation, and when to use it

Rollups offer a fixed menu of calculations. Which ones appear depends on the type of the property you are reading.

CalculationWorks onTypical use
Show originalAnyList the related titles, tags, or people inline
Show unique valuesAnyDeduplicated list of tags across related pages
Count all / Count values / Count unique valuesAnyNumber of related pages, or of filled cells
Count empty / Count not emptyAnyHow many related pages are missing a field
Percent empty / Percent not emptyAnyData completeness per row
Checked / Unchecked / Percent checkedCheckboxCompletion progress, shown as a bar or ring
Sum / Average / Median / Min / Max / RangeNumberTotals, budgets, scores
Earliest date / Latest date / Date rangeDateProject start and end, last activity

Two things to know about the numeric options. Rollups can only be sorted when they output a number, so a Show original rollup cannot drive a sort. And a rollup shows its result with the number format you choose, but the underlying value is what formulas see.

Four tricks that stretch rollups further

1. Roll up a formula instead of a raw property

The rollup menu is short, but the property it reads can be a formula, and formulas can do almost anything. Want the sum of Hours only for tasks tagged Billable? Add a formula on Tasks: if(prop("Billable"), prop("Hours"), 0). Roll up that formula with Sum. This is the standard way to get a filtered rollup, since rollups have no filter of their own.

2. Use a formula to read the rollup

A rollup is a fine input for a formula on the same row. prop("Total hours") / prop("Budget hours") gives a utilization ratio. prop("Latest payment") compared with now() flags overdue clients. Anything a rollup cannot express in one step, a formula reading it usually can.

3. Chain across two relations with a helper formula

Notion refuses a rollup of a rollup. To get task hours up to the client level (Clients, then Projects, then Tasks), add a formula on Projects that returns the Total hours rollup as a number, then on Clients roll up that formula with Sum. One helper property per hop. It works, and it gets fragile past two hops.

4. Turn a percentage into a progress bar

On a Percent checked or any number rollup, open the property settings and choose Bar or Ring under Show as. It costs nothing and it is the single most-used rollup in project templates.

Where rollups stop

Rollups are the right tool for a single summary per row. These are the walls people run into next, and none of them have a native fix:

  • One calculation per rollup. Hours per project is fine. Hours per project per assignee per month needs a cross-tab, and Notion has none. You end up with a rollup per assignee and a new one every time someone joins.
  • No rollup of a rollup. Every extra hop needs a helper formula on the middle database, and helper formulas multiply with every metric you add.
  • No filtering, except through formulas. Every "only the ones that" question becomes another formula property on the related database.
  • No joins. Rollups only follow relations that someone created by hand, page by page. Matching records on a shared value like an email or an order number is not possible.
  • Read-only. You cannot type into a rollup, and nothing outside Notion can push a value into one.
  • Grouping stays shallow. Table views group by one property; boards add a subgroup. Two dimensions with a calculation is out of reach.

If none of these bother you, rollups are enough. If you nodded at one, the practical route is a spreadsheet, and the good news is you do not have to give up Notion to get one.

The workaround: keep rollups in Notion, analyze in Google Sheets

Sync2Sheets mirrors Notion databases into Google Sheets in real time and keeps the structure you built. Relation cells arrive as links to the connected pages. Rollups and formulas arrive as their computed values and stay current as Notion changes. Because they are read-only in Notion, Sync2Sheets sets those columns to Notion to Sheets automatically, so nothing in the sheet can overwrite them.

  1. Install Sync2Sheets from the Google Workspace Marketplace and connect your Notion workspace.
  2. Sync each database in the chain (Clients, Projects, Tasks) to its own tab in the same spreadsheet.
  3. Join the tabs with XLOOKUP or QUERY on the Page ID column every synced tab includes. That is the join Notion cannot do.
  4. Build a pivot table for hours per project per assignee per month, and a chart if you want to see it. Filters, multiple dimensions, and rollups of rollups are all four clicks.

Two details worth knowing. When a related page changes, the rollup on the parent page changes without an edit event on the parent, so on rare occasions the sheet can lag; a full database scan (Advanced and Business plans) refreshes every row on demand. And if the team wants the result without leaving Notion, push a summary range back as a table block or embed the chart in the page.

Rollups vs the alternatives

RollupFormula reading a rollupView calculationGoogle Sheets sync
Where it livesProperty, per rowProperty, per rowBottom of a table viewSpreadsheet, results can sync back
Reaches across relationsOne hopOne hop, via the rollupNoAny number of tabs
Filtered totalsThrough a helper formulaYesFollows the view filterYes
Two-dimensional summariesNoNoNoPivot tables
Reusable in other propertiesYesYesNoYes, after syncing back
CostFreeFreeFreeFrom $12/mo

Start with rollups. They are the cleanest way to get a total onto a Notion page, and the four tricks above cover more ground than most people expect. When the questions get bigger than one calculation per row, sync the databases to Google Sheets and ask them there, while Notion stays the place where the data is entered.

Frequently asked questions

What is a rollup in Notion?

A rollup is a database property that looks across a relation and summarizes a property of the related pages. A Projects database with a relation to Tasks can roll up the tasks' Hours as a sum, their Done checkbox as a percentage, or their Due dates as the latest date. It updates automatically as the related pages change.

Why can't I create a rollup of a rollup in Notion?

Notion does not allow it; its help center says a rollup reading another rollup could create unintended loops. A rollup can read regular properties and formulas on the directly related pages, but not another rollup. To chain data across two relations you add a formula property on the middle database that copies the rollup value, then roll up that formula.

Can I filter a Notion rollup?

A rollup summarizes every related page. To count or sum only some of them, either create a second relation that only links the pages you want, or add a formula on the related database that returns the value when a condition is met and zero otherwise, then roll up the formula.

Can I sum a column in Notion without a rollup?

Yes. At the bottom of any table view, hover under a number column and click Calculate to show a sum, average, min, max, or count for the visible rows. That is a view total, not a property, so you cannot use it in formulas or show it on another page. For a total you can reuse, you need a rollup or a spreadsheet.

Do Notion rollups sync to Google Sheets?

Yes. Sync2Sheets brings rollups into Google Sheets as their current values and keeps them updated. Because rollups are read-only in Notion, the column is set to Notion to Sheets automatically, so nothing in the sheet can overwrite them. On the Advanced and Business plans, run a full database scan after changing a rollup's definition to refresh every row at once.

Sync Notion to Google Sheets in real time

Use Sheets formulas in Notion, build dashboards, back up your databases, and compare tools. Free 7-day trial.