Coloque isso em um módulo:
Function ContSeVisiveis(Intervalo, Criterio)
Dim q As Long
Dim xCell As Range
Application.Volatile
For Each xCell In Intervalo
If ((Not xCell.EntireRow.Hidden) And (Not xCell.EntireColumn.Hidden)) And xCell = Criterio Then
q = q + 1
End If
Next
ContSeVisiveis = q
End Function
Depois chame-a na célula assim:

Abraço!
Natan