Формула СЧЁТУНИК

Для подсчета уникальных значений обычно пользуются удалением дубликатов или сводными таблицами. Однако быстрее воспользоваться функцией из надстройки, которая посчитает количество уникальных ячеек выбранного диапазона.

Описание проблемы

Довольно часто необходимо подсчитать количество уникальных ячеек в диапазоне. В Excel довольно большое количество способов решить эту задачу (от удаления дубликатов, до создания сводной таблицы). Однако в Excel отсутствует возможность решить эту задачу формулой. Я устранил этот недочет и добавил ее в надстройку VBA-Excel.

Описание функции

Функция СЧЁТУНИК для подсчета уникальных значений

После установки надстройки, в Excel появится новая функция:

=СЧЁТУНИК(ДИАПАЗОН, [ТолькоВидимые])

Она имеет два аргумента:

  • ДИАПАЗОН ячеек, в котором необходимо произвести подсчет уникальных значений.
  • [ТолькоВидимые] - необязательный аргумент принимающий значения 0 или 1. Если необходимо НЕ учитывать скрытые ячейки, то в качестве значения нужно ввести 1, если же необходимо вести подсчет по всем ячейкам, в том числе и скрытым, укажите 0 или проигнорируйте данный аргумент.

Пример

К примеру, вам поставлена задача определить количество уникальный продуктов питания в списке данных. К вашему огорчению список состоит не из одного столбца (или строки) и сходу применить команду "Удалить дубликаты" не получается. В этом случае самое быстрое решение - использование функции =СЧЁТУНИК.

Код на VBA

Public Function СЧЁТУНИК(ДИАПАЗОН As Range) As Double
 
    Dim rCell As Range
    Dim Unique As New Collection
    On Error Resume Next
 
    For Each rCell In ДИАПАЗОН
        If Not IsEmpty(rCell) Then Unique.Add rCell.Value, CStr(rCell.Value)
    Next
 
    СЧЁТУНИК = Unique.Count
End Function
Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.