There are many ways to count uniques among duplicates:
=SUMPRODUCT((A2:A105<>"")/(COUNTIF(A2:A105,A2:A105&"")))
=SUMPRODUCT((A2:A998<>"")/(COUNTIF(A2:A998,A2:A998)+(A2:A998="")))
=SUM(IF(FREQUENCY(IF(LEN(A2:A999)>0,MATCH(A2:A999,A2:A999,0),""),IF(LEN(A2:A999)>0,MATCH(A2:A999,A2:A999,0),""))>0,1))
Note: This is a CSE Function
=SUMPRODUCT((A2:A105<>"")/COUNTIF(A2:A105,A2:A105&"")*(A2:A105<>""))
=SUMPRODUCT(--(A2:A999<>""),1/COUNTIF(A2:A999,A2:A999&""))
=SUM(--(FREQUENCY(IF(A2:A2705<>"",MATCH(A2:A2705,A2:A2705,0)),ROW(INDIRECT("1:"&ROWS(A2:A2705))))>0))
Note: This is a CSE Function
=COUNT(1/FREQUENCY(A1:A400,A1:A400))
=SUM(1/COUNTIF(C13:C17,C13:C17))
Note: This is a CSE Function & it fails if there are any blanks in between
=SUM(IF(A2:A400<>"",1/COUNTIF(A2:A400,A2:A400)))
=SUM(IF(FREQUENCY(IF(A2:A1001<>"",MATCH("~"&A2:A1001,A2:A1001&"",0)),ROW(A2:A1001)-ROW(A2)+1),1))
=IF(COUNT(A1:A20)<ROW(A1),"",INDEX(A1:A20,MATCH(SMALL(A1:A20,ROW(A1)),A1:A20,0)))
HTH,
Ryan---