Skip to content

Instantly share code, notes, and snippets.

@RussellBishop
Last active November 1, 2021 20:10
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save RussellBishop/153d70be56ec5d8983439b6d9cf1279f to your computer and use it in GitHub Desktop.
Save RussellBishop/153d70be56ec5d8983439b6d9cf1279f to your computer and use it in GitHub Desktop.
airtable-count-unique-array-rollup
IF((values),
LEN(
IF(
FIND(",", ARRAYJOIN(ARRAYUNIQUE(values), ",")&"") = 1,
SUBSTITUTE(ARRAYJOIN(ARRAYUNIQUE(values), ",")&"", ",", "", 1),
IF(
FIND(",", ARRAYJOIN(ARRAYUNIQUE(values), ",")&"", LEN(ARRAYJOIN(ARRAYUNIQUE(values), ",")&"") - 1),
LEFT(ARRAYJOIN(ARRAYUNIQUE(values), ",")&"", LEN(ARRAYJOIN(ARRAYUNIQUE(values), ",")&"") - 1),
ARRAYJOIN(ARRAYUNIQUE(values), ",")&""
)
)
)
-
LEN(SUBSTITUTE(
IF(
FIND(",", ARRAYJOIN(ARRAYUNIQUE(values), ",")&"") = 1,
SUBSTITUTE(ARRAYJOIN(ARRAYUNIQUE(values), ",")&"", ",", "", 1),
IF(
FIND(",", ARRAYJOIN(ARRAYUNIQUE(values), ",")&"", LEN(ARRAYJOIN(ARRAYUNIQUE(values), ",")&"") - 1),
LEFT(ARRAYJOIN(ARRAYUNIQUE(values), ",")&"", LEN(ARRAYJOIN(ARRAYUNIQUE(values), ",")&"") - 1),
ARRAYJOIN(ARRAYUNIQUE(values), ",")&""
)
)
, ",", "")) + 1)
@RussellBishop
Copy link
Author

RussellBishop commented Mar 25, 2020

Note: This returns BLANK() for any empty rollup. If you'd prefer it to return 0, replace the final ) with , 0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment