Hány darab egyedi cella van egy tartományban?

Excelben nagyon tipikus problematika az, amikor számszerűsítenünk kell, hogy hány darab különféle elemünk van egy tartományban. Például kapunk egy listát mindenféle cikkszámmal és abból meg kell mondanunk, hogy hány cikkszámunk van összesen. A végeredmény:

=SUMPRODUCT(1/COUNTIF(B2:B12;B2:B12))

A B2:B12 természetesen csak példa, cseréljük nyugodtan a saját tartományunkra. A működése baromi ötletes: a COUNTIF függvényt saját magára értelmezzük, ennek eredménye egy tömb lesz, aminek minden eleme pontosan azt a számot tartalmazza, ahány darab van az adott elemből. Például egy ALMA, ALMA, KÖRTE esetében {2, 2, 1} lesz a válasz. Ennek vesszük a reciprokát, akkor {1/2, 1/2, 1} tömböt kapunk, amit végül összeadunk és megkapjuk, hogy kettő. (Klassz, mi?)

A középiskolás matematika fakultációs órákat – és az ott bemutatott leleményes megoldásokat – juttatta eszembe, főleg a COUNTIF és a reciprok volt nagyon ötletes. Egyébként innen túrtam ki a fentieket, nem saját megoldás.