Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подсчет уникальных значений по условию - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Подсчет уникальных значений по условию
Xenus91 Дата: Среда, 24.08.2016, 18:41 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
Добрый вечер!
Просьба помочь с решением проблемы, необходимо осуществить подсчет уникальных значений по определенному критерию(пользователю) находящемуся в другом столбце,
данные для подсчета расположены на листе1, подсчет необходимо произвести на листе 2 по каждому из пользователей+не считать пустые строки подходящие под критерий
файл во вложении
К сообщению приложен файл: 8058632.xlsx (10.3 Kb)
 
Ответить
СообщениеДобрый вечер!
Просьба помочь с решением проблемы, необходимо осуществить подсчет уникальных значений по определенному критерию(пользователю) находящемуся в другом столбце,
данные для подсчета расположены на листе1, подсчет необходимо произвести на листе 2 по каждому из пользователей+не считать пустые строки подходящие под критерий
файл во вложении

Автор - Xenus91
Дата добавления - 24.08.2016 в 18:41
Nic70y Дата: Среда, 24.08.2016, 19:03 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 9130
Репутация: 2415 ±
Замечаний: 0% ±

Excel 2010
массивная
Код
=СЧЁТ(ЕСЛИ(ПОИСКПОЗ(ЕСЛИ(Лист1!A$1:A$124=A2;Лист1!B$1:B$124);Лист1!B$1:B$124;)=СТРОКА(Лист1!B$1:B$124);СТРОКА(Лист1!B$1:B$124)))
К сообщению приложен файл: 8654671.xlsx (10.9 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениемассивная
Код
=СЧЁТ(ЕСЛИ(ПОИСКПОЗ(ЕСЛИ(Лист1!A$1:A$124=A2;Лист1!B$1:B$124);Лист1!B$1:B$124;)=СТРОКА(Лист1!B$1:B$124);СТРОКА(Лист1!B$1:B$124)))

Автор - Nic70y
Дата добавления - 24.08.2016 в 19:03
Gustav Дата: Среда, 24.08.2016, 19:47 | Сообщение № 3
Группа: Админы
Ранг: Участник клуба
Сообщений: 2843
Репутация: 1194 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Для разнообразия - вариант с адошной UDF:

[vba]
Код
Function COUNT_DISTINCT(str)
    
    Dim rst As Object
            
    Set rst = CreateObject("ADODB.Recordset")
            
    rst.Open _
    "SELECT Count(*) FROM (SELECT DISTINCT F2 FROM [Лист1$A1:B1000] WHERE F1 = '" & str & "' AND Not IsNull(F2))" _
    , _
    "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & ThisWorkbook.FullName & ";" & _
    "Extended Properties='Excel 12.0;HDR=No'"
           
    COUNT_DISTINCT = rst(0)
    
End Function
[/vba]

ВАЖНО: Книга должна быть предварительно сохранена на диске. Результат актуален сразу после ввода формулы (автоматически не пересчитывается).
К сообщению приложен файл: 8058632_03.xlsm (19.5 Kb)


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеДля разнообразия - вариант с адошной UDF:

[vba]
Код
Function COUNT_DISTINCT(str)
    
    Dim rst As Object
            
    Set rst = CreateObject("ADODB.Recordset")
            
    rst.Open _
    "SELECT Count(*) FROM (SELECT DISTINCT F2 FROM [Лист1$A1:B1000] WHERE F1 = '" & str & "' AND Not IsNull(F2))" _
    , _
    "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & ThisWorkbook.FullName & ";" & _
    "Extended Properties='Excel 12.0;HDR=No'"
           
    COUNT_DISTINCT = rst(0)
    
End Function
[/vba]

ВАЖНО: Книга должна быть предварительно сохранена на диске. Результат актуален сразу после ввода формулы (автоматически не пересчитывается).

Автор - Gustav
Дата добавления - 24.08.2016 в 19:47
Xenus91 Дата: Среда, 24.08.2016, 20:09 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация: 13 ±
Замечаний: 0% ±

Excel 2016
Nic70y, спасибо большое)
 
Ответить
СообщениеNic70y, спасибо большое)

Автор - Xenus91
Дата добавления - 24.08.2016 в 20:09
jakim Дата: Среда, 24.08.2016, 22:26 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1218
Репутация: 316 ±
Замечаний: 0% ±

Excel 2010
Ещё один вариантс формулой

Код
=SUMPRODUCT((Лист1!A$1:A$124=A2)*(Лист1!B$1:B$124<>0)/COUNTIFS(Лист1!A$1:A$124;Лист1!A$1:A$124;Лист1!B$1:B$124;Лист1!B$1:B$124))
К сообщению приложен файл: 4608592.xlsx (10.9 Kb)
 
Ответить
Сообщение
Ещё один вариантс формулой

Код
=SUMPRODUCT((Лист1!A$1:A$124=A2)*(Лист1!B$1:B$124<>0)/COUNTIFS(Лист1!A$1:A$124;Лист1!A$1:A$124;Лист1!B$1:B$124;Лист1!B$1:B$124))

Автор - jakim
Дата добавления - 24.08.2016 в 22:26
Smil Дата: Вторник, 18.04.2017, 12:45 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Друзья, помогите, пожалуйста. Суть уловил, реализовать не получается. Нужно посчитать количество уникальных значений но в пределах определенного диапазона, а не по всему столбцу.
Задача во вложении
К сообщению приложен файл: 3627563.xlsx (9.2 Kb)
 
Ответить
СообщениеДрузья, помогите, пожалуйста. Суть уловил, реализовать не получается. Нужно посчитать количество уникальных значений но в пределах определенного диапазона, а не по всему столбцу.
Задача во вложении

Автор - Smil
Дата добавления - 18.04.2017 в 12:45
_Boroda_ Дата: Вторник, 18.04.2017, 12:59 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16885
Репутация: 6599 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Читайте Правила форума. Создавайте свою тему. Эта тема закрыта


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЧитайте Правила форума. Создавайте свою тему. Эта тема закрыта

Автор - _Boroda_
Дата добавления - 18.04.2017 в 12:59
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!