Как посчитать число уникальных значений в диапазоне Excel: 5 проверенных способов

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

В этой статье мы разберём 5 способов подсчёта уникальных значений — от простых формул для начинающих до продвинутых методов с использованием динамических массивов. Вы узнаете, когда лучше применять UNIQUE + COUNTA, как обойтись без дополнительных столбцов с помощью FREQUENCY, и почему комбинация COUNTIF + SUM остаётся актуальной даже в новых версиях Excel. А ещё — типичные ошибки, которые портят результаты, и как их избежать.

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

📊 Какая версия Excel у вас установлена?
Excel 2019 или новее (с динамическими массивами)
Excel 2016–2013 (без динамических массивов)
Excel Online
Mac-версия Excel
Не знаю

1. Способ для современных версий: функция UNIQUE + COUNTA

Начиная с Excel 365 и Excel 2021, в арсенале пользователей появилась революционная функция UNIQUE, которая мгновенно извлекает уникальные значения из диапазона. Сочетайте её с COUNTA, и вы получите идеальное решение для подсчёта без лишних действий.

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

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

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

=COUNTA(UNIQUE(A2:A100))
  • Плюсы: минималистичный синтаксис, не требует дополнительных столбцов, автоматически обновляется при изменении данных.
  • ⚠️ Ограничения: работает только в версиях с поддержкой динамических массивов (Excel 365/2021). В старых версиях вернёт ошибку #ИМЯ?.
  • 🔄 Динамичность: результат формулы "проливается" вниз, если ячейки ниже пустые — это нормальное поведение.

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

=COUNTA(FILTER(UNIQUE(A2:A100), UNIQUE(A2:A100)<>""))

2. Классический метод: COUNTIF + вспомогательный столбец

Для пользователей старых версий Excel (2010–2016) или тех, кто предпочитает "прозрачные" вычисления, подойдёт метод с вспомогательным столбцом. Здесь мы используем комбинацию COUNTIF и условного форматирования.

Алгоритм действий:

  1. Добавьте справа от исходных данных новый столбец (например, B).
  2. В ячейку B2 введите формулу:
    =ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$100; A2)=1; 1; 0)

    и растяните её на весь диапазон.

  3. В любой свободной ячейке используйте =СУММ(B2:B100), чтобы посчитать количество уникальных значений.

Формула СЧЁТЕСЛИ($A$2:$A$100; A2)=1 проверяет, встречается ли значение из ячейки A2 в диапазоне только один раз. Если да — ставит 1, иначе 0. Затем СУММ складывает все единицы.

Убедитесь, что диапазон в СЧЁТЕСЛИ зафиксирован абсолютными ссылками ($A$2:$A$100)|Проверьте, что вспомогательный столбец не содержит скрытых символов (пробелов, неразрывных пробелов)|Если данные обновляются часто, используйте Таблицу Excel (Ctrl+T) для автоматического расширения формул-->

⚠️ Внимание: Этот метод чувствителен к регистру! "Привет" и "привет" будут считаться разными значениями. Если это критично, предварительно приведите текст к одному регистру с помощью =ПРОПИСН(A2) или =СТРОЧН(A2).

3. Продвинутый подход: функция FREQUENCY для массивов

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

Формула вводится как формула массива (в старых версиях — нажать Ctrl+Shift+Enter):

=СУММ(--(ЧАСТОТА(данные; данные)>0))

Разберём на примере. Пусть наши данные в диапазоне A2:A10. Тогда формула будет:

=СУММ(--(ЧАСТОТА(A2:A10; A2:A10)>0))

Как это работает:

  • 📊 ЧАСТОТА возвращает массив, где каждый элемент показывает, сколько раз значение из A2:A10 встречается в этом же диапазоне.
  • 🔢 Условие >0 преобразует массив в ИСТИНА/ЛОЖЬ (где ИСТИНА — уникальные значения).
  • 🔄 Двойной минус (--) конвертирует ИСТИНА/ЛОЖЬ в 1/0.
  • СУММ складывает все единицы, давая количество уникальных значений.
Исходные данные (A2:A6) Результат ЧАСТОТА После условия >0 После --
Яблоко 1 ИСТИНА 1
Груша 2 ИСТИНА 1
Банан 1 ИСТИНА 1
Груша 2 ЛОЖЬ 0
Апельсин 1 ИСТИНА 1

Итог: сумма последнего столбца равна 4 — именно столько уникальных значений в исходном списке.

⚠️ Внимание: Если в данных есть пустые ячейки, ЧАСТОТА вернёт ошибку. Чтобы их игнорировать, используйте модифицированную формулу:
=СУММ(--(ЧАСТОТА(ЕСЛИ(A2:A10<>""; A2:A10); ЕСЛИ(A2:A10<>""; A2:A10))>0))

(вводится как формула массива!).

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

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

