Как посчитать количество уникальных значений в диапазоне Excel: от простых формул до Power Query

Если вам нужно определить, сколько разных (неповторяющихся) элементов содержится в столбце или строке Excel, стандартная функция СЧЁТ не подойдёт — она учитывает все ячейки, включая дубликаты. Для точного подсчёта уникальных значений требуются специальные подходы: от комбинаций базовых функций до продвинутых инструментов вроде Power Query или UNIQUE в Excel 365. Ошибка в выборе метода может привести к завышенным или заниженным результатам, особенно если в данных есть пустые ячейки, ошибки или регистрозависимые значения.

Например, при анализе списка клиентов, товарных позиций или транзакций важно знать именно количество уникальных записей, а не общее число строк. В этой статье разберём 5 проверенных способов — от универсальных формул для старых версий Excel (2010–2019) до современных динамических массивов в Microsoft 365. Каждый метод проиллюстрирован примерами и предупреждениями о типичных ловушках, таких как учёт регистра или игнорирование ошибок.

1. Базовый способ: комбинация СЧЁТЕСЛИ + СЧЁТЗ для старых версий Excel

В версиях Excel до 2019 года (включая 2010, 2013, 2016) нет встроенной функции для подсчёта уникальных значений, но задачу можно решить с помощью массива формул. Классический метод использует сочетание СЧЁТЕСЛИ и СЧЁТЗ:

=СУММ(--(ЧАСТОТА(диапазон; диапазон)>0))

Где диапазон — это адрес ячеек с данными (например, A2:A100). Чтобы формула заработала, её нужно ввести как массивную: нажать Ctrl+Shift+Enter (в старых версиях) или просто Enter в Excel 365.

  • ✅ Работает во всех версиях Excel, включая 2010.
  • ⚠️ Игнорирует пустые ячейки автоматически.
  • ❌ Не различает текст с разным регистром (например, "Иван" и "иван" будут считаться одинаковыми).
  • 🔹 Требует подтверждения массива в версиях до 2019.

Пример: если в диапазоне B2:B10 содержатся значения {"яблоко"; "груша"; "яблоко"; "банан"; ""; "груша"}, формула вернёт 3 (яблоко, груша, банан). Пустая ячейка проигнорируется.

