Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Автор Тема: Подсчет уникальных значений с учетом фильтра  (Прочитано 1379 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Jurass

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

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

boa

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +32/-0
  • Оффлайн Оффлайн
  • Сообщений: 594
  • Доброта спасет мир...

Здравствуйте, 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

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

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

boa

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +32/-0
  • Оффлайн Оффлайн
  • Сообщений: 594
  • Доброта спасет мир...

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

Jurass

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 3

Ещё раз спасибо!
Записан

_Boroda_

  • Глобальный модератор
  • Ветеран
  • *****
  • Уважение: +415/-0
  • Оффлайн Оффлайн
  • Сообщений: 2 556

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



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



Темы без ответов

09.08.2019 14:09 Макрос для заполнения таблиц через форму 4543
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 4076
28.05.2019 21:09 Сделать несколько скриптов для рабочей таблицы 5569
05.03.2019 09:29 Нежелательные изменение размеров колонтитула при редактировании 4485
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 5581
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 2783
23.01.2018 13:46 Найти вероятность повторной покупки 2558
12.01.2018 23:56 Сделать отчет на Power BI (Dashboard) 3548
06.09.2017 10:43 Solver VBA не решает гиперболическое уравнение, но при этом решает гармоническое 2432
17.08.2017 12:15 Гиперссылка и фильтр одновременно макрос 2877





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.109 секунд. Запросов: 108.