Как посчитать уникальные записи в Excel: от COUNTIF до Power Query

Подсчёт уникальных значений в таблицах Microsoft Excel — одна из самых востребованных задач при анализе данных. Без этого навыка невозможно корректно оценить количество клиентов, товарных позиций или уникальных событий в отчётах. Проблема в том, что стандартные функции вроде COUNT или COUNTA учитывают все записи, включая повторяющиеся. А ведь именно уникальные данные часто определяют ключевые бизнес-метрики: от количества новых пользователей до ассортимента продукции.

Многие пользователи ошибочно думают, что для этой задачи нужны макросы или сторонние надстройки. На самом деле в Excel есть как минимум 5 встроенных способов посчитать уникальные значения — от элементарных формул для новичков до продвинутых инструментов вроде Power Query. В этой статье разберём каждый метод с пошаговыми примерами, сравним их плюсы и минусы, а также покажем, как избежать типичных ошибок при работе с дубликатами.

Если вы регулярно работаете с большими массивами данных, умение быстро выделять уникальные записи сэкономит часы ручной обработки. Например, маркетолог может за секунды узнать, сколько уникальных источников трафика привели лиды, а логист — сколько разных поставщиков участвовало в закупках за месяц. Даже в бытовых задачах (скажем, подсчёт уникальных гостей на мероприятии) эти навыки окажутся полезными.

📊 Как часто вам нужно считать уникальные значения в Excel?
Ежедневно
Несколько раз в неделю
Редко, но методы забываю
Никогда не приходилось

1. Функция COUNTIF: простейший способ для небольших таблиц

Начнём с самого доступного метода, который работает во всех версиях Excel — функции COUNTIF. Она подходит для таблиц с до 10 000 строк и не требует знания сложных формул. Принцип прост: мы проверяем, сколько раз каждое значение встречается в диапазоне, а затем суммируем только те записи, которые появились ровно 1 раз.

Формула выглядит так:

=SUMPRODUCT(1/COUNTIF(диапазон; диапазон))

Где диапазон — это столбец с данными, в котором ищем уникальные значения. Например, для столбца A2:A100 формула примет вид:

=SUMPRODUCT(1/COUNTIF(A2:A100; A2:A100))

Важно: это массивная формула, поэтому в старых версиях Excel (до 2019 года) её нужно подтверждать комбинацией Ctrl+Shift+Enter. В новых версиях (включая Excel 365) этого не требуется.

  • Плюсы: работает без надстроек, подходит для любых версий Excel
  • ✅ Не требует создания дополнительных столбцов
  • Минусы: тормозит на больших массивах (свыше 50 000 строк)
  • ❌ Не учитывает пустые ячейки (их нужно исключать отдельно)
⚠️ Внимание: Если в вашем диапазоне есть пустые ячейки, формула посчитает их как уникальные значения. Чтобы исключить их, используйте модифицированный вариант:
=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100; A2:A100 & ""))

2. Функция UNIQUE + COUNTA: современный подход для Excel 365

Пользователи Excel 365 и Excel 2021 получили мощный инструмент — функцию UNIQUE, которая автоматически извлекает все уникальные значения из диапазона. В паре с COUNTA она позволяет посчитать количество уникальных записей одной формулой:

=COUNTA(UNIQUE(диапазон))

Например, для диапазона B2:B500 формула будет такой:

=COUNTA(UNIQUE(B2:B500))

Этот метод не только лаконичнее, но и в 10-20 раз быстрее SUMPRODUCT на больших массивах данных. Кроме того, UNIQUE умеет работать с несколькими столбцами одновременно — достаточно передать диапазон вроде B2:C500, чтобы найти уникальные комбинации значений.

Как UNIQUE обрабатывает пустые ячейки?

Функция UNIQUE по умолчанию игнорирует пустые ячейки в исходном диапазоне. Однако если вам нужно их учесть, добавьте третий аргумент: =COUNTA(UNIQUE(B2:B500; ;TRUE)), где TRUE включает учёт пустых значений.

  • 🚀 Преимущества: максимальная скорость и простота
  • 🔄 Можно использовать для динамических массивов (результат обновляется автоматически)
  • ⚠️ Ограничения: доступно только в Excel 365/2021
  • 📊 Не подходит для сводных таблиц (требуется отдельный столбец)

3. Сводные таблицы: универсальный метод для любых версий

Сводные таблицы — это самый гибкий способ подсчёта уникальных значений, который работает во всех версиях Excel, включая Excel 2010. Алгоритм прост:

  1. Выделите исходный диапазон данных (включая заголовки).
  2. Перейдите на вкладку ВставкаСводная таблица.
  3. В открывшемся окне выберите, куда поместить отчёт (на новый лист или в текущий).
  4. В области Названия строк перетащите столбец, по которому нужно посчитать уникальные значения.
  5. В область Значения добавьте тот же столбец — Excel автоматически посчитает количество уникальных записей.

