В этой статье мы создадим настраиваемую функцию для подсчета уникальных значений в заданном диапазоне.

Исходные данные для этого примера состоят из случайных чисел в строках. В этом примере мы хотим подсчитать количество уникальных чисел в каждой строке.

ArrowRaw

Мы создали специальную функцию «CountUniqueValues», чтобы найти количество уникальных чисел в строке. Эта функция принимает диапазон в качестве входных данных и возвращает уникальное количество чисел.

ArrowOutput

Логическое объяснение

Мы создали специальную функцию «CountUniqueValues» для подсчета уникальных чисел. В этой пользовательской функции мы создали объект коллекции. Этот объект коллекции используется для создания списка уникальных номеров. Когда у нас есть список уникальных номеров, мы получаем количество элементов в коллекции.

Объяснение кода

Application.Volatile используется, потому что он будет пересчитываться каждый раз, когда значение ячейки изменяется в книге.

При возникновении ошибки «Возобновить» далее используется для обработки ошибок.

Пожалуйста, введите код ниже

Option Explicit

Function CountUniqueValues(InputRange As Range) As Integer

Dim CellValue As Variant, UniqueValues As New Collection

Application.Volatile

'For error Handling

On Error Resume Next

'Looping through all the cell in the defined range

For Each CellValue In InputRange

UniqueValues.Add CellValue, CStr(CellValue)  ' add the unique item

Next

'Returning the count of number of unique values

CountUniqueValues = UniqueValues.Count

End Function

Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]