Недавно мой коллега Аксютин Денис "создал" полезный в нашей работе скрипт, макрос для Excel, подсчитывающий количество уникальных значений в определенном столбце листа книги. Данным макросом делюсь с Вами.

alt

Function CountUnique(ByVal Rng As Range) As Long
Dim St As String

Set Rng = Intersect(Rng, Rng.Parent.UsedRange)
On Error Resume Next
St = "'" & Rng.Parent.Name & "'!" & Rng.Address(False, False)
CountUnique = Evaluate("SUM(IF(LEN(" & St & "),1/COUNTIF(" & St & "," & St & ")))")
End Function


Sub UniqueValues()
Application.ReferenceStyle = xlA1
ip = (CountUnique(ActiveSheet.Range("N:N"))) - 1
fio = (CountUnique(ActiveSheet.Range("C:C"))) - 1
MsgBox "Сетевых адресов: " & ip & Chr(13) & "Пользователей СПД: " & fio
End Sub

Данный скрипт подсчитывает количество уникальных значений в столбцах N (Сетевые адреса) и C (ФИО работника).

Обратите внимание, что от результирующего значения отнимается 1. Это сделано для того, чтобы исключить шапку табличного отчета.

Также Вам может быть интересно:

Подсчет уникальных значений с помощью меню и опций самого Microsoft Office Excel.

Подсчет уникальных значений в столбце OpenOffice Calc

Add comment


Security code
Refresh