Подсчёт уникальных значений в таблицах Excel — задача, с которой сталкивается каждый аналитик, бухгалтер или менеджер. Казалось бы, что может быть проще: выбрать столбец и узнать, сколько в нём неповторяющихся записей? Но на практике даже опытные пользователи допускают ошибки: путают уникальные и отличные значения, не учитывают регистр или пробелы, либо используют устаревшие методы для современных версий программы.
В этой статье мы разберём 5 рабочих способов — от элементарных формул до автоматизации через Power Query, — а также покажем, как избежать типичных ловушек. Вы узнаете, какой метод быстрее для больших массивов данных (спойлер: не всегда это СЧЁТЕСЛИ), как обработать текст с опечатками и почему сводные таблицы иногда дают неверный результат.
Материал актуален для Excel 2010–2023 и Microsoft 365. Если вы работаете с Google Таблицами, большинство методов также применимы с минимальными правками.
1. Базовый метод: функция СЧЁТЕСЛИ для небольших диапазонов
Начнём с самого простого — функции СЧЁТЕСЛИ, которая доступна даже в Excel 2003. Этот способ подходит для столбцов до 10 000 строк, но имеет критический недостаток: он учитывает только первое вхождение каждого значения.
Формула выглядит так:
=СЧЁТЕСЛИ($A$2:$A$100; A2)
где $A$2:$A$100 — диапазон для проверки, а A2 — ячейка, значение которой мы ищем.
Чтобы посчитать общее количество уникальных значений, добавьте ещё один столбец с формулой и просуммируйте результаты:
=ЕСЛИ(СЧЁТЕСЛИ($A$2:A2; A2)=1; 1; 0)
затем примените =СУММ(столбец_с_формулой).
- ✅ Плюсы: работает во всех версиях, не требует дополнительных инструментов.
- ❌ Минусы: тормозит на больших массивах, не различает регистр (
"Текст"и"текст"будут считаться одинаковыми). - ⚠️ Ловушка: если в данных есть пустые ячейки, их тоже посчитают как уникальные. Исправляйте это условием
=ЕСЛИ(A2=""; 0; СЧЁТЕСЛИ(...)).
⚠️ Внимание: Если в вашем столбце есть скрытые символы (например, неразрывные пробелы из Word), функцияСЧЁТЕСЛИпосчитает их как уникальные значения. Очистите данные черезТРИМилиПЕЧСИМВ.
Удалить лишние пробелы (ТРИМ)
Привести текст к одному регистру (ПРОПИСН или СТРОЧН)
Заменить непечатаемые символы (ПЕЧСИМВ)
Проверить на пустые ячейки (ЕПУСТО)
-->
2. Продвинутый подход: Уникальные значения через формулу массива
Для пользователей Excel 2019+ и Microsoft 365 доступна функция УНИК (англ. UNIQUE), которая сразу возвращает список уникальных значений. Но как посчитать их количество? Используйте комбинацию с СТРОКА:
=СЧЁТ(УНИК(A2:A100))
Для старых версий подойдёт формула массива (вводится через Эта формула работает так:
Ctrl+Shift+Enter в Excel 2010–2016):
=СУММ(1/СЧЁТЕСЛИ(A2:A100; A2:A100))
Формула массива не различает текст с разным регистром. Чтобы это исправить, добавьте ТОЧНОЕ:
=СУММ(1/СУММПРОИЗВ(--(ТОЧНОЕ(A2:A100; ПОВТОР(A2:A100; СТРОКА(A2:A100)-МИН(СТРОКА(A2:A100))+1)))))
=СЧЁТ(УНИК(ТРИМ(A2:A100))) — это автоматически удалит пробелы.⚠️ Внимание: Формулы массива сильно нагружают процессор. На диапазонах больше 50 000 строк они могут зависнуть. Для больших данных используйте Power Query (см. раздел 5).
3. Сводные таблицы: быстрый визуальный анализ
Сводные таблицы — один из самых наглядных способов посчитать уникальные значения, особенно если нужно увидеть не только количество, но и сами значения. Алгоритм:
- Выделите исходные данные (включая заголовки).
- Нажмите
Вставка → Сводная таблица. - В настройках сводной таблицы перетащите анализируемый столбец в область
Строкии в областьЗначения. - Нажмите на стрелку рядом с
Сумма по...и выберитеКоличество.
Результат — список всех уникальных значений с их частотой. Чтобы посчитать общее количество уникальных записей, просто посчитайте строки в сводной таблице (исключая заголовок).
| Метод | Макс. строк для эффективной работы | Учитывает регистр | Требует подготовки данных |
|---|---|---|---|
СЧЁТЕСЛИ |
до 10 000 | ❌ Нет | ✅ Да (удалить пробелы) |
| Формула массива | до 50 000 | ❌ Нет (без ТОЧНОЕ) |
✅ Да |
| Сводная таблица | до 1 000 000 | ❌ Нет | ❌ Нет |
УНИК + СЧЁТ |
до 100 000 | ❌ Нет | ✅ Да (для точности) |
Критическая ошибка: Сводные таблицы игнорируют пустые ячейки по умолчанию. Если вам нужно их учитывать, добавьте в исходные данные замену пустот на символ-заполнитель (например, "N/A") через ЕСЛИ(ЕПУСТО(A2); "N/A"; A2).
4. Условное форматирование для визуального контроля
Иногда нужно не просто посчитать уникальные значения, а выделить их в таблице. Для этого подходит условное форматирование с правилом:
- Выделите диапазон (например,
A2:A100). - Перейдите в
Главная → Условное форматирование → Создать правило. - Выберите
Использовать формулу для определения форматируемых ячеек. - Введите формулу:
=СЧЁТЕСЛИ($A$2:$A$100; A2)=1. - Задайте цвет заливки (например, жёлтый) и нажмите
ОК.
Теперь все уникальные значения будут подсвечены. Чтобы посчитать их количество, просто посчитайте количество цветных ячеек вручную или используйте формулу:
=СЧЁТЕСЛИ(ГЦВЕТ(A2:A100); 6)
(где 6 — индекс жёлтого цвета в палитре Excel; уточните его через ГЦВЕТ для вашей таблицы).
- 🎨 Плюс: Наглядно показывает распределение данных.
- ⚠️ Минус: Цветовые индексы могут отличаться в разных темах оформления Excel.
- 🔍 Альтернатива: Для точного подсчёта используйте комбинацию с
ПОИСКПОЗ:
=СУММ(--(ПОИСКПОЗ(A2:A100; A2:A100; 0)=ТРАНСП(СТРОКА(A2:A100)-СТРОКА(A2)+1)))
Почему условное форматирование может не работать?
Если формула возвращает ошибку, проверьте:
1. Диапазоны в формуле должны быть абсолютными (с $), кроме текущей ячейки.
2. В данных не должно быть ошибок (#Н/Д, #ЗНАЧ! и т.д.).
3. Для больших диапазонов (>65 000 строк) условное форматирование может не применяться — разбивайте данные на части.
5. Power Query: обработка миллионов строк без формул
Для больших данных (от 100 000 строк) оптимален инструмент Power Query (доступен в Excel 2016+ как Данные → Получить данные). Он не только посчитает уникальные значения, но и очистит данные от дублей, опечаток и лишних символов.
Пошаговая инструкция:
- Выделите исходный диапазон и нажмите
Данные → Из таблицы/диапазона(в Excel 2016 —Power Query → Из таблицы). - В открывшемся редакторе выберите столбец с данными.
- Нажмите
Главная → Группировка. - В настройках группировки выберите:
- Операция:
Количество строк. - Новое имя столбца:
Count.
- Операция:
ОК, затем Главная → Закрыть и загрузить.Результат — новая таблица, где каждое уникальное значение встречается только один раз с указанием количества повторений. Чтобы посчитать общее число уникальных значений, добавьте столбец с формулой =СЧЁТ(лист!A:A), где лист — имя загруженной таблицы.
- ⚡ Преимущества:
- Обрабатывает миллионы строк без тормозов.
- Автоматически удаляет пробелы и приводит регистр к единому виду.
- Можно сохранить шаги очистки для повторного использования.
- ⚙️ Настройка: Чтобы учитывать регистр, добавьте пользовательский столбец с формулой
= Text.Upper([Column1])перед группировкой.
6. Частые ошибки и как их избежать
Даже опытные пользователи допускают ошибки при подсчёте уникальных значений. Вот самые распространённые ловушки и способы их обхода:
- 🔢 Проблема: Формула
СЧЁТЕСЛИсчитает"1"(текст) и1(число) как разные значения.Решение: Приведите все данные к одному формату через
ЗНАЧЕН(для чисел) илиТЕКСТ(для текста). - 📛 Проблема: В данных есть скрытые символы (например, табуляции или переводы строк).
Решение: Используйте
ПЕЧСИМВ(A2; CHAR(9)&CHAR(10)&CHAR(13))для их удаления. - 🔍 Проблема: Сводная таблица показывает меньше уникальных значений, чем есть на самом деле.
Решение: Проверьте, не отфильтрованы ли данные в исходной таблице. Также убедитесь, что в настройках сводной таблицы не стоит галочка
Игнорировать пустые строки. - 🔄 Проблема: При копировании формулы массива она превращается в обычную.
Решение: Всегда вводите формулы массива через
Ctrl+Shift+Enter(в Excel 365 это не требуется).
⚠️ Внимание: Если вы работаете с данными, импортированными из 1C или SQL, проверьте их на наличие непечатаемых символов с кодомCHAR(160)(неразрывный пробел). СтандартныйТРИМего не удаляет! Используйте:=ПОДСТАВИТЬ(A2; CHAR(160); " ")
7. Сравнение методов: какой выбрать?
Выбор метода зависит от объёма данных, версии Excel и требуемой точности. Вот краткое руководство:
Если вам нужно не только посчитать, но и проанализировать уникальные значения (например, найти самые частые), комбинируйте методы:
Да! Для этого: В Power Query проще: выделите нужные столбцы → Функция Большинство методов игнорируют регистр. Чтобы его учитывать: Да, для этого: Для полной автоматизации напишите макрос на VBA, который будет запускаться по таймеру или при открытии файла. Если данные отфильтрованы, стандартные методы дадут результат для всего диапазона, а не для видимых ячеек. Решения:
Задача
Лучший метод
Альтернатива
До 1 000 строк, простая таблица
СЧЁТЕСЛИ + условное форматированиеСводная таблица
1 000–50 000 строк, нужна точность
Формула массива с
ТОЧНОЕУНИК (если Excel 365)
Более 50 000 строк
Power Query
Сводная таблица (если данных до 1 млн)
Нужно выделить дубли, а не уникальные значения
Условное форматирование с
=СЧЁТЕСЛИ($A$2:$A$100; A2)>1Power Query (группировка + фильтр)
Данные с опечатками (например, "Иванов" и "Иванов ")
Power Query с очисткой
Формулы
ТРИМ + ПОДСТАВИТЬ
FAQ: Ответы на частые вопросы
Можно ли посчитать уникальные значения по нескольким столбцам одновременно?
=A2&B2).Группировка → укажите все столбцы в настройках.Почему функция УНИК не работает в моём Excel?
УНИК (англ. UNIQUE) доступна только в Excel 2019+ и Microsoft 365. Для старых версий используйте:
=ИНДЕКС($A$2:$A$100; ПОИСКПОЗ(0; СЧЁТЕСЛИ($F$1:F1; $A$2:$A$100)+ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$100; $A$2:$A$100)>1; 0; 1); 0)) (вводится через Ctrl+Shift+Enter).Как посчитать уникальные значения с учётом регистра?
ТОЧНОЕ:=СУММ(1/СУММПРОИЗВ(--(ТОЧНОЕ(A2:A100; ПОВТОР(A2:A100; СТРОКА(A2:A100)-МИН(СТРОКА(A2:A100))+1)))))= Text.Upper([Column1])) и группируйте по нему.Можно ли автоматизировать подсчёт уникальных значений при обновлении данных?
Обновить).Автопересчёт в Формулы → Параметры вычислений → Автоматически.Обновить при открытии файла в настройках.Как посчитать уникальные значения в фильтрованном списке?
ПРОМЕЖУТОЧНЫЕ.ИТОГИ:=СУММ(1/ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3; ДВССЫЛ("A"&ПОИСКПОЗ(A2:A100; A2:A100; 0))))ФИЛЬТР + УНИК:=СЧЁТ(УНИК(ФИЛЬТР(A2:A100; (A2:A100<>"")*(ПОДСЧЁТЗ(A2:A100)>0))))