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

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


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

Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

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

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

Jurass

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

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

boa

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

Здравствуйте, 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
  • Оффлайн Оффлайн
  • Сообщений: 587
  • Доброта спасет мир...

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

Jurass

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

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

_Boroda_

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

Вариант формулой
=СЧЁТ(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 Макрос для заполнения таблиц через форму 116
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 150
09.07.2019 20:39 Кредит с уменьшением периода выплат 169
28.05.2019 21:09 Сделать несколько скриптов для рабочей таблицы 498
05.03.2019 17:00 Последовательный вывод таблиц Excel в один документ Word без шаблона 805
05.03.2019 09:29 Нежелательные изменение размеров колонтитула при редактировании 582
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 716
20.01.2019 12:38 Все варианты частичного суммирования 880
13.01.2019 12:24 Заполнение диапазона числами - в виде кластеров 729
30.09.2018 10:24 Расчет процентов за определенный период (месяц) с учетом изменений и платежей 1146





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

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