Extract common values from two lists
To compare two lists and extract common values, you can use a formula based on the FILTER and COUNTIF functions. In the example shown, the formula in F5 is:
How this formula works
The FILTER function accepts an array of values and an "include" argument which filters the array based on a logical expression or value.
COUNTIF is set up with list2 as range, and list1 as criteria. Because we give COUNTIF eleven criteria values, COUNTIF returns eleven results in an array like this:
Notice the 1's correspond to items in list2 that appear in list1.
This array is delivered directly to the FILTER function as the "include" argument:
The FILTER function filters list1 using the values provided by COUNTIF. Values associated with zero are removed; other values are preserved.
The final result is an array of values that exist in both lists, which spills into the range F5:F11.
In the above formula, we use the raw results from COUNTIF as the filter. This works because Excel evaluates any non-zero value as TRUE, and zero as FALSE. If COUNTIF returns a count greater than 1, the filter will still work properly.
To force TRUE and FALSE results explicitly, you can use ">0" like this:
Remove duplicates or sort
To remove duplicates, just nest the formula inside the UNIQUE function:
To sort results, nest in the SORT function:
List values missing from list2
To output values in list1 missing from list2, you can reverse the logic like this: