Fix Notion Rollup Cannot Aggregate Multi-Select: Workaround Pattern
🔍 WiseChecker

Fix Notion Rollup Cannot Aggregate Multi-Select: Workaround Pattern

You have a Notion database with a multi-select property and want to use a rollup property to count or sum values from that field. Notion rollup properties cannot directly aggregate multi-select fields — the rollup will show “Cannot aggregate multi-select” as an error or return blank. This limitation exists because multi-select properties hold multiple values per cell, and Notion’s rollup engine expects a single numeric or text value for aggregation. This article explains the technical reason and provides a reliable workaround using a formula property plus a rollup.

Key Takeaways: Workaround for Multi-Select Rollup Aggregation

  • Formula property with length() and replaceAll(): Converts multi-select values into a countable text string before the rollup sees it.
  • Rollup property with Count All aggregation: Counts the number of items in the formula output, effectively counting selected options.
  • Workaround only works for counting, not summing numbers: You cannot sum numeric values stored in multi-select options; use a separate number property instead.

ADVERTISEMENT

Why Notion Cannot Aggregate Multi-Select Directly

A multi-select property in Notion stores an array of strings — each selected option is a separate value. When you create a rollup property that points to this multi-select field and choose an aggregation like Count All, Sum, or Average, Notion’s rollup engine expects a single value per cell. Because a multi-select cell contains multiple values, the engine cannot decide which value to use for the aggregation. The result is the error “Cannot aggregate multi-select” or an empty rollup cell.

The root cause is the data type mismatch. Rollup aggregation functions are designed for single-value fields such as text, number, date, or select (single-select). Multi-select is fundamentally an array type, and Notion does not provide a built-in array-to-single-value conversion for rollups. The workaround involves converting the multi-select values into a single text string using a formula property, then rolling up that formula output.

Workaround Steps: Count Multi-Select Options via Rollup

This workaround uses a formula property to transform the multi-select values into a countable string. Then a rollup property aggregates that formula output.

Step 1: Create a Formula Property

  1. Add a formula property to the source database
    Open the database that contains the multi-select property. Click the + icon in the last column header. Select Formula as the property type. Name it something like “Multi-Select Count Helper”.
  2. Enter the formula
    In the formula editor, paste this formula:
    length(replaceAll(prop("Your Multi-Select Property Name"), ",", ""))
    Replace Your Multi-Select Property Name with the exact name of your multi-select property. This formula removes commas from the comma-separated list of selected options and returns the length of the resulting string. The length effectively counts the number of characters, which corresponds to the number of selected options if each option is a single character. For options with multiple characters, use the formula below.
  3. Alternative formula for multi-character options
    If your multi-select options have more than one character each, use this formula instead:
    length(prop("Your Multi-Select Property Name")) - length(replaceAll(prop("Your Multi-Select Property Name"), ",", "")) + 1
    This calculates the number of commas plus one, which equals the count of selected options. For example, “Option A, Option B” has one comma, so the count is 2.

Step 2: Create a Rollup Property

  1. Add a rollup property in the target database
    In the database where you want the aggregated count to appear, click the + icon in the last column header. Select Rollup as the property type.
  2. Configure the rollup relation
    Set Relation to the relation that links to the source database (the one with the multi-select property). If no relation exists, create one first.
  3. Select the formula property
    Under Property, choose the formula property you created in Step 1 (e.g., “Multi-Select Count Helper”).
  4. Set aggregation to Count All
    Under Calculate, select Count All. This counts the number of rows in the related database that have a value in the formula property. Since every row with any multi-select option will have a numeric value, Count All returns the number of related rows — which matches the count of selected options only if each related row corresponds to one option.

Step 3: Verify the Rollup Result

After setting up the rollup, check a few rows. The rollup should display a number equal to the total count of multi-select options across all related rows. If the number seems off, double-check the formula property for typos in the multi-select property name.

ADVERTISEMENT

Limitations and Alternative Scenarios

Rollup Shows Zero or Blank

If the rollup returns zero or remains blank, the most likely cause is a mismatch in the relation. Ensure the relation property in the target database correctly links to the source database rows that contain the multi-select data. Also verify that the formula property is not empty for rows with multi-select values.

Cannot Sum Numeric Values from Multi-Select Options

This workaround only counts options. It cannot sum numeric values associated with multi-select options. For example, if you have options like “Low Priority (1)”, “Medium Priority (2)”, you cannot extract the numeric part and sum it via rollup. Use a separate number property for values you need to sum.

Rollup Returns Incorrect Count When Multi-Select Is Empty

When a row has no multi-select options selected, the formula returns 0. The rollup Count All aggregation counts rows, not the sum of the formula values. To get the total number of selected options across all rows, use Sum aggregation instead of Count All. In the rollup configuration, change Calculate to Sum. This sums the numeric values from the formula property across related rows, giving the exact count of selected options.

Workaround Comparison: Formula + Rollup vs Direct Rollup

Item Direct Rollup on Multi-Select Formula + Rollup Workaround
Aggregation type Count All, Sum, Average, etc Count All or Sum
Result Error or blank Count of selected options
Supports numeric sum No No
Requires additional property No Yes, formula property
Works with empty selections N/A Yes, returns 0

You can now count multi-select options using a rollup by converting the multi-select field into a countable text string with a formula. For accurate counts, use the Sum aggregation on the formula property. If you need to sum numeric values associated with multi-select options, create a separate number property in the source database and roll up that property instead. As an advanced tip, combine this pattern with a second formula that divides the count by the number of rows to get an average number of options per row.

ADVERTISEMENT