Новости:

Прикрепить к сообщению можно только файлы xls, gif, jpg, rar, zip,7z, bas, frm, cls, doc размером до 150 Кб.

Главное меню

Подсчет уникальных значений с учетом фильтра

Автор Jurass, 07.06.2019, 05:52

« назад - далее »

Jurass

Доброго времени суток, уважаемые профессионалы!
Нужна помощь в создании формулы для подсчета уникальных значений  столбца [Line number] с учетом фильтра. Т.е. чтобы считать уникальные значения при изменении условий фильтра в любом из столбцов. Исходник во вложении. Заранее благодарен

boa

Здравствуйте, Jurass
я бы использовал UDF
Function Unique_Values_Under_Filter&(rng As Range)
'' Author:  boa
'' Written: 07.06.2019
'  Description: возвращает количество уникальных видимых значений в массиве

    Application.Volatile True
    Dim col As New Collection
    On Error Resume Next
    Dim a: For Each a In rng
      If a.Rows.Hidden = False And Not IsNull(a) Then col.Add CStr(a.Value), CStr(a.Value)
    Next a
    Unique_Values_Under_Filter = col.Count
End Function
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Jurass

Большое спасибо!
Для создания данной функции в аналогичных файлах куда необходимо загружать данный код?

boa

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

Jurass


_Boroda_

Вариант формулой

=СЧЁТ(1/(ПОИСКПОЗ(Таблица3[Line Number
Номер линии];ЕСЛИ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;ДВССЫЛ("g"&СТРОКА(Таблица3[Ag/Ug])));Таблица3[Line Number
Номер линии]);)=СТРОКА(Таблица3[Ag/Ug])-1))
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995