Работа с большими списками товаров, клиентов или проектов в Microsoft Excel часто требует подсчёта уникальных наименований. Например, вам нужно узнать, сколько разных продуктов заказано за месяц, или определить количество уникальных поставщиков в базе. Вручную пересчитывать сотни строк — неэффективно, а ошибки в таком подходе неизбежны.
К счастью, Excel предлагает несколько способов автоматизации этой задачи: от простых функций вроде СЧЁТЕСЛИ до мощных инструментов вроде УНИК (в новых версиях) или сводных таблиц. Выбор метода зависит от версии программы, структуры данных и ваших целей. В этой статье разберём все актуальные варианты — с примерами, нюансами и типичными ошибками.
Если вы новичок, начните с базовых функций. Опытным пользователям пригодятся продвинутые приёмы с массивами и динамическими диапазонами. А для тех, кто работает с Excel Online или Google Sheets, мы отдельно отметим совместимые методы.
1. Простой подсчёт уникальных значений функцией СЧЁТЕСЛИМН
Самый универсальный способ — использовать комбинацию функций СЧЁТЕСЛИМН (или COUNTIFS в английской версии) с дополнительным столбцом. Этот метод работает во всех версиях Excel, включая 2010 и старше.
Алгоритм действий:
- Создайте вспомогательный столбец рядом с данными.
- В первой ячейке столбца введите формулу, которая проверяет, встречается ли текущее значение выше:
=СЧЁТЕСЛИ($A$2:A2; A2)=1Здесь
$A$2:A2— диапазон от первой ячейки до текущей (с абсолютной ссылкой на начало), аA2— адрес проверяемой ячейки. - Растяните формулу на весь столбец. Она вернёт
ИСТИНА(1) только для первого вхождения каждого уникального значения. - В любой свободной ячейке подсчитайте количество
ИСТИНАс помощью=СЧЁТЕСЛИ(столбец_со_значениями; ИСТИНА).
Пример для списка товаров в столбце A:
| Товар (A) | Уникальное? (B) |
|---|---|
| Яблоки | =СЧЁТЕСЛИ($A$2:A2; A2)=1 → 1 |
| Бананы | =СЧЁТЕСЛИ($A$2:A3; A3)=1 → 1 |
| Яблоки | =СЧЁТЕСЛИ($A$2:A4; A4)=1 → 0 |
| Апельсины | =СЧЁТЕСЛИ($A$2:A5; A5)=1 → 1 |
Итоговое количество уникальных наименований: =СЧЁТЕСЛИ(B2:B5; ИСТИНА) → 3.
⚠️ Внимание: Если в данных есть пустые ячейки, формула посчитает их как уникальные значения. Чтобы исключить их, добавьте условие ЕСЛИ(A2<>""; формула; "").
2. Функция УНИК (UNIQUE) в Excel 365 и 2021
В Excel 365 и Excel 2021 появилась революционная функция УНИК (UNIQUE), которая сразу возвращает список уникальных значений. Её можно комбинировать с СЧЁТ для подсчёта:
Формула для подсчёта уникальных наименований в диапазоне A2:A100:
=СЧЁТ(УНИК(A2:A100))
Преимущества метода:
- 🔹 Без вспомогательных столбцов — всё в одной формуле.
- 🔹 Динамический результат — автоматически обновляется при изменении данных.
- 🔹 Поддержка фильтров: можно исключить пустые ячейки или значения по условию, например:
=СЧЁТ(УНИК(ФИЛЬТР(A2:A100; A2:A100<>"")))
Функция УНИК чувствительна к регистру: "Яблоки" и "яблоки" будут считаться разными значениями. Если это критично, предварительно приведите текст к единому регистру с помощью ПРОПИСН или СТРОЧН.
⚠️ Внимание: В Excel для Mac функцияУНИКможет работать нестабильно в версиях старше 16.50. Если формула возвращает ошибку#ИМЯ?, обновите программу.
3. Подсчёт с помощью сводной таблицы
Сводные таблицы — универсальный инструмент для анализа данных, включая подсчёт уникальных значений. Этот метод подходит для любых версий Excel и не требует знания формул.
Пошаговая инструкция:
- Выделите диапазон с данными (включая заголовок столбца).
- Перейдите на вкладку
Вставка → Сводная таблица. - В открывшемся окне выберите, куда поместить таблицу (например, на новый лист).
- В области
Названия строкперетащите столбец с наименованиями. - В область
Значенияперетащите тот же столбец. По умолчанию Excel посчитает количество вхождений каждого значения. - Чтобы увидеть только уникальные наименования, отсортируйте таблицу по алфавиту или количеству.
Для подсчёта общего количества уникальных значений:
- 📌 Добавьте в сводную таблицу ещё одно поле в
Значения. - 📌 Нажмите на стрелочку рядом с полем →
Параметры полей значений → Дополнительные вычисления → % от общего. - 📌 Количество уникальных строк будет равно количеству ненулевых процентов.
| Наименование | Количество |
|---|---|
| Яблоки | 12 |
| Бананы | 8 |
| Апельсины | 5 |
| Итог уникальных: | 3 |
Удалите пустые строки в исходных данных|
Проверьте отсутствие объединённых ячеек|
Задайте заголовок столбца (не оставляйте ячейку пустой)|
Убедитесь, что нет скрытых символов (пробелов, переносов)
-->
4. Использование функции ЧАСТОТА для сложных диапазонов
Функция ЧАСТОТА (FREQUENCY) предназначена для подсчёта вхождений значений в интервалах, но с её помощью можно посчитать и уникальные наименования. Этот метод полезен, если данные не отсортированы или содержат дубликаты с разным регистром.
Алгоритм:
- Создайте вспомогательный столбец с уникальными значениями (можно скопировать исходный столбец и удалить дубликаты вручную или через
Данные → Удалить дубликаты). - Выделите диапазон для результата (например,
C2:C100). - Введите формулу массива:
=ЧАСТОТА(исходный_диапазон; уникальные_значения)и завершите ввод сочетанием
Ctrl+Shift+Enter(в старых версиях). - Количество ненулевых значений в результате равно количеству уникальных наименований.
Пример:
=ЧАСТОТА(A2:A100; B2:B10)
где A2:A100 — исходные данные, а B2:B10 — список уникальных значений.
⚠️ Внимание: Если в уникальном списке есть значения, отсутствующие в исходных данных, функция вернёт 0 для них. Это может исказить итоговый подсчёт. Перед использованием проверьте списки на соответствие.
Как удалить дубликаты без формул?
Выделите столбец с данными → Данные → Удалить дубликаты → выберите столбец → ОК. Excel оставит только первые вхождения каждого уникального значения. Обратите внимание: это необратимое действие — рекомендуем предварительно скопировать данные на другой лист.
5. Подсчёт уникальных значений по условию
Часто требуется посчитать уникальные наименования, соответствующие дополнительным критериям. Например, количество уникальных товаров в категории "Овощи" или уникальных клиентов с суммой заказа больше 1000 ₽.
Для этого комбинируем УНИК с ФИЛЬТР (в Excel 365/2021):
=СЧЁТ(УНИК(ФИЛЬТР(диапазон_наименований; (диапазон_категорий="Овощи")*(диапазон_цен>100))))
В старых версиях используйте СЧЁТЕСЛИМН с вспомогательным столбцом:
- Создайте столбец, который проверяет выполнение условия для каждой строки.
- Добавьте ещё один столбец для проверки уникальности (как в методе 1).
- Подсчитайте количество строк, где оба условия истинны.
Пример для списка с категориями в столбце B и ценами в C:
=СЧЁТЕСЛИМН(D2:D100; ИСТИНА; B2:B100; "Овощи"; C2:C100; ">100")
где D2:D100 — столбец с проверкой уникальности.
6. Подсчёт повторяющихся (неуникальных) наименований
Иногда важно не только посчитать уникальные значения, но и выявить дубликаты. Например, чтобы найти повторяющиеся заказы или ошибки в базе данных.
Способы идентификации дубликатов:
- 🔍 Условное форматирование:
Выделите диапазон →
Главная → Условное форматирование → Правила выделения ячеек → Повторяющиеся значения. Excel выделит цветом все дубли. - 📊 Формула для подсчёта повторений:
=ЕСЛИ(СЧЁТЕСЛИ($A$2:$A$100; A2)>1; "Дубликат"; "")Растяните её на весь столбец.
- 🛠 Сводная таблица:
Добавьте поле в
Значениядважды — один раз для подсчёта количества, второй раз для отображения % от общего. Дубликаты будут иметь значение >1.
Чтобы посчитать общее количество дублирующихся строк (не уникальных), используйте:
=СЧЁТ(А2:А100) - СЧЁТ(УНИК(А2:А100))
где A2:A100 — диапазон с данными.
| Метод | Подходит для | Ограничения |
|---|---|---|
| Условное форматирование | Визуальный анализ | Не даёт числового результата |
Формула СЧЁТЕСЛИ | Любые версии Excel | Требует вспомогательного столбца |
| Сводная таблица | Крупные массивы данных | Не обновляется автоматически при изменении данных |
7. Автоматизация с помощью Power Query
Для регулярной обработки больших объёмов данных (например, ежемесячных отчётов) удобно использовать Power Query — инструмент для извлечения, преобразования и загрузки данных.
Как посчитать уникальные наименования в Power Query:
- Выделите исходную таблицу и нажмите
Данные → Из таблицы/диапазона(илиGet & Transform → From Table/Rangeв английской версии). - В открывшемся редакторе выберите столбец с наименованиями.
- На вкладке
ПреобразованиенажмитеГруппировка(Group By). - В настройках группировки выберите:
- 📌
Группировать по:ваш столбец с наименованиями. - 📌
Новое имя столбца:"Количество". - 📌
Операция:Количество значений(Count Rows).
- 📌
Закрыть и загрузить. В новой таблице каждое уникальное наименование будет встречаться один раз, а столбец "Количество" покажет число его вхождений.Преимущества Power Query:
- 🔄 Автоматическое обновление при изменении исходных данных.
- 📂 Сохранение шагов обработки — не нужно повторять действия вручную.
- 🔗 Объединение данных из нескольких источников (Excel, CSV, базы данных).
⚠️ Внимание: При импорте данных из внешних источников (например, CSV) Power Query может автоматически изменить формат ячеек (например, ведущие нули в артикулах). Проверяйте результат после загрузки!
8. Типичные ошибки и как их избежать
Даже опытные пользователи сталкиваются с проблемами при подсчёте уникальных значений. Вот наиболее распространённые ошибки и способы их решения:
- 🚫 Пустые ячейки считаются как уникальные значения:
Используйте
ЕСЛИ(ячейка<>""; формула; "")или фильтруйте пустые значения вФИЛЬТР. - 🚫 Разный регистр воспринимается как разные значения:
Приведите текст к единому регистру с помощью
ПРОПИСН,СТРОЧНилиПРОПНАЧ. - 🚫 Скрытые символы (пробелы, неразрывные пробелы, перenosы):
Очистите данные функцией
СЖПРОБЕЛЫилиПЕЧСИМВ(для удаления непечатаемых символов). - 🚫 Ошибка #ЧИСЛО! в функции ЧАСТОТА:
Убедитесь, что диапазон для результата достаточно большой и введён как формула массива (
Ctrl+Shift+Enterв старых версиях).
Проверьте свои данные на наличие скрытых проблем с помощью формулы:
=ДЛСТР(СЖПРОБЕЛЫ(A2)) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A2); " "; ""))
Она вернёт количество слов в ячейке. Если результат неожиданный (например, 2 вместо 1), значит, в данных есть лишние пробелы или символы.
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2; СИМВОЛ(160); " "); СИМВОЛ(10); ""); СИМВОЛ(13); ""))
Эта формула удаляет неразрывные пробелы (СИМВОЛ(160)) и символы переноса строк (СИМВОЛ(10), СИМВОЛ(13)).-->
FAQ: Ответы на частые вопросы
Можно ли посчитать уникальные значения в Google Sheets?
Да, в Google Sheets работают аналогичные методы:
- 📌
=COUNTA(UNIQUE(A2:A100))— аналогСЧЁТ(УНИК()). - 📌
=COUNTIFS— аналогСЧЁТЕСЛИМН. - 📌 Сводные таблицы создаются так же, как в Excel.
Обратите внимание: в Google Sheets функция UNIQUE по умолчанию не чувствительна к регистру (в отличие от Excel).
Как посчитать уникальные значения в фильтрованном списке?
Если данные отфильтрованы, стандартные функции (СЧЁТЕСЛИ, УНИК) будут работать с всеми строками, а не только с видимыми. Решения:
- 🔹 Скопируйте видимые ячейки на новый лист: выделите данные →
Alt+;(выделение видимых ячеек) → скопируйте → вставьте как значения. - 🔹 Используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ:
=СЧЁТ(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; ОТСУТСТВУЕТ(ПОИСКПОЗ(диапазон; диапазон; 0))))где
103— код операции "СЧЁТ" для видимых ячеек.
Почему функция УНИК возвращает ошибку #ИМЯ?
Ошибка #ИМЯ? означает, что Excel не распознаёт функцию. Причины:
- 🔸 Вы используете Excel 2019 или старше — функция
УНИКпоявилась только в 365/2021. - 🔸 Языковой пакет: в некоторых локализациях функция называется иначе (например,
UNIQUEв английской версии). - 🔸 Опечатка в названии функции (например, "УНИКАЛЬНЫЙ" вместо "УНИК").
Решение: обновите Excel или используйте альтернативные методы (СЧЁТЕСЛИМН, сводные таблицы).
Как посчитать уникальные значения в нескольких столбцах?
Чтобы посчитать уникальные комбинации значений из нескольких столбцов (например, "Товар + Категория"), используйте:
- 📌 Вспомогательный столбец с конкатенацией:
=A2 & "|" & B2затем примените любой метод подсчёта уникальных значений к этому столбцу.
- 📌 Функция УНИК для нескольких столбцов (Excel 365/2021):
=СЧЁТ(УНИК(А2:А100 & "|" & B2:B100))
Разделитель "|" нужен, чтобы избежать ложных совпадений (например, "ЯблокиЗелёные" и "Яблоки Зелёные" будут восприняты как разные значения).
Можно ли автоматически обновлять количество уникальных значений при добавлении новых данных?
Да, для этого:
- 🔄 Используйте динамические диапазоны (например,
ТаблицаExcel[Столбец1]вместоA2:A100). - 🔄 Настройте Power Query с автоматическим обновлением при открытии файла (
Данные → Свойства → Обновлять при открытии). - 🔄 В Excel 365 функции
УНИКиФИЛЬТРобновляются автоматически.
Для старых версий Excel единственный надёжный способ — макрос VBA, который будет пересчитывать значения по событию (например, при изменении листа).