Максимально сокращаем время на ручную работу. Даже в мелочах. Все использованные команды изучаются на курсе Excel-XL: Макросы VBA Excel с нуля (24 ак.ч.)
Создаём свою функцию, аналога которой в Excel нет.
Эта функция будет считать количество уникальных элементов (значений) в списке, в том числе отфильтрованном. Это могут быть даты, текст, числа - всё, что угодно.
Чтобы забрать эту функцию в свой файл, сделайте следующее:
Инструкция в картинках - см. пост у меня в Instagram: НАЖМИТЕ ЗДЕСЬ
По уровню сложности такой макрос Вы сможете написать после моего курса «Макросы на VBA с нуля».
Option Base 1 'массив начинается с 1
Function СчётУникальных(Диапазон)
Dim Arr() 'As Date
For Each Rng In Диапазон 'проверяем каждую ячейку диапазона
If Rng.EntireRow.Hidden = False Then 'если строка этой ячейки НЕ скрыта
counter = counter + 1 'считаем порядковый номер текущего значения
If counter > 1 Then 'если значение уже не первое (то есть в массиве что-то есть)
'то проверяем, есть ли уже в массиве такое значение
For i = LBound(Arr) To UBound(Arr) 'от первого до последнего элемента массива
If Rng = Arr(i) Then 'если нашли такое же значение
counter = counter - 1 'возвращаем счётчик на своё значение
GoTo 1 'пропускаем значение, идём к следующему
End If
Next i
End If
'сюда приходим только если не нашлось совпадений с предыдущими значениями массива, _
то есть мы нашли новое уникальное значение в ячейке
ReDim Preserve Arr(counter) 'переопределяем размер массива с сохранением имеющихся в нём данных
Arr(counter) = Rng.Value 'записываем значение в массив
End If
1:
Next
СчётУникальных = UBound(Arr) 'массив состоит в итоге из уникальных значений
End Function