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

Подсчет повторяющихся данных в Microsoft Excel — одна из самых востребованных задач при работе с большими массивами информации. Будь то анализ продаж, обработка опросов или инвентаризация товаров, умение быстро находить и считать дубликаты экономит часы ручной работы. Но как правильно это сделать, если в таблице тысячи строк, а данные не отсортированы?

Многие пользователи ошибочно думают, что для этой задачи нужны сложные макросы или платные надстройки. На самом деле Excel предлагает минимум 5 встроенных способов — от элементарных функций вроде СЧЁТЕСЛИ до мощных инструментов типа Power Query. В этой статье разберём каждый метод с примерами, нюансами и типичными ошибками, которые портят результаты.

1. Базовый метод: функция СЧЁТЕСЛИ для одного критерия

Функция СЧЁТЕСЛИ (COUNTIF в английской версии) — самый простой способ посчитать, сколько раз значение встречается в диапазоне. Она работает с одним условием и подходит для 80% задач начинающих пользователей.

Синтаксис функции:

=СЧЁТЕСЛИ(диапазон; критерий)

Где диапазон — это столбец или строка с данными, а критерий — искомое значение (можно указать ячейку с ним или текст в кавычках). Например, чтобы посчитать, сколько раз слово "Да" встречается в столбце A2:A100, формула будет:

=СЧЁТЕСЛИ(A2:A100; "Да")
  • Плюсы: простая, работает во всех версиях Excel, не требует сортировки данных.
  • Минусы: считает только по одному критерию (нельзя одновременно учитывать, например, "Да" в столбце A и "2023" в столбце B).
  • 🔄 Нюанс: критерий чувствителен к регистру — "да" и "Да" будут считаться разными значениями.

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

2. Продвинутый подсчет: СЧЁТЕСЛИМН для нескольких условий

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

Пример: подсчитаем, сколько раз в таблице продаж встречается товар "Ноутбук" и статус заказа "Выполнен" и дата после 01.01.2026. Формула будет такой:

=СЧЁТЕСЛИМН(A2:A100; "Ноутбук"; B2:B100; "Выполнен"; C2:C100; ">01.01.2026")
Столбец A (Товар) Столбец B (Статус) Столбец C (Дата) Результат
Ноутбук Выполнен 15.02.2026 Считается
Ноутбук Отменён 10.01.2026 НЕ считается
Монитор Выполнен 20.03.2026 НЕ считается

СЧЁТЕСЛИМН поддерживает до 127 пар диапазон-критерий в одной формуле (ограничение Excel). Критерий может быть числом, текстом, выражением (например, ">100") или ссылкой на ячейку.

⚠️ Внимание: Если диапазоны в формуле имеют разный размер, Excel вернёт ошибку #ЗНАЧ!. Все диапазоны должны покрывать одинаковое количество строк.
📊 Какой функцией вы чаще пользуетесь для подсчета?
СЧЁТЕСЛИ
СЧЁТЕСЛИМН
Сводные таблицы
Power Query
Не знаю

3. Динамические массивы: УНИК + СЧЁТЕСЛИ (Excel 365 и 2021)

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

Пример: в столбце A2:A20 перечислены города ("Москва", "СПб", "Казань" и т.д.). Чтобы вывести список городов без повторов и посчитать, сколько раз каждый встречается:

=УНИК(A2:A20)

А рядом в соседнем столбце:

=СЧЁТЕСЛИ($A$2:$A$20; УНИК(A2:A20))

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

Как это работает в Excel 2019 и старше?

В версиях без динамических массивов используйте комбинацию ДВССЫЛ + СЧЁТЕСЛИ с ручным указанием диапазона уникальных значений. Например:

=СЧЁТЕСЛИ($A$2:$A$20; D2)

где D2 — первая ячейка со списком уникальных значений (его нужно создать вручную или через Удалить дубликаты).

4. Сводные таблицы: визуальный анализ повторений

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

  • 📊 Группировать данные по нескольким признакам (например, посчитать повторения по городам и кварталам).
  • 🔍 Фильтровать результаты без изменения исходных данных.
  • 📈 Строить графики на основе подсчётов.

Алгоритм создания:

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

Преимущество метода: не нужно писать формулы. Достаточно обновить данные (правый клик по сводной таблице → Обновить), и все подсчёты пересчитаются.

