Все-таки попробуйте UDF, вот такую:
[vba]Код
Public Function GetDistinctCount(rng As Range) As Long
Dim x, v, i As Long
x = Intersect(rng, rng.Worksheet.UsedRange).Value
With CreateObject("Scripting.Dictionary")
.CompareMode = 1
For Each v In Intersect(rng, rng.Worksheet.UsedRange).Value
If Len(v) Then .Item(v) = .Item(v) + 1
Next v
For Each v In .keys
If .Item(v) = 1 Then i = i + 1
Next v
End With
GetDistinctCount = i
End Function
[/vba]
На листе пишем такую формулу
Код
=GetDistinctCount(A3:C11)
A3:C11 - это диапазон из вашего примера. Сразу считаем уникальные без повторов, и УФ не нужно.