Как в Excel посчитать количество ячеек с одинаковым значением: пошаговое руководство

Введение: почему подсчёт повторяющихся значений важен

Работа с большими массивами данных в Microsoft Excel часто требует анализа частотности значений. Например, вам может понадобиться узнать, сколько раз в отчёте встречается название конкретного продукта, сколько сотрудников имеют одинаковую должность или сколько заказов пришло из одного региона. Вручную пересчитывать такие данные неэффективно — особенно если речь идёт о тысячах строк.

К счастью, в Excel есть несколько инструментов для автоматического подсчёта ячеек с одинаковым значением: от простых функций вроде СЧЁТЕСЛИ до продвинутых методов с использованием СЧЁТЕСЛИМН, СУММПРОИЗВ или даже Power Query. В этой статье мы разберём все актуальные способы с учётом версий Excel 2010–2023 и Office 365, а также покажем, как избежать типичных ошибок при работе с повторяющимися данными.

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

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

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

Где:

  • 📌 диапазон — столбец или строка, в которой нужно искать совпадения (например, A2:A100).
  • 🔍 критерий — значение, которое вы ищете (может быть текстом, числом или ссылкой на ячейку).

Пример: чтобы посчитать, сколько раз в столбце B встречается слово "Да", используйте:

=СЧЁТЕСЛИ(B2:B50; "Да")
⚠️ Внимание: Функция СЧЁТЕСЛИ нечувствительна к регистру. То есть "да", "Да" и "ДА" будут восприняты как одно значение. Если важен регистр, используйте комбинацию СУММПРОИЗВ с ТОЧНОЕ (см. Способ 4).

Способ 2: СЧЁТЕСЛИМН — подсчёт по нескольким условиям

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

=СЧЁТЕСЛИМН(диапазон1; критерий1; [диапазон2; критерий2]; ...)

Пример: подсчитаем, сколько заказов со статусом "Выполнен" пришло от клиента "Иванов":

=СЧЁТЕСЛИМН(B2:B100; "Иванов"; C2:C100; "Выполнен")
Столбец B (Клиент) Столбец C (Статус) Результат
Иванов Выполнен ✅ Подходит
Петров Выполнен ❌ Не подходит
Иванов Отменён ❌ Не подходит

Функция вернёт количество строк, где одновременно выполняются оба условия. Максимальное количество пар "диапазон-критерий" — 127Excel 365).

📊 Какой версией Excel вы пользуетесь?
Excel 2010–2016
Excel 2019
Excel 365 (подписка)
Excel Online
Другая

Способ 3: Сводные таблицы — визуализация частотности

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

Инструкция:

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

Убедитесь, что в данных нет пустых строк|Проверьте, что заголовки столбцов уникальны|Удалите объединённые ячейки (они могут нарушить работу сводной)|Преобразуйте диапазон в таблицу (Ctrl+T) для автоматического обновления-->

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

⚠️ Внимание: Если в исходных данных есть скрытые строки или столбцы, сводная таблица их проигнорирует. Перед созданием сводной удалите фильтры или покажите все данные (Главная → Формат → Скрыть/отобразить → Отобразить строки).

Способ 4: СУММПРОИЗВ + ТОЧНОЕ — учёт регистра и точные совпадения

Как упоминалось ранее, СЧЁТЕСЛИ игнорирует регистр символов. Если вам нужно посчитать ячейки с точным совпадением (включая заглавные/строчные буквы), используйте комбинацию функций СУММПРОИЗВ и ТОЧНОЕ:

=СУММПРОИЗВ(--(ТОЧНОЕ(диапазон; критерий)))

Пример: подсчёт ячеек со словом "Да" (только с большой буквы) в диапазоне A2:A10:

=СУММПРОИЗВ(--(ТОЧНОЕ(A2:A10; "Да")))

Разберём формулу:

  • 🔄 ТОЧНОЕ(A2:A10; "Да") возвращает массив ИСТИНА/ЛОЖЬ для каждой ячейки.
  • 📉 Двойной минус -- преобразует ИСТИНА в 1, а ЛОЖЬ в 0.
  • СУММПРОИЗВ суммирует все единицы, давая итоговое количество совпадений.
Почему не работает формула массива?

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

- В Excel 2019 и старше: просто нажмите Enter.

- В Excel 2016 и младше: завершите ввод комбинацией Ctrl+Shift+Enter. Формула автоматически обернётся в фигурные скобки {...}.

