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

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

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

Особое внимание уделим типичным ошибкам: почему функция возвращает #ЗНАЧ!, как избежать подсчёта пустых ячеек и что делать, если данные хранятся в разных листах или книгах. В конце статьи вы найдёте сравнительную таблицу методов и ответы на частые вопросы.

1. Функция СЧЁТЕСЛИ: базовый подсчёт по одному критерию

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

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

=СЧЁТЕСЛИ(диапазон; критерий)
  • 📌 Диапазон — область ячеек, в которой ведётся поиск (например, A2:A100).
  • 🔍 Критерий — условие для подсчёта. Может быть числом (10), текстом ("Да"), выражением (50") или подстановочным знаком ("ов" для поиска слов с "ов").

Примеры использования:

  • 📊 Подсчёт ячеек со значением "Готово": =СЧЁТЕСЛИ(B2:B20; "Готово")
  • 💰 Подсчёт чисел больше 1000: =СЧЁТЕСЛИ(C2:C50; ">1000")
  • 📝 Подсчёт ячеек, содержащих слово "отчёт" (в любом регистре): =СЧЁТЕСЛИ(A2:A100; "отчёт")
⚠️ Внимание: Функция СЧЁТЕСЛИ не учитывает регистр букв. Если нужно различать "Да" и "да", используйте СЧЁТЕСЛИМН с дополнительным параметром или Power Query.

Распространённая ошибка — указание критерия без кавычек для текста. Например, =СЧЁТЕСЛИ(A1:A10; Да) вернёт ошибку, так как Excel воспримет Да как имя ячейки. Правильно: =СЧЁТЕСЛИ(A1:A10; "Да").

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

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

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

Синтаксис:

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

Примеры:

  • 📦 Подсчёт строк, где в столбце A "Ноутбук", а в столбце B "Продано": =СЧЁТЕСЛИМН(A2:A100; "Ноутбук"; B2:B100; "Продано")
  • 📅 Подсчёт заказов от 01.01.2023 по 31.01.2023 в статусе "Оплачено": =СЧЁТЕСЛИМН(C2:C500; ">="&ДАТА(2023;1;1); C2:C500; "<="&ДАТА(2023;1;31); D2:D500; "Оплачено")

Важное отличие от СЧЁТЕСЛИ: все диапазоны должны быть одинакового размера. Если в первом диапазоне 100 строк, а во втором — 50, Excel вернёт ошибку.

Диапазоны имеют одинаковое количество строк и столбцов

Текстовые критерии заключены в кавычки

Даты указаны с использованием функции ДАТА()

Подстановочные знаки (* и ?) экранированы тильдой (~), если нужно найти их как символы-->

3. Функция СУММПРОИЗВ: гибкий подсчёт с логическими выражениями

Функция СУММПРОИЗВ (SUMPRODUCT) часто используется для сложных вычислений, но она также отлично справляется с подсчётом ячеек по условиям. Её преимущество — возможность работать с массивами данных и комбинировать несколько логических выражений без ограничений на количество критериев.

Синтаксис для подсчёта:

=СУММПРОИЗВ(--(условие1); --(условие2); ...)

Двойной минус (--) преобразует логические значения ИСТИНА/ЛОЖЬ в 1/0 для суммирования.

Примеры:

  • 🔢 Подсчёт ячеек в диапазоне A1:A10, где значения больше 5: =СУММПРОИЗВ(--(A1:A10>5))
  • 📌 Подсчёт строк, где в столбце B "Да", а в столбце C значение между 10 и 20: =СУММПРОИЗВ(--(B2:B100="Да"); --(C2:C100>=10); --(C2:C100<=20))

СУММПРОИЗВ особенно полезна, когда нужно применить одно условие к нескольким столбцам. Например, подсчитать количество строк, где хотя бы в одном из столбцов D, E или F стоит "Отклонено":

=СУММПРОИЗВ(--((D2:D100="Отклонено")+(E2:E100="Отклонено")+(F2:F100="Отклонено")>0))
⚠️ Внимание: В старых версиях Excel (до 2019) СУММПРОИЗВ с массивами требует подтверждения клавишами Ctrl+Shift+Enter (формула массива). В новых версиях это не обязательно.

4. Фильтр и строка состояния: быстрый подсчёт без формул

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

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

  1. Выделите диапазон с данными (включая заголовки).
  2. Нажмите Данные → Фильтр (или сочетание Ctrl+Shift+L).
  3. Щёлкните по стрелке фильтра в столбце, где нужно выполнить подсчёт.
  4. Снимите галочку с (Выделить всё) и отметьте только нужные значения.
  5. В нижней части окна Excel (строка состояния) появится сообщение вида "Записей: X из Y", где X — количество отфильтрованных строк.

Этот метод удобен для разовых проверок, когда не требуется сохранять результат подсчёта. Например, чтобы быстро узнать, сколько клиентов из Москвы в вашей базе, или сколько товаров находится на складе в статусе "В наличии".

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

  • Мгновенный результат без написания формул.
  • 🔄 Возможность мгновенно изменить критерии фильтрации.
  • 📊 Визуальная проверка данных после фильтрации.

Ограничения:

  • 🚫 Не подходит для автоматического обновления результата при изменении данных.
  • 📉 Нельзя использовать сложные условия (например, "больше 10 И меньше 20").
Как сохранить результат фильтрации в отдельную таблицу?

Чтобы зафиксировать отфильтрованные данные, выделите видимые строки (нажмите Alt+;), скопируйте их (Ctrl+C) и вставьте на новый лист (Ctrl+V). Либо используйте команду Данные → Сортировка и фильтр → Дополнительно и выберите опцию "Скопировать результат в другое место".

5. Сводные таблицы: динамический подсчёт с группировкой

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

  • 📊 Подсчитывать уникальные значения в разрезе нескольких полей (например, количество продаж по регионам и менеджерам).
  • 🔄 Обновлять результаты одним кликом при изменении исходных данных.
  • 📈 Строить визуализации на основе подсчётов.

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

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

Пример: подсчёт количества заказов по типам товаров и месяцам:

Тип товараМесяцКоличество заказов
НоутбукиЯнварь45
НоутбукиФевраль38
СмартфоныЯнварь120
СмартфоныФевраль95
Итого-298

Сводные таблицы поддерживают настраиваемые группировки. Например, можно сгруппировать даты по кварталам или числа по диапазонам (0–100, 101–200 и т. д.). Для этого щёлкните правой кнопкой по полю в области строк или столбцов и выберите Группировка.

6. Функции БСЧЁТ и БСЧЁТА: подсчёт в отфильтрованных данных

Когда вы работаете с отфильтрованными диапазонами (например, после применения фильтра или slicer’ов в сводной таблице), обычные функции вроде СЧЁТЕСЛИ будут учитывать все ячейки, включая скрытые. Чтобы посчитать только видимые строки, используйте:

  • БСЧЁТ (SUBTOTAL) — для подсчёта числовых значений.
  • БСЧЁТА — для подсчёта непустых ячеек (включая текст).

Синтаксис:

=БСЧЁТ(номер_функции; диапазон)

Для подсчёта видимых ячеек используйте номер_функции=3 (для БСЧЁТА) или номер_функции=103 (для БСЧЁТ, если нужно игнорировать скрытые строки вручную).

Примеры:

  • 📉 Подсчёт видимых числовых значений в столбце D: =БСЧЁТ(103; D2:D100)
  • 📋 Подсчёт видимых непустых ячеек в столбце B: =БСЧЁТА(3; B2:B100)

Эти функции незаменимы при работе с интерактивными отчётами, где пользователь может применять фильтры, а вам нужно показывать актуальные итоги только по видимым данным.

7. Power Query: продвинутый подсчёт с преобразованием данных

Для сложных задач, таких как подсчёт значений в нескольких файлах, объединение данных из разных источников или очистка "грязных" данных перед анализом, идеально подходит инструмент Power Query (доступен в Excel 2016 и новее). Он позволяет:

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

Пример: подсчёт количества уникальных клиентов в каждом регионе.

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

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

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

  • 🔄 Автоматизация повторяющихся задач (очистка, объединение, подсчёт).
  • 📊 Возможность работы с миллионами строк (в отличие от формул Excel).
  • 🛠️ Гибкость: можно добавлять условия, фильтры и вычисляемые столбцы.
⚠️ Внимание: В Excel 2013 Power Query доступен как надстройка "Get & Transform". В Excel 2016 и новее он встроен по умолчанию.

Сравнительная таблица методов подсчёта

Чтобы выбрать оптимальный способ подсчёта, воспользуйтесь таблицей ниже:

Метод Подходит для Ограничения Сложность
СЧЁТЕСЛИ Подсчёт по одному простому критерию Не поддерживает несколько условий
СЧЁТЕСЛИМН Подсчёт по нескольким критериям Максимум 127 пар "диапазон-критерий" ⭐⭐
СУММПРОИЗВ Сложные условия, массивы Требует знания синтаксиса ⭐⭐⭐
Фильтр + строка состояния Быстрая визуальная проверка Не автоматизируется
Сводные таблицы Группировка и многомерный анализ Требует настройки ⭐⭐

Для большинства задач достаточно комбинации СЧЁТЕСЛИМН и сводных таблиц. СУММПРОИЗВ и Power Query пригодятся для нестандартных сценариев.

Частые вопросы (FAQ)

❓ Как посчитать количество уникальных значений в столбце?

Используйте формулу массива: =СЧЁТ(1/ЧАСТОТА(A2:A100;A2:A100)) (в Excel 365 можно без Ctrl+Shift+Enter). Или создайте сводную таблицу и добавьте поле в область значений с функцией Количество уникальных.

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

Проверьте:

  • Текстовые критерии заключены в кавычки ("Да", а не Да).
  • Нет ли скрытых символов (пробелов, неразрывных пробелов) в данных или критерии.
  • Диапазон указан правильно (например, A2:A100, а не A2:A10).
❓ Как посчитать количество ячеек, содержащих часть текста?

Используйте подстановочные знаки:

  • =СЧЁТЕСЛИ(A2:A50; "текст") — ищет "текст" в любом месте ячейки.
  • =СЧЁТЕСЛИ(A2:A50; "текст*") — ищет слова, начинающиеся на "текст".
  • =СЧЁТЕСЛИ(A2:A50; "*текст") — ищет слова, заканчивающиеся на "текст".

Для учёта регистра используйте формулу массива с НАЙТИ или ПОИСК.

❓ Можно ли посчитать цветные ячейки?

Стандартными функциями — нет. Но можно:

  • Использовать VBA-макрос (например, с циклом по ячейкам и проверкой свойства Interior.Color).
  • Добавить вспомогательный столбец с формулой, которая присваивает значение в зависимости от цвета (например, с помощью УСЛОВНОГО ФОРМАТИРОВАНИЯ и ЕСЛИ).
❓ Как посчитать количество значений в другом листе или книге?

Укажите полный путь к диапазону:

  • Для другого листа: =СЧЁТЕСЛИ(Лист2!A2:A100; "Да")
  • Для другой книги: =СЧЁТЕСЛИ([Книга1.xlsx]Лист1!A2:A100; "Да"). Убедитесь, что книга открыта, иначе путь обновится на абсолютный (с полным путём к файлу).