Главное преимущество этого метода — визуализация. Вы не только узнаете количество уникальных значений, но и увидите их полный список с возможностью сортировки и фильтрации. Например, если вы анализируете продажи по регионам, сводная таблица покажет не только количество уникальных регионов, но и распределение продаж по каждому из них.

Удалите пустые строки в исходном диапазоне|

Проверьте, что в заголовках нет объединённых ячеек|

Убедитесь, что данные в столбце имеют одинаковый формат (текст/числа)|

Создайте именованный диапазон для удобства (необязательно)

-->

Метод Скорость Сложность Подходит для больших данных Требует дополнительных столбцов
SUMPRODUCT + COUNTIF Средняя Низкая Нет (тормозит) Нет
UNIQUE + COUNTA Высокая Низкая Да Нет
Сводная таблица Высокая Средняя Да Нет
FREQUENCY (см. следующий раздел) Высокая Высокая Да Да

4. Функция FREQUENCY: для опытных пользователей

Функция FREQUENCY редко используется для подсчёта уникальных значений, но она идеально подходит для работы с числовыми диапазонами. Например, если вам нужно узнать, сколько уникальных цен встречается в прайс-листе или сколько уникальных возрастов указано в анкетах. В отличие от COUNTIF, FREQUENCY возвращает массив данных, который можно дальше обрабатывать.

Алгоритм работы:

  1. Создайте вспомогательный столбец с уникальными значениями (можно скопировать исходный столбец и применить Удалить дубликаты на вкладке Данные).
  2. Введите формулу массива:
    =SUM(IF(FREQUENCY(исходный_диапазон; уникальные_значения)>0; 1))

    Например, если исходные данные в A2:A100, а уникальные значения в C2:C50:

    =SUM(IF(FREQUENCY(A2:A100; C2:C50)>0; 1))
  3. Подтвердите формулу Ctrl+Shift+Enter (в старых версиях).

