Quote Originally Posted by Dord25 View Post
No, they are not, but BrandArray is an array as well.
Yes, I know, but you are not passing the whole array at once as a criterion, you are passing individual elements one at a time using BrandArray(i). Unless the individual elements of your BrandArray array are also themselves arrays, that is not the issue (your code is posted completely out of context so we can't tell).

Sorry, I am confused. Is there some documentation on what kind of rule this is? How would it work for the foo macro? Thank you.
No, because it's not a normal use of countifs. If you use two arrays with the same orientation, the criteria are taken in pairs but what you want is all possible combinations (a Cartesian product). So for example, if you pass the arrays {1,2} and {3,4} as criteria, you would get rows matching 1 and 3, and rows matching 2 and 4 only. You would need the equivalent of {1,2} and {3;4} in formulaic terms.