© Сорокин Б.Б. 2016 г.

Подсчет количества уникальных значений

В практике обработки статистической информации часто возникает задача подсчета количества уникальных значений в таблице или в базе данных. Приведу пример из области медицинской отчетности, так как именно здесь я и работаю.

Ежедневно аптечные учреждения республики отпускают сотни льготных (бесплатных) рецептов. В месяц это количество составляет от 5 до 10 тысяч, за год естественно до 100 тысяч и так далее.

Об отпуске этих рецептов радостно рапортуют в выше стоящие органы, дескать за первую половину 2014 года мы отпустили 53789 бесплатных рецептов. И вот тут следует коварный вопрос - А сколько пациентов вы обслужили? Понятно, что один пациент может получить от одного и более рецептов, как подсчитать пациентов.

Для начала нужно найти критерий уникальности пациента, так как при таких объемах возможно появления полных совпадений по ФИО. Уникальность дает использование СНИЛС (специальный номер индивидуального лицевого счета). Следовательно задача сводится к подсчету количества уникальных СНИЛС (SNILS) в исходной таблице.

Таблица отпущенных рецептов

Посмотрев на эту таблицу некоторые "въедливые" читатели скажут - почему только СНИЛС, можно и номер страхового полиса, он тоже уникален. То что уникален верно, да вот имеют его не все. По непонятной мне причине работники силовых министерств ВС, МВД, МЧС почти все не имеют страхового полиса, поэтому лучше использовать СНИЛС.

Впрочем, это уже частности, нужен уникальный идентификатор и мы его нашли.

Теперь строим сводную табличку на основе существующей, используя мастер сводных таблиц.

мастер сводных таблиц

Поле SNILS располагаем в области "Строка", чтобы сгруппировать снилсы. В область "Данные" ставим тоже поле SNILS (иначе табличку не построишь), при этом "Количество значений по полю SNILS" устанавливается по умолчанию, так как данные имеют текстовый формат.

Получаем сводную таблицу.

сводная таблица

Теперь подсчитать количество уникальных СНИЛС не представляет труда. Можно ввести формулу как в ячейке A1 (см. рисунок), а можно и в ручную, выделив нужные строки.

подсчет строк

Обратите внимание, под строкой 1721 появляется белый ярлычок, который показывает количество выделенных строк (1717R). В строке "Общий итог" 3666 - общее количество записей в исходной таблице.