Se você puder adicionar algumas fórmulas intermediárias à sua planilha, aqui está uma possível solução.
Com base nos intervalos no seu exemplo:
Coloque na célula N123
Isso retorna a parte à esquerda de ,
ou a célula inteira se não houver ,
=IFERROR(LEFT($M123,FIND(",",$M123)-1),M123)
Coloque na célula O123
Isso retorna a parte à direita de ,
ou -
se não houver ,
=IFERROR(TRIM(MID($M123,FIND(",",$M123)+1,999)),"-")
Coloque na célula P123
Isso retorna 1
se a célula N123
for única na lista, mais 1
se a célula O123
for exclusiva
=AND(ROW()+1=ROW($N$123:$N$127)+MATCH($N123,$N$123:$N$127,0),$N123<>"-")
+AND(ROW()=IFERROR(MATCH($O123,$N$123:$N$127,0),""),$O123<>"-")
+AND(ISNA(MATCH($N123,$N$123:$N$127,0)),ROW()+1=IFERROR(ROW($N$123:$N$127)
+MATCH($N123,$O$123:$O$127,0),FALSE),$N123<>"-")
+AND(ISNA(MATCH($O123,$N$123:$N$127,0)),ROW()+1=ROW($N$123:$N$127)
+MATCH($O123,$O$123:$O$127,0),O123<>"-")
Copie as células N123..P123
para N123..P127
O número de itens exclusivos é =SUM(P123:Q127)
Isso pressupõe que haja no máximo 2 itens em cada célula de dados. Se esse não for o caso, você precisará adicionar mais colunas intermediárias e estender a fórmula em O123
de acordo. Se houver muitos mais de dois, isso rapidamente sairá do controle.
FWIW, você diz que uma solução VBA não é possível, mas é uma função definida pelo usuário VBA ok?
Seria parecido com =CountUnique(M123:M127)