I have a list A of strings and I want to see if and if yes in how many rows each string is represented in range B. My data looks something like this:
List A:
E
1 aaa
2 bbb
3 ccc
Range B:
A B C
1 aaa --- ---
2 bbb ccc bbb
3 aaa --- ---
My desired result would be that in list A for "aaa" it would tell me 2, for "bbb" 1 and for "ccc" 1. Have been trying to do this with the below array formula but it doesn't seem to be working:
=SUM(IF(COUNTIF(Range B,List A($A1)>0,1,0))
In the following image
B
is the name for the rangeA1:C4
. In F1 (next to the first element in your listA
), enter:(entered with Ctrl + Shift + Enter) and copy down.
It should be flexible enough to handle a
B
which grows to more rows and columns.There have already been some great answers posted here, but I thought I would add one more. If you are working with a large data set, this formula could come in handy in terms of speed. You can place the formula in F1 (See image below) and copy down. You will need to use CTRL + SHIFT + ENTER when entering the formula.
As much as I like to avoid encouraging the use of the volatile OFFSET¹ function, it seems the most likely candidate in this situation.
The array formula in F2 is,
Array formulas need to be finalized with Ctrl+Shift+Enter↵. Once entered into the first cell correctly, they can be filled or copied down or right just like any other formula.
¹OFFSET is considered a volatile function that recalculates whenever anything in the workbook changes.