Unique values with multiple criteria
To extract a list of unique values from a set of data, while applying one or more logical criteria, you can use the UNIQUE function together with the FILTER function. In the example shown, the formula in D5 is:
which returns the 3 unique colors in group B with a quantity > 5.
How this formula works
This example uses the UNIQUE function together with the FILTER function. The FILTER function removes data that does not meet required criteria, and the UNIQUE function further limits results to unique values only.
Working from the inside out, the FILTER function is used to collect source data in group B with a quantity greater than 5:
FILTER(B5:B16,(C5:C16="b")*(D5:D16>5)) // group is b, qty over 5
Insider filter, the expression used for the include argument:
This is an example of using boolean logic to construct required logical criteria. The result is a boolean array like this:
This array is used to filter data, and the FILTER function returns another array as a result:
This array is returned to the UNIQUE function as the array argument. UNIQUE then removes duplicates, and returns the final array:
UNIQUE and FILTER are dynamic functions. If source data changes, output will update immediately.
Dynamic source range
Because ranges are hardcoded directly into the formula, they won't resize if source data is added or deleted. To use a dynamic range that will automatically resize when needed, you can use an Excel Table, or create a dynamic named range with a formula.