Критичный нюанс: FREQUENCY чувствительна к формату данных. Если в исходном столбце числа хранятся как текст (например, '100 вместо 100), функция их не распознает. Перед использованием проверьте формат ячеек через Главная → Формат → Формат ячеек.

⚠️ Внимание: Если в вашем вспомогательном столбце с уникальными значениями есть пустые ячейки, FREQUENCY вернёт ошибку. Удалите их или заполните нулями перед расчётом.

5. Power Query: профессиональный инструмент для больших данных

Если вы работаете с таблицами свыше 100 000 строк, обычные формулы Excel будут тормозить или вообще откажутся обрабатывать данные. В этом случае на помощь придёт Power Query — встроенный инструмент для трансформации и анализа данных, доступный в Excel 2016 и новее.

Инструкция по подсчёту уникальных значений:

  1. Выделите исходную таблицу и перейдите на вкладку ДанныеИз таблицы/диапазонаExcel 2016) или Получить данные → Из таблицы/диапазонаExcel 365).
  2. В открывшемся редакторе Power Query выберите столбец, по которому нужно посчитать уникальные значения.
  3. На вкладке Главная нажмите Группировка.
  4. В окне группировки выберите:
    • Столбец: ваш целевой столбец
    • Новое имя столбца: например, Уникальные_значения
    • Операция: Количество всех строк
  • Нажмите Закрыть и загрузитьExcel создаст новую таблицу с количеством уникальных записей.
  • Power Query не только быстро обрабатывает миллионы строк, но и позволяет автоматизировать процесс: достаточно обновить исходные данные, и результат пересчитается автоматически. Это незаменимо для регулярных отчётов, где данные обновляются ежедневно.

    6. Удаление дубликатов: ручной метод для визуального контроля

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

    Пошаговая инструкция:

    1. Выделите диапазон данных (включая заголовки).
    2. Перейдите на вкладку ДанныеУдалить дубликаты.
    3. В открывшемся окне снимите галочки со всех столбцов, кроме того, по которому нужно оставить уникальные значения.
    4. Нажмите ОКExcel удалит все повторяющиеся строки и покажет, сколько уникальных записей осталось.
    5. После этой операции вы можете просто посчитать количество оставшихся строк с помощью COUNTA или увидеть результат в строке состояния Excel (внизу окна).

      • Когда использовать: для небольших таблиц (до 20 000 строк)
      • ✅ Когда нужен визуальный контроль над уникальными данными
      • Недостатки: изменяет исходные данные (лучше работать с копией)
      • ❌ Не подходит для автоматизации (придётся повторять вручную)

    Сравнение методов: какой выбрать?

    Выбор метода зависит от трёх ключевых факторов:

    1. Версия Excel: в Excel 365 доступны UNIQUE и динамические массивы, в старых версиях — только COUNTIF или сводные таблицы.
    2. Объём данных: для таблиц свыше 50 000 строк оптимален Power Query или сводные таблицы.
    3. Цель анализа: если нужен только подсчёт — хватит формул; если требуется визуализация — сводная таблица или удаление дубликатов.

    Вот краткие рекомендации:

    • 📌 Для новичков: SUMPRODUCT + COUNTIF или удаление дубликатов.
    • 🚀 Для скорости: UNIQUE + COUNTA (если есть Excel 365).
    • 📊 Для анализа: сводные таблицы.
    • 🗃️ Для больших данных: Power Query.
    ⚠️ Внимание: Если ваши данные содержат ошибки (например, #Н/Д или #ЗНАЧ!), большинство формул их проигнорируют. Чтобы учесть ошибки как уникальные значения, используйте модифицированную версию:
    =SUMPRODUCT(--(COUNTIF(диапазон; диапазон)=1); --(ISTEXT(диапазон) + ISNUMBER(диапазон) + ISERROR(диапазон)))

    Частые ошибки и как их избежать

    Даже опытные пользователи Excel иногда сталкиваются с неожиданными результатами при подсчёте уникальных значений. Вот TOP-5 ошибок и способы их решения:

    1. Формула возвращает #ДЕЛ/0!

      Причина: в диапазоне есть пустые ячейки, а формула не учитывает этот случай.

      Решение: добавьте условие IF(диапазон<>""; ...) или используйте =SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100; A2:A100 & "")).

    2. Результат на 1 больше ожидаемого

      Причина: формула учитывает заголовок столбца как уникальное значение.

      Решение: исключите заголовок из диапазона (например, используйте A2:A100 вместо A1:A100).

    3. Power Query не видит изменения в данных

      Причина: не обновлён запрос.

      Решение: на вкладке Данные нажмите Обновить все.

    4. Сводная таблица показывает неверное количество

      Причина: в исходных данных есть скрытые символы (пробелы, неразрывные пробелы, перenosы строк).

      Решение: очистите данные функцией TRIM или CLEAN.

    5. Формула тормозит или выдаёт #ЗНАЧ!

      Причина: диапазон слишком большой (свыше 100 000 строк) или содержит ошибки.

      Решение: разбейте данные на части или используйте Power Query.

    Если ни один из методов не сработал, проверьте формат данных: иногда числа, хранящиеся как текст, или даты в разных форматах воспринимаются Excel как разные значения. Используйте функцию VALUE для преобразования текста в числа или DATEVALUE для дат.

    FAQ: Ответы на популярные вопросы

    Можно ли посчитать уникальные значения по нескольким столбцам одновременно?

    Да, для этого нужно создать составной ключ. Например, если вам нужно посчитать уникальные комбинации "Город + Продукт", используйте формулу:

    =SUMPRODUCT(1/COUNTIF(A2:A100 & "|" & B2:B100; A2:A100 & "|" & B2:B100))

    Где A — столбец с городами, B — с продуктами, а "|" — разделитель (можно использовать любой символ, который не встречается в данных).

    Как посчитать уникальные значения с учётом регистра?

    Стандартные функции Excel (включая COUNTIF) не учитывают регистр. Чтобы различать, например, "Москва" и "москва", используйте формулу массива:

    =SUM(--(MMULT(--(EXACT(TRANSPOSE(диапазон); диапазон)); --(ROW(диапазон)^0))=1))

    Эта формула требует подтверждения Ctrl+Shift+Enter в старых версиях Excel.

    Почему UNIQUE не работает в моём Excel?

    Функция UNIQUE доступна только в Excel 365 и Excel 2021. Если у вас более старая версия, используйте альтернативные методы:

    • Сводные таблицы
    • Формулу SUMPRODUCT + COUNTIF
    • Удаление дубликатов через Данные → Удалить дубликаты

    Также проверьте, что ваша подписка Office 365 активна — некоторые функции динамических массивов требуют обновлений.

    Как автоматически обновлять количество уникальных значений при изменении данных?

    Для автоматического обновления используйте:

    • Сводные таблицы: они пересчитываются при изменении исходных данных (нажмите Обновить на вкладке Анализ).
    • Power Query: настройте запрос один раз, затем обновляйте его кнопкой Обновить все на вкладке Данные.
    • Формулы: если используете UNIQUE или COUNTIF, они обновляются автоматически при изменении ячеек.

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

    Можно ли посчитать уникальные значения в Google Таблицах?

    Да, в Google Sheets для этого есть специальная функция:

    =COUNTA(UNIQUE(диапазон))

    Также работают аналоги COUNTIF и сводных таблиц. Главное отличие — в Google Таблицах нет Power Query, но зато есть функция QUERY, которая может заменять его для многих задач.