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()andreplaceAll(): Converts multi-select values into a countable text string before the rollup sees it. - Rollup property with
Count Allaggregation: 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.
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
- 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”. - Enter the formula
In the formula editor, paste this formula:length(replaceAll(prop("Your Multi-Select Property Name"), ",", ""))
ReplaceYour Multi-Select Property Namewith 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. - 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
- 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. - 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. - Select the formula property
Under Property, choose the formula property you created in Step 1 (e.g., “Multi-Select Count Helper”). - 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.
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.