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

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

В этой статье мы разберём 5 проверенных методов, как посчитать количество ячеек с числами — от элементарных функций до гибких формул для сложных условий. Вы узнаете, чем отличается СЧЁТ от СЧЁТЗ, как игнорировать скрытые строки, и почему иногда лучше использовать СУММПРОИЗВ вместо ЕСЛИ. А для тех, кто работает с большими массивами данных, мы подготовили уникальный приём с массивами, который ускорит вычисления в 10 раз.

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

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

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

=СЧЁТ(значение1; [значение2]; ...)

Пример: если в диапазоне A1:A10 содержатся числа 5, 12, "текст", 8, ЛОЖЬ, 23, то формула =СЧЁТ(A1:A10) вернёт 4 (подсчитает только 5, 12, 8, 23).

  • ✅ Подходит для быстрого подсчёта в небольших таблицах
  • ✅ Автоматически игнорирует текст и пустые ячейки
  • ❌ Не учитывает ячейки с формулами, возвращающими текст (например, =ЕСЛИ(A1>10;"Да";"Нет"))
  • ❌ Не работает с условиями (например, "посчитать только числа больше 10")
⚠️ Внимание: Функция СЧЁТ считает ячейки с датами как числовые, потому что в Excel даты хранятся как числа (количество дней с 1 января 1900 года). Если вам нужно исключить даты, используйте комбинацию с ЕТЕКСТ.

2. СЧЁТЗ vs СЧЁТ: когда использовать каждую

Многие путают СЧЁТ с функцией СЧЁТЗ (англ. COUNTA). Разница критична:

  • 🔢 СЧЁТ — считает только числовые ячейки (включая даты и время).
  • 📝 СЧЁТЗ — считает все непустые ячейки, независимо от типа данных (числа, текст, ошибки, логические значения).

Пример: в диапазоне B1:B5 содержатся значения 10, "Привет", ИСТИНА, #ДЕЛ/0!, 3.14. Результаты:

ФункцияФормулаРезультатПояснение
СЧЁТ=СЧЁТ(B1:B5)2Только 10 и 3.14
СЧЁТЗ=СЧЁТЗ(B1:B5)5Все ячейки непустые

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

=СЧЁТЗ(диапазон) - СЧЁТ(диапазон)
📊 Какой функцией вы чаще пользуетесь для подсчёта?
СЧЁТ
СЧЁТЗ
СЧЁТЕСЛИ
Другие функции
Не знаю разницы

3. Подсчёт с условием: СЧЁТЕСЛИ и СЧЁТЕСЛИМН

Когда нужно посчитать числовые ячейки, соответствующие определённому критерию (например, "больше 100" или "равно 5"), используйте:

  • 🔍 СЧЁТЕСЛИ (англ. COUNTIF) — для одного условия.
  • 🔍🔍 СЧЁТЕСЛИМН (англ. COUNTIFS) — для нескольких условий.

Синтаксис СЧЁТЕСЛИ:

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

Примеры критериев:

  • ">10" — числа больше 10
  • "<=5" — числа меньше или равны 5
  • "<>0" — все числа, кроме нуля
  • "=100" — точно равные 100

Пример: подсчитать количество ячеек в C1:C20, где значения больше 50:

=СЧЁТЕСЛИ(C1:C20; ">50")

Для нескольких условий используйте СЧЁТЕСЛИМН. Например, посчитать числа в A1:A10, которые больше 10 и меньше 100:

=СЧЁТЕСЛИМН(A1:A10; ">10"; A1:A10; "<100")
⚠️ Внимание: Функции СЧЁТЕСЛИ и СЧЁТЕСЛИМН подсчитывают все ячейки, соответствующие критерию, а не только числовые. Если в диапазоне есть текст "100", он тоже будет посчитан при критерии "=100". Чтобы избежать этого, комбинируйте их с ЕЧИСЛО (см. следующий раздел).

Убедитесь, что в диапазоне нет текста, похожего на числа|Проверьте регистр критериев (например, "<100" и "< 100" — разные записи)|Используйте ЕЧИСЛО для строгого подсчёта только числовых ячеек|Тестируйте формулу на небольшом диапазоне перед применением ко всей таблице-->

4. Продвинутый подсчёт: комбинация с ЕЧИСЛО

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

Пример 1: подсчёт всех числовых ячеек в диапазоне D1:D50:

=СУММПРОИЗВ(--ЕЧИСЛО(D1:D50))

Здесь ЕЧИСЛО возвращает массив ИСТИНА/ЛОЖЬ, а двойной минус (--) преобразует ИСТИНА в 1, а ЛОЖЬ — в 0. СУММПРОИЗВ суммирует единицы.

Пример 2: подсчёт числовых ячеек, которые больше 100:

=СУММПРОИЗВ(--(ЕЧИСЛО(D1:D50) * (D1:D50 > 100)))

Этот метод работает в 10 раз быстрее, чем комбинация СЧЁТЕСЛИ с вспомогательным столбцом, особенно на больших массивах данных (10 000+ строк).

5. Подсчёт видимых числовых ячеек (игнорируя скрытые строки)

Если в таблице применён фильтр или некоторые строки скрыты вручную, стандартные функции (СЧЁТ, СЧЁТЕСЛИ) будут учитывать все ячейки, включая скрытые. Чтобы посчитать только видимые числовые ячейки, используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ (англ. SUBTOTAL).

