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

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

В этой статье мы разберём не только классические методы с СЧЁТЕСЛИ и ЕСЛИОШИБКА, но и малоизвестные приёмы для больших массивов данных (100 000+ строк), где стандартные формулы начинают «тормозить». А ещё вы узнаете, как обойти скрытую ловушку Excel с пустыми ячейками, из-за которой многие получают неверные результаты. Готовы? Тогда приступаем!

1. Базовый способ: функция СЧЁТЕСЛИ для небольших таблиц

Если у вас столбец с данными до 10 000 строк, самый простой метод — комбинация СЧЁТЕСЛИ и СУММПРОИЗВ. Этот дуэт работает во всех версиях Excel, начиная с 2007 года. Суть в том, что мы проверяем каждое значение на уникальность и суммируем результаты.

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

=СУММПРОИЗВ(--(ЧАСТОТА(А2:А100;А2:А100)>0))

Где А2:А100 — диапазон с вашими данными. Важно: это формула массива, поэтому в старых версиях Excel (до 2019) её нужно вводить через Ctrl+Shift+Enter. В новых версиях и Office 365 достаточно просто нажать Enter.

  • ✅ Работает без дополнительных столбцов
  • ✅ Подходит для текста, чисел и дат
  • ⚠️ Тормозит на больших диапазонах (50 000+ строк)
  • ❌ Не игнорирует пустые ячейки (нужно дорабатывать)
⚠️ Внимание: Если в вашем столбце есть пустые ячейки, формула посчитает их как уникальные значения! Чтобы исключить их, модифицируйте формулу так:
=СУММПРОИЗВ(--(ЧАСТОТА(ЕСЛИ(А2:А100<>"";А2:А100);ЕСЛИ(А2:А100<>"";А2:А100))>0))

2. Функция УНИК в Excel 365 и 2021: революционно просто

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

=СЧЁТ(УНИК(А2:А100))

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

  • 🚀 Мгновенный результат даже для 100 000+ строк
  • 🎯 Автоматически игнорирует пустые ячейки
  • 🔄 Динамически обновляется при изменении данных

Но есть нюанс: УНИК чувствительна к регистру. То есть «Иванов» и «иванов» будут считаться разными значениями. Если это критично, предварительно приведите текст к одному регистру с помощью ПРОПИСН или СТРОЧН.

📊 Какую версию Excel вы используете?
Excel 2010-2019
Excel 2021
Microsoft 365
Mac для Excel
Другая

3. Power Query: для больших данных и сложных условий

Когда речь идёт о миллионах строк или нужна предварительная очистка данных (удалить пробелы, привести к одному регистру, заменить ошибки), на помощь приходит Power Query. Этот инструмент встроен в Excel начиная с версии 2016 (в 2010-2013 его можно установить как надстройку Power BI).

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

  1. Выделите ваш столбец → вкладка ДанныеИз таблицы/диапазона (в старых версиях: Получить данные → Из таблицы/диапазона).
  2. В открывшемся редакторе Power Query выделите столбец → вкладка ГлавнаяУдалить строки → Удалить дубликаты.
  3. Нажмите Закрыть и загрузить в... и выберите Только создать связь.
  4. Теперь используйте функцию СЧЁТЗ для подсчёта строк в полученной таблице.
МетодМакс. строкЧувствительность к региструИгнорирует пустые ячейки
СЧЁТЕСЛИ + СУММПРОИЗВ~50 000ДаНет
Функция УНИК1 000 000+ДаДа
Power Query10 000 000+НастраиваетсяНастраивается
Сводная таблица1 000 000+ДаДа

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

Привести текст к одному регистру (ПРОПИСН/СТРОЧН)