Для этого комбинируем UNIQUE с FILTER (в Excel 365/2021):

=COUNTA(UNIQUE(FILTER(диапазон_значений; (диапазон_условий=критерий1) * (диапазон_условий2>значение); "Нет данных")))

Пример: подсчитаем уникальные названия товаров (B2:B100) из категории "Электроника" (A2:A100="Электроника") с ценой > 5000 (C2:C100>5000):

=COUNTA(UNIQUE(FILTER(B2:B100; (A2:A100="Электроника") * (C2:C100>5000); "Нет данных")))

Для старых версий Excel используйте комбинацию COUNTIFS + вспомогательный столбец с формулой:

=ЕСЛИ(СЧЁТЕСЛИМН($A$2:$A$100; A2; $C$2:$C$100; ">5000")=1; 1; 0)
Почему умножение условий работает в FILTER?

В Excel логические значения ИСТИНА/ЛОЖЬ при умножении ведут себя как 1 и 0. Таким образом, (A2:A100="Электроника") * (C2:C100>5000) возвращает массив из единиц (если оба условия выполнены) и нулей (если хотя бы одно не выполнено). Функция FILTER воспринимает ненулевые значения как ИСТИНА и включает соответствующие строки в результат.

5. Альтернативные методы: Power Query и сводные таблицы

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

Способ 1: Power Query (Excel 2016+)

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

    1. Выделите данные и создайте сводную таблицу (Вставка → Сводная таблица).
    2. Перетащите анализируемый столбец в область Строки.
    3. Excel автоматически посчитает количество уникальных значений в строке Итоги по [название столбца].
    4. Оба метода не только считают уникальные значения, но и позволяют дальше анализировать данные — например, строить графики или экспортировать результаты.

      Типичные ошибки и как их избежать

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

      • 🔍 Пустые ячейки: большинство методов (кроме UNIQUE с фильтром) учитывают пустые ячейки как уникальные значения. Используйте ЕСЛИ(ячейка<>""; формула; "") для их игнорирования.
      • 📛 Скрытые символы: пробелы, неразрывные пробелы (CHAR(160)) или непечатаемые символы делают внешне одинаковые значения разными. Примените =СЖПРОБЕЛЫ(A2) или =ПЕЧСИМВ(A2) для очистки.
      • 🔤 Регистр: "Текст" и "текст" — разные значения. Приведите данные к одному регистру с помощью =СТРОЧН(A2) или =ПРОПИСН(A2).
      • 📊 Динамические диапазоны: если данные добавляются автоматически, используйте Таблицы Excel (Ctrl+T) или именованные диапазоны с функцией =СМЕЩ.

    Критическая ошибка: если вы используете UNIQUE в Excel 2016 или более ранней версии, программа не выдаст ошибку, а просто проигнорирует функцию, вернув #ИМЯ?. Всегда проверяйте версию Excel перед применением динамических функций.

    FAQ: Ответы на частые вопросы

    Можно ли посчитать уникальные значения в Excel Online?

    Да, но с ограничениями. Excel Online поддерживает функцию UNIQUE, но не все формулы массива (например, FREQUENCY может требовать ручного ввода как массива). Для надёжности используйте вспомогательный столбец с COUNTIF.

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

    В Excel 365/2021 используйте UNIQUE + FILTER:

    =COUNTA(UNIQUE(FILTER(диапазон; видимость_строк=ИСТИНА)))

    В старых версиях примените ПРОМЕЖУТОЧНЫЕ.ИТОГИ с функцией 2 (COUNT) после фильтрации данных.

    Почему UNIQUE возвращает ошибку #ПУСТО!?

    Эта ошибка появляется, если:

    1. Исходный диапазон пуст.
    2. В диапазоне есть ошибки (например, #Н/Д). Используйте =ЕСЛИОШИБКА(UNIQUE(...); "").
    3. Вы пытаетесь использовать UNIQUE в версии Excel без поддержки динамических массивов.
    Как посчитать уникальные значения по нескольким столбцам одновременно?

    Создайте вспомогательный столбец, объединяющий данные (например, =A2&B2), затем примените любой метод подсчёта уникальных значений к этому столбцу. Для Excel 365/2021 можно использовать:

    =COUNTA(UNIQUE(A2:A100 & "|" & B2:B100))

    Символ | нужен как разделитель, чтобы избежать склеивания (например, "abc"+"de" = "abcde" может совпасть с другим "ab"+"cde").

    Есть ли разница между UNIQUE и удалением дубликатов через меню?

    Да:

    • UNIQUE — динамическая функция: результат обновляется автоматически при изменении исходных данных.
    • Удаление дубликатов (Данные → Удалить дубликаты) — одноразовая операция, которая физически удаляет повторяющиеся строки. Исходные данные изменяются безвозвратно.