⚠️ Внимание: Если в данных есть ошибки (например, #Н/Д), формула вернёт некорректный результат. Чтобы исключить ошибки, оберните диапазон в ЕСЛИОШИБКА:

=СУММ(--(ЧАСТОТА(ЕСЛИОШИБКА(диапазон; ""); ЕСЛИОШИБКА(диапазон; ""))>0))

2. Функция УНИК в Excel 365 и 2021: самый простой способ

В Microsoft 365 и Excel 2021 появилась специализированная функция УНИК (UNIQUE), которая сразу возвращает список уникальных значений. Чтобы посчитать их количество, достаточно обернуть её в СТРОКИ:

=СТРОКИ(УНИК(диапазон))

Преимущества метода:

  • 🔹 Не требует массивов или горячих клавиш.
  • ✅ Учитывает регистр (если нужно игнорировать — используйте НИЖНРЕГ).
  • 📌 Автоматически обновляется при изменении данных.

Пример: для диапазона A2:A5 с значениями {"Привет"; "привет"; "Мир"} формула вернёт 3, так как "Привет" и "привет" считаются разными.

📊 Какую версию Excel вы используете?
Excel 2010-2019
Excel 2021
Microsoft 365
Не знаю

Чтобы игнорировать регистр, модифицируйте формулу:

=СТРОКИ(УНИК(НИЖНРЕГ(диапазон)))

3. Подсчёт уникальных значений с условием (СЧЁТЕСЛИМН + УНИК)

Если нужно посчитать уникальные значения, соответствующие дополнительным критериям (например, только положительные числа или текст, начинающийся с определённой буквы), используйте комбинацию СЧЁТЕСЛИМН и УНИК.

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

=СТРОКИ(УНИК(ФИЛЬТР(A2:A100; B2:B100="Электроника")))

Для старых версий Excel замените ФИЛЬТР на ЕСЛИ + ЧАСТОТА:

=СУММ(--(ЧАСТОТА(ЕСЛИ(B2:B100="Электроника"; A2:A100); ЕСЛИ(B2:B100="Электроника"; A2:A100))>0))
⚠️ Внимание: В версиях до 2019 эту формулу нужно вводить как массивовую (Ctrl+Shift+Enter).

4. Использование сводной таблицы для визуального анализа

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

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

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

МетодПодходит для версийУчитывает регистрТребует горячих клавиш
ЧАСТОТА + СУММ2010–2023❌ Нет✅ Да (Ctrl+Shift+Enter)
УНИК + СТРОКИ365, 2021✅ Да❌ Нет
Сводная таблицаВсе✅ Да❌ Нет
Power Query2016–2023, 365✅ Да (настраивается)❌ Нет

Сводные таблицы удобны для разовых задач, но не подходят для динамических расчётов — при изменении данных таблицу придётся обновлять вручную (ПКМОбновить).

5. Power Query: продвинутый подсчёт с очисткой данных

Для больших наборов данных (тысячи строк) или сложных условий (например, игнорирование пробелов, приведение к нижнему регистру) оптимально использовать Power Query (вкладка ДанныеПолучить данные). Алгоритм:

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

    • 🧹 Автоматическая очистка данных (удаление дублей, пробелов, приведение регистра).
    • 🔄 Легкое обновление при изменении исходных данных.
    • 📊 Возможность комбинировать несколько столбцов для подсчёта уникальных пар (например, "Товар + Категория").
    ⚠️ Внимание: Power Query создаёт отдельную таблицу, что может увеличить размер файла. Для одноразовых задач используйте формулы.
    Как игнорировать регистр в Power Query

    В редакторе Power Query выделите столбец → вкладка "Преобразование" → "Формат" → "НИЖНРЕГ" (или "ВЕРХНРЕГ"). После этого группируйте данные — все значения придут к единому регистру.

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

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

    • 🔢 Пустые ячейки: Функция ЧАСТОТА игнорирует их автоматически, но если в данных есть ячейки с формулами, возвращающими "", они могут учитываться. Используйте ЕСЛИ(диапазон<>""; диапазон) для фильтрации.
    • 🔤 Регистр: "Текст" и "текст" — разные значения для УНИК, но одинаковые для ЧАСТОТА. Приведите данные к единому регистру с помощью НИЖНРЕГ.
    • Ошибки в данных: Ячейки с #Н/Д или #ЗНАЧ! сломают формулу. Оберните диапазон в ЕСЛИОШИБКА.
    • 📊 Динамические диапазоны: Если данные постоянно обновляются, используйте Таблицы Excel (вкладка ВставкаТаблица) — формулы будут автоматически расширяться.

    Пример корректной формулы с учётом всех ловушек:

    =СУММ(--(ЧАСТОТА(
    

    ЕСЛИОШИБКА(

    ЕСЛИ(A2:A100<>""; НИЖНРЕГ(A2:A100));

    ""

    );

    ЕСЛИОШИБКА(

    ЕСЛИ(A2:A100<>""; НИЖНРЕГ(A2:A100));

    ""

    )

    )>0))

    Удалите лишние пробелы функцией СЖПРОБЕЛЫ|

    Приведите текст к единому регистру (НИЖНРЕГ или ВЕРХНРЕГ)|

    Исключите ошибки с помощью ЕСЛИОШИБКА|

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

    -->

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

    Выбор метода зависит от версии Excel, объёма данных и требований к гибкости:

    КритерийЧАСТОТА + СУММУНИК + СТРОКИСводная таблицаPower Query
    СложностьСредняяНизкаяНизкаяВысокая
    Динамическое обновление✅ Да✅ Да❌ Нет (нужно обновлять)✅ Да
    Работа с большими данными❌ Медленно✅ Быстро✅ Быстро✅ Очень быстро
    Учёт регистра❌ Нет✅ Да✅ Да✅ Настраивается

    Для разовых задач в небольших таблицах подойдёт сводная таблица. Если нужна автоматика и гибкость — УНИК (для Excel 365) или Power Query. Для старых версий Excel оптимален метод с ЧАСТОТА, но требует аккуратности.

    FAQ: Частые вопросы

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

    Да, но стандартные формулы (например, ЧАСТОТА) будут учитывать все ячейки, включая скрытые. Чтобы посчитать только видимые после фильтра:

    1. Примените фильтр к данным.
    2. Выделите видимый диапазон (без скрытых строк).
    3. Используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3; диапазон) для подсчёта видимых ячеек, затем примените ЧАСТОТА к результату.

    В Excel 365 проще: =СТРОКИ(УНИК(ФИЛЬТР(диапазон; видимость_строк))), где видимость_строк — условие фильтра.

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

    Чтобы найти количество уникальных комбинаций значений из нескольких столбцов (например, "Фамилия + Имя"), используйте:

    • В Excel 365: =СТРОКИ(УНИК(A2:A100 & "|" & B2:B100)) (разделитель "|" нужен, чтобы избежать склеивания одинаковых частей).
    • В старых версиях: создайте вспомогательный столбец с конкатенацией (=A2 & "|" & B2), затем примените ЧАСТОТА к этому столбцу.
    Почему формула с ЧАСТОТА возвращает неверное количество?

    Частые причины:

    • В диапазоне есть ошибки (#Н/Д, #ЗНАЧ!) — оберните диапазон в ЕСЛИОШИБКА.
    • Есть пустые ячейки — добавьте условие ЕСЛИ(диапазон<>""; диапазон).
    • Формула не подтверждена как массивная (в версиях до 2019) — нажмите Ctrl+Shift+Enter.
    • В данных есть скрытые символы (пробелы, непечатаемые знаки) — очистите текст функцией СЖПРОБЕЛЫ или ПЕЧСИМВ.
    Как посчитать уникальные значения с учётом регистра в Excel 2016?

    В версиях без функции УНИК используйте комбинацию ЧАСТОТА с приведением к единому регистру:

    =СУММ(--(ЧАСТОТА(НИЖНРЕГ(ЕСЛИ(диапазон<>""; диапазон))); НИЖНРЕГ(ЕСЛИ(диапазон<>""; диапазон)))>0))

    Эта формула:

    1. Игнорирует пустые ячейки.
    2. Приводит все значения к нижнему регистру.
    3. Считает уникальные значения с учётом исходного регистра (так как приведение происходит до сравнения).
    Можно ли автоматизировать подсчёт уникальных значений при добавлении новых данных?

    Да, для этого:

    1. Преобразуйте диапазон в таблицу Excel (Ctrl+T).
    2. Используйте УНИК (в 365) или Power Query — они автоматически обновляются при изменении данных.
    3. Для формул с ЧАСТОТА расширьте диапазон до целого столбца (например, A:A), но это может замедлить работу.

    Лучший вариант — Power Query, так как он оптимизирован для больших объёмов данных.