Заменить ошибки (#Н/Д, #ЗНАЧ!) на пустые ячейки (ЕСЛИОШИБКА)

Удалить дубликаты вручную (если они очевидны)-->

4. Сводная таблица: визуально и без формул

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

Как сделать:

  1. Выделите ваш столбец (например, A1:A100).
  2. Перейдите на вкладку ВставкаСводная таблица.
  3. В поле Значения перетащите ваш столбец и выберите Количество.
  4. В настройках группы (Анализ сводной таблицы → Поля, элементы и наборы → Группировка) убедитесь, что не включена автоматическая группировка дат или чисел.

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

⚠️ Внимание: Сводная таблица по умолчанию игнорирует пустые ячейки, но если в ваших данных есть ячейки с формулами, возвращающими пустую строку (=""), они будут учитываться как уникальные значения! Чтобы этого избежать, предварительно замените их на настоящие пустые ячейки с помощью ЕСЛИ.

5. Формула для уникальных значений с учётом нескольких столбцов

Допустим, вам нужно посчитать уникальные комбинации значений из нескольких столбцов. Например, пары «Город + Продукт» или «Дата + Клиент». Здесь поможет комбинация СЦЕПИТЬ (или ОБЪЕДИНИТЬ в новых версиях) с ЧАСТОТА.

Формула для двух столбцов (A2:A100 и B2:B100):

=СУММПРОИЗВ(--(ЧАСТОТА(СЦЕПИТЬ(А2:А100;"|";B2:B100);СЦЕПИТЬ(А2:А100;"|";B2:B100))>0))

Обратите внимание на разделитель "|" — он нужен, чтобы избежать ложных совпадений. Например, если в первом столбце «12», а во втором «34», а в другой строке «123» и «4», то без разделителя комбинации сольются в «1234».

Как ускорить расчёты для 100 000+ строк

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

1. Создайте новый столбец с формулой =А2&"|"&B2 (для двух столбцов).

2. Скопируйте его значения через Специальная вставка → Значения.

3. Примените к этому столбцу функцию УНИК (если есть) или сводную таблицу.

Это сократит время вычислений в 10-100 раз!

6. Ошибки и ловушки: почему формулы врать не будут

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

  • 🔍 Скрытые символы: Невидимые пробелы, переносы строк или неразрывные пробелы (код CHAR(160)) делают внешне одинаковые значения разными. Используйте СЖПРОБЕЛЫ и ПЕЧСИМВ для диагностики.
  • 📅 Даты vs текст: Если даты хранятся как текст (например, «01.01.2023» вместо настоящей даты), они не будут совпадать с ячейками, где дата введена корректно. Проверяйте формат с помощью ТИП.
  • 🔢 Числа с разным форматом: «1000» и «1,000» (с разделителем тысяч) — это разные значения. Используйте ЗНАЧЕН для приведения к числовому формату.

Чтобы проверить данные на наличие таких проблем, используйте условное форматирование:

  1. Выделите столбец → Главная → Условное форматирование → Правила выделения ячеек → Повторяющиеся значения.
  2. Выберите формат для дубликатов (например, красный текст).
  3. Уникальные значения останутся без выделения.

1. Добавьте вспомогательный столбец с формулой =КОДСИМВ(ЛЕВСИМВ(A2)) (она вернёт код первого символа, чувствительный к регистру).

2. Объедините этот столбец с исходным через СЦЕПИТЬ.

3. Примените к результату стандартный метод подсчёта уникальных значений.-->

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

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

Да, но с оговорками. В Excel 365 и 2021 для этого есть функция УНИК, которая не требует дополнительных столбцов. В более старых версиях придётся использовать формулы массива (например, с ЧАСТОТА), но они могут замедлять работу книги при большом объёме данных. Для таблиц свыше 10 000 строк рекомендуем Power Query или сводные таблицы.

Почему моя формула возвращает #ЗНАЧ!?

Ошибка #ЗНАЧ! в формулах с ЧАСТОТА обычно возникает из-за:

  • Несовпадения размеров диапазонов (например, А2:А100 vs А2:А99).
  • Наличия текстовых значений в числовом столбце (используйте ЕСЛИОШИБКА для фильтрации).
  • В старых версиях Excel — забыли нажать Ctrl+Shift+Enter для формулы массива.

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

Если нужно учитывать дополнительные критерии (например, уникальные продукты только для определённого региона), используйте комбинацию ЕСЛИ + ЧАСТОТА:

=СУММПРОИЗВ(--(ЧАСТОТА(ЕСЛИ((А2:А100="Регион1")(B2:B100<>"");B2:B100);ЕСЛИ((А2:А100="Регион1")(B2:B100<>"");B2:B100))>0))

Здесь мы фильтруем данные по столбцу A (регион) и считаем уникальные значения в столбце B.

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

Да, и это критично! Уникальные значения — это неповторяющиеся данные в одном столбце (например, список городов). Уникальные записи — это неповторяющиеся комбинации значений из нескольких столбцов (например, пара «Город + Продукт»). Для второго случая нужно использовать СЦЕПИТЬ или Power Query с группировкой по нескольким полям.

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

Чтобы подсчёт обновлялся динамически:

  • Преобразуйте ваш диапазон в умную таблицу (Ctrl+T).
  • Используйте структурированные ссылки в формулах (например, Таблица1[Столбец1] вместо A2:A100).
  • Для Power Query настройте автоматическое обновление данных при открытии файла (Данные → Обновить все).