Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2010, 18:50   #1
getikalex
Пользователь
 
Регистрация: 13.06.2010
Сообщений: 73
По умолчанию Подсчитать количество уникальных значений

Задачка кажется несложной, но сам не решил.
Имеется список предметов, и их показателей в двох столбцах
Предметов много. Необходимо подсчитать количество уникальных значений. (кол-во предметов)
В примере на втором листе – примерно показано как надо
Соответствующей функции не нашел. Подскажите, кто знает.

PS. В примере все отсортировано по предмету. Но инетересно также - можно ли подсчитать количество уникальных значений предметов без их предварительной сортировки.
Вложения
Тип файла: rar Нумерация.rar (4.7 Кб, 52 просмотров)

Последний раз редактировалось getikalex; 07.09.2010 в 18:56.
getikalex вне форума Ответить с цитированием
Старый 07.09.2010, 19:41   #2
Volodshan
Форумчанин
 
Регистрация: 20.05.2008
Сообщений: 241
По умолчанию

Вариант: формула массива и сводная, диапазонам даны имена.
Вложения
Тип файла: rar Нумер_G.rar (5.6 Кб, 57 просмотров)
Volodshan вне форума Ответить с цитированием
Старый 07.09.2010, 22:40   #3
getikalex
Пользователь
 
Регистрация: 13.06.2010
Сообщений: 73
По умолчанию

Честно говоря - решение не понял.
Возможно я сформулировал неточно.
Мне нужна не сводная таблица, а отбор и подсчет уникальных значений предметов в отдельном столбце.
т.е. нумерация уникальных значений в отдельном столбце.
Если я что-то не понял - прошу подправить, могу ошибаться.

Последний раз редактировалось getikalex; 07.09.2010 в 22:44.
getikalex вне форума Ответить с цитированием
Старый 07.09.2010, 23:43   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Это не такая же задача, как тут рядом про библиотеку?
http://www.programmersforum.ru/showthread.php?t=112444
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 08.09.2010, 00:36   #5
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

можно, например, так, см. вложение

1-й вариант: с предварительной сортировкой
Откройте файл - меню "Сервис" - Макросы - "CountUnique" - Выполнить. Исходные данные и результат выполнения макроса - лист "Отсортировано".
2-й вариант: без сортировки
Откройте файл - меню "Сервис" - Макросы - "CountUniqueNoSort" - Выполнить. Исходные данные и результат выполнения макроса- лист "Без сортировки".
Вложения
Тип файла: zip Нумерация.zip (12.8 Кб, 54 просмотров)

Последний раз редактировалось EugeneS; 08.09.2010 в 01:29. Причина: дополнение ответа
EugeneS вне форума Ответить с цитированием
Старый 08.09.2010, 00:40   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну и мой вариант.
P.S. Или я неправильно задачу понял - я считал уникальные пары. Но впрочем несложно переделать на подсчёт только первого значения.
А если надо показать количество отобранных уникальных - MsgBox d.Count
Вложения
Тип файла: zip Нумерация.zip (77.0 Кб, 54 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 08.09.2010 в 09:43.
Hugo121 вне форума Ответить с цитированием
Старый 08.09.2010, 10:50   #7
KL (XL)
Форумчанин
 
Аватар для KL (XL)
 
Регистрация: 04.08.2009
Сообщений: 112
По умолчанию

Если верить задаче - "Необходимо подсчитать количество уникальных значений. (кол-во предметов)", то так в одной ячейке:

Код:
=СУММПРОИЗВ(--(ПОИСКПОЗ(A2:A30;A2:A30;)=(СТРОКА(A2:A30)-СТРОКА(A2)+1)))

=СУММПРОИЗВ(1/СУММЕСЛИ(A2:A30;A2:A30))
если есть пустые строки, то так:

Код:
=СУММПРОИЗВ((A2:A30<>"")*(ПОИСКПОЗ(A2:A30&"";A2:A30&"";)=(СТРОКА(A2:A30)-СТРОКА(A2)+1)))

=СУММПРОИЗВ((A2:A30<>"")/СУММЕСЛИ(A2:A30;A2:A30&""))
KL [MVP - Microsoft Office Excel]
CPU: Intel Core 2, 2.17GHz | RAM: 3.25GB (4GB) | GPU: nVidia Quadro FX 2500M
OS: Windows 7 Ultimate x64 EN | MSO: 2010 Professional Plus x86 EN
KL (XL) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отбор уникальных значений ListBox KlerKK Microsoft Office Excel 2 20.12.2009 15:35
Список уникальных значений PARTOS Microsoft Office Excel 13 18.12.2009 11:14
Отбор уникальных значений Alex___ Microsoft Office Excel 11 18.08.2009 19:31
Как подсчитать количество уникальных мест? Iskin Microsoft Office Excel 2 05.12.2008 11:44
Выборка уникальных значений Mary_star SQL, базы данных 9 11.02.2008 22:46