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

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


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

Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

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

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

Jurass

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

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

boa

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

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

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

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
 



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

27.05.2022 14:38 конструкция из Shape 36
09.08.2019 14:09 Макрос для заполнения таблиц через форму 5026
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 4437
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 5994
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 3132
23.05.2017 11:20 Копирование данных из одной таблицы в умную таблицу по условию 4934
15.03.2017 15:45 автозамена картинок PowerPoint 3859
11.03.2017 13:43 Изменить нумерацию страниц 3783
07.02.2017 18:43 Блокировка ячеек по наступлению даты 2897
28.08.2016 19:29 Одинаковые заголовки после обновления оглавления 3404





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

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