Как посчитать количество в Excel: все способы с формулами и примерами

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

В этой статье мы разберём все основные способы подсчёта количества в Excel — от простейших функций вроде COUNT до сложных комбинаций с SUMPRODUCT и FILTER. Вы узнаете, как считать только числовые значения, игнорировать пустые ячейки, применять несколько условий одновременно и даже подсчитывать данные по цвету. А для тех, кто работает с большими массивами, мы подготовили оптимизированные формулы, которые ускорят обработку данных в разы.

Материал будет полезен как новичкам, так и опытным пользователям. Начинающие найдут здесь пошаговые инструкции с картинками и примерами, а продвинутые — редкие приёмы и комбинации функций, которые экономят время. Все формулы протестированы в последних версиях Excel 2021 и Microsoft 365, но большинство из них работает и в старых редакциях (начиная с Excel 2010).

1. Базовые функции для подсчёта: COUNT, COUNTA, COUNTBLANK

Начнём с трёх основных функций, которые покрывают 80% задач по подсчёту данных. Они входят в стандартный набор Excel и работают во всех версиях программы.

Функция COUNT подсчитывает количество ячеек с числовыми значениями, включая даты, время и формулы, которые возвращают числа. Она игнорирует текст, логические значения (ИСТИНА/ЛОЖЬ) и пустые ячейки.

=COUNT(значение1; [значение2];..)

Пример: =COUNT(A2:A100) вернёт количество чисел в диапазоне A2:A100.

