Подсчет уникальных значений по условию
Xenus91
Дата: Среда, 24.08.2016, 18:41 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 142
Репутация:
13
±
Замечаний:
0% ±
Excel 2016
Добрый вечер! Просьба помочь с решением проблемы, необходимо осуществить подсчет уникальных значений по определенному критерию(пользователю) находящемуся в другом столбце, данные для подсчета расположены на листе1, подсчет необходимо произвести на листе 2 по каждому из пользователей+не считать пустые строки подходящие под критерий файл во вложении
Добрый вечер! Просьба помочь с решением проблемы, необходимо осуществить подсчет уникальных значений по определенному критерию(пользователю) находящемуся в другом столбце, данные для подсчета расположены на листе1, подсчет необходимо произвести на листе 2 по каждому из пользователей+не считать пустые строки подходящие под критерий файл во вложении Xenus91
Ответить
Сообщение Добрый вечер! Просьба помочь с решением проблемы, необходимо осуществить подсчет уникальных значений по определенному критерию(пользователю) находящемуся в другом столбце, данные для подсчета расположены на листе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)))
массивная Код
=СЧЁТ(ЕСЛИ(ПОИСКПОЗ(ЕСЛИ(Лист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
Ю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] ВАЖНО: Книга должна быть предварительно сохранена на диске. Результат актуален сразу после ввода формулы (автоматически не пересчитывается).
Для разнообразия - вариант с адошной 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
МОИ: Ник , 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))
Ещё один вариантс формулой
Код
=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
Ответить
Сообщение Ещё один вариантс формулой
Код
=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
Друзья, помогите, пожалуйста. Суть уловил, реализовать не получается. Нужно посчитать количество уникальных значений но в пределах определенного диапазона, а не по всему столбцу. Задача во вложении
Друзья, помогите, пожалуйста. Суть уловил, реализовать не получается. Нужно посчитать количество уникальных значений но в пределах определенного диапазона, а не по всему столбцу. Задача во вложении Smil
Ответить
Сообщение Друзья, помогите, пожалуйста. Суть уловил, реализовать не получается. Нужно посчитать количество уникальных значений но в пределах определенного диапазона, а не по всему столбцу. Задача во вложении Автор - Smil Дата добавления - 18.04.2017 в 12:45
_Boroda_
Дата: Вторник, 18.04.2017, 12:59 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16885
Репутация:
6599
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Читайте Правила форума. Создавайте свою тему. Эта тема закрыта
Читайте Правила форума. Создавайте свою тему. Эта тема закрыта _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Читайте Правила форума. Создавайте свою тему. Эта тема закрыта Автор - _Boroda_ Дата добавления - 18.04.2017 в 12:59