Синтаксис:

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(номер_функции; диапазон)

Для подсчёта числовых ячеек используйте номер_функции = 2:

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2; A1:A100)

Особенности функции:

  • 👁️ Учитывает только видимые ячейки после применения фильтра.
  • 🔄 Игнорирует строки, скрытые вручную (через контекстное меню "Скрыть").
  • ❌ Не работает с условиями (например, "больше 10").

Если нужно посчитать видимые числовые ячейки с условием, комбинируйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ с ЕЧИСЛО и СУММПРОИЗВ:

=СУММПРОИЗВ(--(ЕЧИСЛО(A1:A100)  (A1:A100 > 10)  ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; ДВССЫЛ("A1:A100"))))

Здесь 103 — код функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ для подсчёта видимых ячеек, а ДВССЫЛ используется для динамического диапазона.

⚠️ Внимание: Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ не обновляется автоматически при изменении видимости строк. Чтобы пересчитать результат, нажмите F9 или измените любую ячейку на листе.
Почему ПРОМЕЖУТОЧНЫЕ.ИТОГИ не работает с таблицами Excel?

Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ некорректно обрабатывает структурированные ссылки в таблицах Excel (например, Таблица1[Столбец1]). Вместо этого используйте обычные диапазоны (A1:A100) или комбинацию с ИНДЕКС для динамических массивов.

6. Ошибки и решения: почему Excel считает неверно

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

ПроблемаПричинаРешение
Функция СЧЁТ возвращает 0, хотя числа есть Ячейки отформатированы как текст (например, после импорта из CSV) Выделите диапазон → Текст по столбцам → выберите формат "Общий" или "Числовой"
СЧЁТЕСЛИ считает текстовые числа (например, "100") Функция не различает текст и числа Используйте ЕЧИСЛО в комбинации с СУММПРОИЗВ
Формула массива не работает В старой версии Excel не нажаты Ctrl+Shift+Enter Нажмите Ctrl+Shift+Enter или обновите Excel до 2019/365
ПРОМЕЖУТОЧНЫЕ.ИТОГИ не обновляется Автоматический пересчёт отключён Включите в Формулы → Параметры вычислений → Автоматически

Если проблема не решена, проверьте:

  • 🔎 Формат ячеек: выделите диапазон → Числовой формат → "Общий".
  • 📊 Скрытые символы: числа могут содержать невидимые пробелы или разрывы строк. Используйте =ПЕЧСИМВ(A1), чтобы проверить.
  • 🔄 Тип данных: ячейки с формулами, возвращающими текст (например, =ЕСЛИ(A1>0;"Да";"Нет")), не считаются числовыми.

FAQ: Частые вопросы о подсчёте числовых ячеек

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

Да. Используйте комбинацию ЕЧИСЛО и ЦЕЛОЕ:

=СУММПРОИЗВ(--(ЕЧИСЛО(A1:A10) * (A1:A10 - ЦЕЛОЕ(A1:A10) > 0)))

Эта формула проверяет, есть ли дробная часть у числа (разница между числом и его целой частью больше 0).

Как посчитать ячейки с отрицательными числами?

Используйте СЧЁТЕСЛИ с критерием "<0":

=СЧЁТЕСЛИ(A1:A100; "<0")

Если в диапазоне есть текстовые значения (например, "-"), комбинируйте с ЕЧИСЛО:

=СУММПРОИЗВ(--(ЕЧИСЛО(A1:A100) * (A1:A100 < 0)))
Почему СЧЁТ считает пустые ячейки?

Функция СЧЁТ не должна считать пустые ячейки. Если это происходит, проверьте:

  • В ячейках могут быть формулы, возвращающие пустую строку (например, =ЕСЛИ(A1=0;"";"")). Используйте =ЕПУСТО(A1), чтобы проверить.
  • Ячейки могут содержать непечатаемые символы (пробелы, табуляции). Примените =СЖПРОБЕЛЫ(A1).
Как посчитать числовые ячейки в нескольких листах?

Используйте трёхмерные ссылки. Например, чтобы посчитать числовые ячейки в диапазоне A1:A10 на листах Лист1 и Лист2:

=СУММ(СЧЁТ(Лист1:Лист2!A1:A10))

Для подсчёта с условием комбинируйте с СУММПРОИЗВ:

=СУММПРОИЗВ(ЕЧИСЛО(Лист1:Лист2!A1:A10) * (Лист1:Лист2!A1:A10 > 10))

В Excel 365 можно использовать ДВССЫЛ для динамического перебора листов.

Есть ли разница между СЧЁТ и СЧИТАТЬПУСТОТЫ?

Да, это противоположные функции:

  • СЧЁТ — считает числовые ячейки.
  • СЧИТАТЬПУСТОТЫ (англ. COUNTBLANK) — считает пустые ячейки (включая ячейки с формулами, возвращающими "").

Пример: если в диапазоне 5 ячеек, из них 2 с числами, 1 пустая, 1 с текстом и 1 с формулой =ЕСЛИ(A1=0;"";""), то:

=СЧЁТ(диапазон) → 2

=СЧИТАТЬПУСТОТЫ(диапазон) → 2 (пустая + формула с "")