Функция COUNTA (от англ. "count all") считает все непустые ячейки, независимо от типа данных. Она учитывает текст, числа, ошибки (например, #ДЕЛ/0!), но игнорирует действительно пустые ячейки.

=COUNTA(значение1; [значение2];..)

Пример: =COUNTA(B2:B50) покажет, сколько ячеек в диапазоне содержат хоть какие-то данные.

Функция COUNTBLANK делает обратное — подсчитывает пустые ячейки, включая те, что содержат формулы, возвращающие пустую строку ("").

=COUNTBLANK(диапазон)

Пример: =COUNTBLANK(C2:C20) вернёт количество пустых ячеек в столбце C.

Например, если в ячейке формула =ЕСЛИ(A1>10; ""; "мало"), то:

  • 🔢 COUNT проигнорирует её (нет числового результата)
  • 📝 COUNTA посчитает (есть текстовый результат)
  • COUNTBLANK проигнорирует (результат не пуст)
📊 Какую функцию вы используете чаще всего?
COUNT
COUNTA
COUNTBLANK
Другую

2. Подсчёт по условию: COUNTIF и COUNTIFS

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

Функция COUNTIF подсчитывает количество ячеек, которые удовлетворяют одному условию. Синтаксис:

=COUNTIF(диапазон; условие)

Примеры:

  • 📌 =COUNTIF(A2:A100; ">50") — количество чисел больше 50
  • 📌 =COUNTIF(B2:B50; "Да") — количество ячеек с текстом "Да"
  • 📌 =COUNTIF(C2:C20; "<>"&"") — количество непустых ячеек (аналог COUNTA)

Функция COUNTIFS расширяет возможности, позволяя задавать несколько условий одновременно. Синтаксис:

=COUNTIFS(диапазон1; условие1; [диапазон2; условие2];..)

Пример: =COUNTIFS(A2:A100; ">50"; B2:B100; "Муж") посчитает количество записей, где значение в столбце A больше 50, а в столбце B указано "Муж".

Обратите внимание на особенности работы с текстом:

  • 🔤 Условия с текстом чувствительны к регистру: "Да" ≠ "да" ≠ "ДА"
  • 🔤 Для поиска частичного совпадения используйте подстановочные знаки: "текст" или "текст*"
  • 🔤 Чтобы найти ячейки с ошибками, используйте COUNTIF(диапазон; "#Н/Д")
Как посчитать ячейки с ошибками?

Используйте функцию =SUMPRODUCT(--ISERROR(диапазон)). Она вернёт количество ячеек с любыми ошибками (#ДЕЛ/0!, #ЗНАЧ!, #Н/Д и др.).

Критичный нюанс: в Excel 2019 и старше COUNTIFS поддерживает до 127 пар "диапазон-условие", а в Excel 2007-2016 — только до 29. Превышение лимита приводит к ошибке #ЗНАЧ!.

3. Продвинутый подсчёт: SUMPRODUCT и массивы

Для сложных задач, где COUNTIFS не справляется (например, при работе с несколькими листами или динамическими диапазонами), приходит на помощь функция SUMPRODUCT. Она позволяет выполнять операции с массивами данных и часто используется для подсчёта с множественными критериями.

Базовый синтаксис для подсчёта:

=SUMPRODUCT(--(условие1); --(условие2);..)

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

Примеры:

  • 📊 =SUMPRODUCT(--(A2:A100>50)) — аналог COUNTIF(A2:A100; ">50")
  • 📊 =SUMPRODUCT(--(A2:A100="Да"); --(B2:B100="Муж")) — подсчёт по двум столбцам
  • 📊 =SUMPRODUCT(--(LEN(A2:A100)>0)) — количество непустых ячеек (аналог COUNTA)

Преимущества SUMPRODUCT перед COUNTIFS:

  • ✅ Работает с несоседними диапазонами
  • ✅ Поддерживает операции с массивами (например, умножение диапазонов)
  • ✅ Может использоваться для сложных логических проверок

Однако есть и недостатки:

⚠️ Внимание: SUMPRODUCT пересчитывает все данные при каждом изменении листа, что может замедлить работу с большими массивами (10 000+ строк). Для оптимизации используйте COUNTIFS там, где это возможно.

Нужно посчитать с несколькими ИЛИ-условиями|Работаете с несоседними диапазонами|Требуется умножать значения перед подсчётом|Нужно применить сложную логику (например, регулярные выражения через вспомогательные функции)-->

4. Подсчёт уникальных значений и дубликатов

Частая задача — посчитать количество уникальных значений в диапазоне или, наоборот, найти дубликаты. Для этого в Excel есть специализированные функции и приёмы.

Способы подсчёта уникальных значений:

  • 🔍 В Excel 365/2021: =UNIQUE(диапазон) + ROWS:
    =ROWS(UNIQUE(A2:A100))
  • 🔍 В старых версиях: комбинация SUMPRODUCT + COUNTIF:
    =SUMPRODUCT(1/COUNTIF(A2:A100; A2:A100))
    ⚠️ Внимание: эта формула должна вводиться как формула массива (в старых версиях — Ctrl+Shift+Enter). В Excel 365 работает без этого.

Для подсчёта дубликатов используйте:

=COUNTIF(диапазон; критерий) - COUNTIF(уникальные_значения; критерий)

Или более универсальный вариант:

=SUMPRODUCT((COUNTIF(A2:A100; A2:A100)>1)*1)

Пример из практики: если у вас список email-адресов в столбце B, и нужно посчитать количество уникальных доменов (все, что после @), используйте:

=ROWS(UNIQUE(RIGHT(B2:B100; LEN(B2:B100)-FIND("@"; B2:B100))))

Эта формула извлекает доменную часть из каждого email и считает уникальные значения.

5. Подсчёт по цвету ячейки или шрифта

Стандартные функции Excel не умеют напрямую подсчитывать ячейки по цвету, но эту задачу можно решить с помощью VBA-макроса или фильтрации. Рассмотрим оба способа.

Способ 1: Фильтрация по цвету (без VBA)

  1. Выделите диапазон данных
  2. Перейдите на вкладку Главная → Сортировка и фильтр → Фильтр
  3. Нажмите на стрелку фильтра в столбце и выберите Фильтр по цвету → Выбрать цвет ячейки
  4. Скопируйте отфильтрованные данные в новый диапазон и используйте COUNTA

Способ 2: VBA-функция (для продвинутых)

Создайте пользовательскую функцию для подсчёта ячеек по цвету фона:

Function CountByColor(rng As Range, color As Range) As Long

Dim cl As Range

Dim count As Long

count = 0

For Each cl In rng

If cl.Interior.Color = color.Interior.Color Then

count = count + 1

End If

Next cl

CountByColor = count

End Function

Используйте её в ячейке как: =CountByColor(A2:A100; B2), где B2 — ячейка с образцом цвета.

Для подсчёта по цвету шрифта замените Interior.Color на Font.Color.

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

  • 🎨 VBA-функции работают только в файлах с расширением .xlsm (с поддержкой макросов)
  • 🎨 Цвета, заданные условным форматированием, не учитываются
  • 🎨 Функция чувствительна к оттенкам (RGB-коды должны полностью совпадать)

6. Динамические диапазоны и подсчёт в таблицах Excel

При работе с умными таблицами (Ctrl+T) или динамическими диапазонами (например, A2:A вместо A2:A100) формулы подсчёта приобретают дополнительные возможности. Рассмотрим ключевые приёмы.

Подсчёт в умных таблицах

Если ваш диапазон оформлен как таблица (Вставка → Таблица), используйте структурированные ссылки. Например, для подсчёта количества строк в таблице с именем Таблица1:

=ROWS(Таблица1)

Для подсчёта непустых ячеек в столбце Возраст:

=COUNTA(Таблица1[Возраст])

Динамические диапазоны

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

  • 📏 =COUNT(A:A) — подсчёт всех чисел в столбце A (включая заголовок)
  • 📏 =COUNTA(2:2) — подсчёт непустых ячеек во всей второй строке
  • 📏 =COUNTIF(Таблица1[Столбец1]; ">100") — динамический подсчёт по условию

Комбинация с другими функциями

Для сложных задач комбинируйте подсчёт с функциями вроде INDEX, MATCH или FILTERExcel 365). Пример: подсчёт количества строк, где значение в столбце A больше 50, а в столбце B содержится "Да":

=ROWS(FILTER(Таблица1; (Таблица1[Столбец1]>50)*(Таблица1[Столбец2]="Да")))

Преимущества динамических диапазонов:

  • 🔄 Формулы автоматически обновляются при добавлении/удалении данных
  • 🔄 Упрощается чтение формул (имена столбцов вместо адресов ячеек)
  • 🔄 Легче поддерживать большие файлы

7. Распространённые ошибки и как их избежать

Даже опытные пользователи Excel иногда сталкиваются с ошибками при подсчёте данных. Разберём типичные проблемы и их решения.

Ошибка #1: Неучтённые скрытые символы

Функции вроде COUNTA или COUNTIF могут давать неожиданные результаты, если в ячейках есть невидимые символы (пробелы, переводы строк, неразрывные пробелы). Чтобы очистить данные:

  • 🧹 Используйте =TRIM(A1) для удаления лишних пробелов
  • 🧹 Примените =CLEAN(A1) для удаления непечатаемых символов
  • 🧹 Для замены неразрывных пробелов: =SUBSTITUTE(A1; CHAR(160); " ")

Ошибка #2: Несоответствие типов данных

COUNT игнорирует текстовые числа (например, "100" вместо 100). Чтобы преобразовать текст в числа:

=VALUE(A1)

Или для всего столбца:

=--A1
(двойной минус преобразует текст в число)

Ошибка #3: Ошибки в диапазонах

Если формула возвращает #ЗНАЧ!, проверьте:

  • 🔍 Совпадает ли размер диапазонов в COUNTIFS (должны быть одинаковыми)
  • 🔍 Нет ли ссылок на удалённые листы или книги
  • 🔍 Не превышен ли лимит условий (127 в новых версиях, 29 в старых)

Ошибка #4: Пустые ячейки с формулами

Ячейки с формулами, возвращающими пустую строку (=""), воспринимаются COUNTBLANK как непустые. Чтобы посчитать действительно пустые ячейки:

=SUMPRODUCT(--(A2:A100=""); --(LEN(A2:A100)=0))

Ошибка #5: Кэширование данных

Иногда Excel не обновляет результаты формул автоматически. Чтобы принудительно пересчитать:

  • 🔄 Нажмите F9 (пересчёт всех формул на листе)
  • 🔄 Или Ctrl+Alt+F9 (пересчёт всех формул во всей книге)
Как ускорить пересчёт больших файлов?

1. Переведите формулы в ручной режим: Формулы → Параметры вычислений → Вручную

2. Используйте COUNTIFS вместо SUMPRODUCT где возможно

3. Разбейте большой файл на несколько маленьких

4. Избегайте летучих функций (например, SEARCH, INDIRECT)

FAQ: Частые вопросы по подсчёту в Excel

❓ Как посчитать количество ячеек с ошибками (#Н/Д, #ДЕЛ/0! и др.)?

Используйте формулу массива:

=SUMPRODUCT(--ISERROR(A2:A100))

В Excel 365 можно проще:

=COUNTIF(A2:A100; "#Н/Д") + COUNTIF(A2:A100; "#ДЕЛ/0!") +..

Но первый способ надёжнее, так как учитывает все типы ошибок автоматически.

❓ Почему COUNTIF не считает ячейки с датами?

COUNTIF воспринимает даты как числа (количество дней с 1 января 1900 года). Чтобы посчитать даты в определённом диапазоне, используйте:

=COUNTIFS(A2:A100; ">="&ДАТА(2026;1;1); A2:A100; "<="&ДАТА(2026;12;31))

Или для конкретной даты:

=COUNTIF(A2:A100; ДАТА(2026;5;15))
❓ Как посчитать количество ячеек, содержащих любую из нескольких фраз?

Используйте SUMPRODUCT с COUNTIF:

=SUMPRODUCT(COUNTIF(A2:A100; {"текст1";"текст2";"текст3"}))

Или в Excel 365:

=COUNTIFS(A2:A100; "текст1") + COUNTIFS(A2:A100; "текст2") + COUNTIFS(A2:A100; "текст3")
❓ Можно ли посчитать количество ячеек с условным форматированием?

Нет, стандартными функциями это сделать нельзя. Альтернативы:

  • 🎨 Используйте VBA-макрос для анализа условного форматирования
  • 🎨 Создайте вспомогательный столбец с формулой, которая проверяет условие форматирования, и считайте его

Пример VBA-функции для подсчёта ячеек с красным фоном (условным или ручным):

Function CountRedCells(rng As Range) As Long

Dim cl As Range, count As Long

count = 0

For Each cl In rng

If cl.DisplayFormat.Interior.Color = RGB(255, 0, 0) Then count = count + 1

Next cl

CountRedCells = count

End Function

❓ Как посчитать количество уникальных значений с учётом регистра?

Стандартные функции Excel нечувствительны к регистру. Для учёта регистра используйте VBA или комбинацию SUMPRODUCT с EXACT:

=SUMPRODUCT(--(MMULT(--(EXACT(A2:A100; TRANSPOSE(A2:A100))); SIGN(ROW(A2:A100)-TRANSPOSE(ROW(A2:A100))))=0))

Эта формула должна вводиться как формула массива (Ctrl+Shift+Enter в старых версиях).