Способ 5: Условное форматирование — визуальный анализ повторений

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

Инструкция:

  1. Выделите диапазон для анализа (например, B2:B100).
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеПравила выделения ячеекПовторяющиеся значения.
  3. В открывшемся окне выберите формат для дубликатов (например, светло-красную заливку).
  4. Нажмите ОК — все повторяющиеся значения будут выделены.

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

  1. Выделите заголовок столбца.
  2. Нажмите ДанныеФильтр.
  3. Откройте выпадающий список фильтра и выберите Фильтр по цвету → нужный цвет заливки.
  4. Количество оставшихся строк после фильтрации — это количество дубликатов.

Способ 6: Power Query — обработка больших массивов данных

Для работы с очень большими таблицами (десятки тысяч строк) или если данные нужно предварительно очистить, используйте Power Query (доступен в Excel 2016+ и Excel 365). Этот инструмент позволяет группировать данные и считать количество вхождений без формул.

Пошаговая инструкция:

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

    Способ 7: VBA-макрос — автоматизация для продвинутых пользователей

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

    Sub CountOccurrences()
    

    Dim searchRange As Range

    Dim searchValue As Variant

    Dim count As Long

    ' Задаём диапазон и значение для поиска

    Set searchRange = Selection

    searchValue = InputBox("Введите значение для подсчёта:", "Поиск повторений")

    ' Подсчёт вхождений

    count = Application.WorksheetFunction.CountIf(searchRange, searchValue)

    ' Вывод результата

    MsgBox "Значение """ & searchValue & """ встречается " & count & " раз(а).", vbInformation

    End Sub

    Как использовать:

    1. Нажмите Alt + F11, чтобы открыть редактор VBA.
    2. Вставьте код в новый модуль (Insert → Module).
    3. Вернитесь в Excel, выделите диапазон и запустите макрос (Alt + F8 → выберите CountOccurrencesВыполнить).
    4. Введите искомое значение в появившемся окне.
    5. ⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). Если вы сохраните файл как .xlsx, код будет удалён. Также убедитесь, что в настройках безопасности разрешено выполнение макросов (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Параметры макросов).

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

      Можно ли посчитать количество уникальных значений в Excel?

      Да, для этого используйте функцию =СЧЁТЕСЛИ(диапазон; диапазон) (в английской версии — =SUMPRODUCT(1/COUNTIF(range; range))). Или проще: преобразуйте диапазон в таблицу и используйте сводную таблицу с группировкой по нужному столбцу — количество уникальных значений будет равно количеству строк в сводной.

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

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

      • 🔍 В критерии есть лишние пробелы (попробуйте =СЧЁТЕСЛИ(A2:A10; СЖПРОБЕЛЫ(" ваше значение "))).
      • 📏 Диапазон указан неверно (проверьте, что он включает все нужные ячейки).
      • 📝 Значение в ячейке выглядит одинаково, но хранится по-разному (например, число "10" и текст "10"). Используйте ТИП для проверки.
      Как посчитать количество ячеек с ошибками (#Н/Д, #ЗНАЧ! и т.д.)?

      Используйте функцию =СЧЁТЕСЛИ(диапазон; "#Н/Д") для конкретной ошибки или комбинацию:

      =СУММПРОИЗВ(--(ЕОШ(диапазон)))

      Эта формула вернёт количество всех ошибочных ячеек в диапазоне.

      Можно ли посчитать повторения в Google Таблицах?

      Да, в Google Sheets работают те же функции:

      • =COUNTIF(диапазон; критерий) — аналог СЧЁТЕСЛИ.
      • =COUNTIFS(диапазон1; критерий1; диапазон2; критерий2) — аналог СЧЁТЕСЛИМН.
      • Для точного совпадения с учётом регистра используйте =SUMPRODUCT(--(EXACT(диапазон; критерий))).

    Также в Google Таблицах есть функция =UNIQUE для извлечения уникальных значений.

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

    Excel не предоставляет прямой функции для этого, но можно использовать VBA:

    Function CountFormulas(rng As Range) As Long
    

    Dim cell As Range

    For Each cell In rng

    If cell.HasFormula Then CountFormulas = CountFormulas + 1

    Next cell

    End Function

    После добавления этого кода в модуль используйте в ячейке как обычную функцию: =CountFormulas(A1:A100).