⚠️ Внимание: Если в исходной таблице есть пустые ячейки или ошибки (#Н/Д), сводная таблица может посчитать их как отдельные категории. Перед созданием проверьте данные на чистоту.

Удалить пустые строки и столбцы

Заменить ошибки (#Н/Д, #ДЕЛ/0!) на 0 или "н/д"

Проверить формат данных (даты как даты, числа как числа)

Добавить заголовки столбцов (если их нет)-->

5. Power Query: обработка миллионов строк

Когда данных так много, что Excel "подвисает" (например, >100 000 строк), на помощь приходит Power Query — инструмент для преобразования и анализа больших массивов. Он встроен в Excel 2016+ и позволяет:

  • 🔄 Группировать данные по любому столбцу с подсчётом повторений.
  • 🧹 Очищать данные от дубликатов и ошибок до подсчёта.
  • 🔗 Объединять данные из нескольких файлов или листов.

Пример: подсчитаем повторения в столбце "Категория" из таблицы с 500 000 строк:

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

Power Query создаёт независимую копию данных, поэтому изменения в исходной таблице не отразятся на результатах автоматически. Чтобы обновить подсчёты, кликните правой кнопкой по загруженной таблице → Обновить.

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

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

Ошибка Причина Решение
#ИМЯ? Опечатка в названии функции Проверьте регистр: СЧЁТЕСЛИ, а не СЧЕТЕСЛИ.
Неправильный подсчёт Диапазон включает заголовки или пустые ячейки Исключите первую строку: A2:A100 вместо A1:A100.
Формула не обновляется Включён ручной режим пересчёта Перейдите в ФормулыПараметры вычисленийАвтоматически.

Ещё одна частая проблема — скрытые символы в данных. Например, пробелы перед текстом или неразрывные пробелы (CHAR(160)) делают "Москва" и " Москва" разными значениями. Чтобы очистить данные, используйте:

=СЖПРОБЕЛЫ(A2)  // удаляет лишние пробелы

=ПОДСТАВИТЬ(A2; CHAR(160); " ") // заменяет неразрывные пробелы

Если подсчёт всё равно не работает, проверьте формат ячеек: текст "123" и число 123 для Excel — разные значения. Используйте ТЕКСТ или ЗНАЧЕН для приведения к одному типу.

7. Альтернативные методы: надстройки и VBA

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

  • 📦 Надстройки: Kutools for Excel (платно) или Ablebits предлагают функции вроде Count same cells с расширенными настройками.
  • 🤖 VBA-макросы: позволяют писать кастомные алгоритмы подсчёта. Пример макроса для подсчёта дубликатов в выделенном диапазоне:
    Sub CountDuplicates()
    

    Dim rng As Range, cell As Range

    Dim dict As Object

    Set dict = CreateObject("Scripting.Dictionary")

    Set rng = Selection

    For Each cell In rng

    If dict.exists(cell.Value) Then

    dict(cell.Value) = dict(cell.Value) + 1

    Else

    dict.Add cell.Value, 1

    End If

    Next cell

    For Each Key In dict.Keys

    MsgBox Key & ": " & dict(Key)

    Next

    End Sub

Предупреждение: макросы и надстройки могут конфликтовать с защищёнными книгами или корпоративными политиками безопасности. Перед использованием проверьте разрешения в Файл → Параметры → Центр управления безопасностью.

📊 Пробовали ли вы автоматизировать подсчёт повторений с помощью VBA?
Да, активно использую
Пробовал, но сложно
Нет, хватает стандартных функций
Не знаю, что это

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

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

Да, с помощью СЧЁТЕСЛИМН или Power Query. Пример формулы для трёх листов:

=СЧЁТЕСЛИ(Лист1!A:A; "Критерий") + СЧЁТЕСЛИ(Лист2!A:A; "Критерий") + СЧЁТЕСЛИ(Лист3!A:A; "Критерий")

В Power Query объедините листы через Добавить запрос → Из файла → Текущая книга.

Как посчитать уникальные значения (без повторов)?

Используйте СЧЁТЕСЛИ с обратной логикой или функцию ЧСТРОК для уникальных данных:

=СУММПРОИЗВ(1/СЧЁТЕСЛИ(A2:A100; A2:A100 & ""))

В Excel 365 проще: =СЧЁТ(УНИК(A2:A100)).

Почему СЧЁТЕСЛИ возвращает 0, хотя значения есть?

Вероятные причины:

  1. В критерии лишние пробелы (попробуйте =СЧЁТЕСЛИ(A:A; СЖПРОБЕЛЫ(" ваш текст "))).
  2. Данные в разных регистрах ("текст" vs "ТЕКСТ"). Используйте НИЖНРЕГ для приведения к нижнему регистру.
  3. Ячейки отформатированы как текст/числа по-разному (например, "1" и 1).
Как посчитать повторения с учётом частичного совпадения?

Для поиска подстрок используйте СЧЁТЕСЛИ с подстановочными знаками:

=СЧЁТЕСЛИ(A2:A100; "часть текста")

Звёздочка (*) заменяет любое количество символов. Для регистронезависимого поиска комбинируйте с НИЖНРЕГ.

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

Да, через Условное форматирование:

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

Для сложных правил используйте формулу в условном форматировании, например =СЧЁТЕСЛИ($A$2:A2; A2)>1.