Как посчитать ячейки с цифрами в Excel: полный разбор методов от СЧЁТ до Power Query

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

Эта статья не просто перечислит функции — она научит выбирать оптимальный метод для конкретной задачи. Мы разберём классические формулы (СЧЁТ, СЧЁТЗ, СЧЁТЕСЛИ), продвинутые комбинации с ЕСЛИ и массивами, а также инструменты вроде Условного форматирования и Power Query для обработки больших массивов. Особое внимание уделим типичным ошибкам, из-за которых Excel "не видит" числа в ячейках, хотя они там есть.

Вы узнаете, как:

  • 🔢 Отличить текстовые "цифры" от настоящих числовых значений
  • 📊 Подсчитать ячейки с числами в фильтрованных таблицах
  • ⚡ Автоматизировать подсчёт с помощью VBA и Office Scripts
  • 🔍 Найти и исправить скрытые символы, мешающие корректному подсчёту

Все примеры протестированы в Excel 2019–2023 и Excel Online, с пометками о совместимости со старыми версиями. Готовы перейти от теории к практике?

1. Базовые функции: СЧЁТ vs СЧЁТЗ vs СЧЁТЕСЛИ

Начнём с азов. Три основные функции для подсчёта числовых ячеек часто путают, хотя у каждой своё предназначение:

  • 📌 =СЧЁТ(диапазон) — считает только ячейки с числами, игнорируя текст, логические значения (ИСТИНА/ЛОЖЬ), ошибки и пустые ячейки.
  • 📌 =СЧЁТЗ(диапазон) — считает все непустые ячейки, включая текст и ошибки. Для чисел не подходит!
  • 📌 =СЧЁТЕСЛИ(диапазон; критерий) — считает ячейки, соответствующие условию (например, ">100").

Пример: в диапазоне A1:A5 значения 5, "10" (текст), 15, ИСТИНА, пустая ячейка. Результаты:

ФункцияФормулаРезультатПояснение
СЧЁТ=СЧЁТ(A1:A5)2Только 5 и 15 — настоящие числа
СЧЁТЗ=СЧЁТЗ(A1:A5)4Все кроме пустой ячейки
СЧЁТЕСЛИ=СЧЁТЕСЛИ(A1:A5; ">10")1Только 15 (>10)

Критическая ошибка новичков: использовать СЧЁТЗ для подсчёта чисел. Эта функция учитывает любые непустые ячейки, включая текст вроде "Н/Д" или "—". Если вам нужны именно числа — только СЧЁТ или СЧЁТЕСЛИ.

⚠️ Внимание: Функция СЧЁТ не распознаёт числа, хранящиеся как текст (например, после импорта из CSV). Чтобы исправить это, используйте команду Текст по столбцам (Данные → Текст по столбцам) или функцию =ЗНАЧЕН().
📊 Какой функцией вы чаще всего подсчитываете ячейки?
СЧЁТ
СЧЁТЕСЛИ
СЧЁТЗ
Другой вариант

2. Продвинутый подсчёт: СЧЁТЕСЛИМН и массивы

Когда нужно посчитать числа по нескольким условиям, на помощь приходит СЧЁТЕСЛИМН. Например, подсчитать продажи в диапазоне от 1000 до 5000 рублей за январь:

=СЧЁТЕСЛИМН(B2:B100; ">1000"; B2:B100; "<5000"; A2:A100; "январь")

Но что делать, если условия сложнее? Например, посчитать ячейки, где числа кратны 5 и больше среднего значения в диапазоне? Здесь помогут формулы массива:

=СУММПРОИЗВ(--(ОСТАТ(B2:B100;5)=0); --(B2:B100>СРЗНАЧ(B2:B100)))

Разбор формулы:

  1. ОСТАТ(B2:B100;5)=0 — проверяет кратность 5.
  2. B2:B100>СРЗНАЧ(B2:B100) — сравнивает со средним.
  3. -- (двойное отрицание) преобразует ИСТИНА/ЛОЖЬ в 1/0.
  4. СУММПРОИЗВ перемножает массивы и суммирует единицы.

В новых версиях Excel (2019+) можно использовать более читаемую функцию ФИЛЬТР:

=СЧЁТ(ФИЛЬТР(B2:B100; (ОСТАТ(B2:B100;5)=0)*(B2:B100>СРЗНАЧ(B2:B100))))
⚠️ Внимание: Формулы массива в старых версиях Excel (до 2019) требуют подтверждения клавишами Ctrl+Shift+Enter. В новых версиях это не нужно, но синтаксис остаётся совместимым.

Убедиться, что диапазоны условий одинакового размера|Проверить формат ячеек (числа, а не текст)|Исключить объединённые ячейки из диапазона|Тестировать формулу на маленьком фрагменте данных-->

3. Подсчёт числовых ячеек в отфильтрованных таблицах

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

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

где 2 — код операции для подсчёта числовых ячеек (аналог СЧЁТ). Другие полезные коды:

  • 🔹 3СЧЁТЗ (все непустые ячейки)
  • 🔹 9 — сумма видимых ячеек
  • 🔹 101 — среднее видимых ячеек

Пример: Подсчитать видимые числа в столбце B после фильтрации по столбцу A:

  1. Примените фильтр к таблице (например, отобразите только строки с "Да" в столбце A).
  2. Введите формулу =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(2; B2:B100).

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

Как посчитать видимые ячейки с помощью VBA

1. Нажмите Alt+F11, чтобы открыть редактор VBA.

2. Вставьте новый модуль и добавьте код:

Function CountVisible(rng As Range) As Long

Dim cell As Range

For Each cell In rng

If Not cell.EntireRow.Hidden And IsNumeric(cell.Value) Then

CountVisible = CountVisible + 1

End If

Next cell

End Function

3. Используйте в Excel как =CountVisible(B2:B100).

4. Поиск и исправление "невидимых" чисел

Иногда Excel упорно не считает ячейки, которые выглядят как числа. Причины:

  • 📛 Текстовый формат: числа импортированы как текст (например, с ведущим апострофом '123).
  • 🕳️ Скрытые символы: неразрывные пробелы (CHAR(160)), табуляции или переносы строк.
  • 🔤 Локальные настройки: разделитель целой и дробной части (точка vs запятая).

Как диагностировать проблему:

  1. Выделите проблемную ячейку и посмотрите на строку формул. Если слева виден зелёный треугольник — это текст.
  2. Используйте функцию =ТИП(B1):
    • 1 — число;
    • 2 — текст;
    • 16 — ошибка.
  • Проверьте длину содержимого: =ДЛСТР(B1). Если результат больше, чем должно быть (например, 5 вместо 3 для числа "100"), в ячейке есть скрытые символы.
  • Способы исправления:

    ПроблемаРешениеФормула/Действие
    Текстовые "числа"Преобразовать в числа=ЗНАЧЕН(B1) или Данные → Текст по столбцам
    Неразрывные пробелыЗаменить на обычные=ПОДСТАВИТЬ(B1; СИМВОЛ(160); " ")
    Локальные разделителиЗаменить запятую на точку=ПОДСТАВИТЬ(B1; ","; ".") + ЗНАЧЕН()
    Объединённые ячейкиРазъединить перед подсчётомВыделите ячейки → Главная → Объединить и центрировать

    1. Выделите диапазон.

    2. Главная → Условное форматирование → Создать правило → Использовать формулу.

    3. Введите =ЕТЕКСТ(A1) и =ЧИСЛОТЕКСТ(A1) (для чисел, хранящихся как текст).

    4. Задайте формат (например, красный текст) и нажмите ОК.-->

    5. Автоматизация: Power Query и Office Scripts

    Для регулярного подсчёта числовых ячеек в больших наборах данных ручные формулы неэффективны. Рассмотрим два инструмента автоматизации:

    Power Query (доступен в Excel 2016+):

    1. Импортируйте данные в Power Query (Данные → Получить данные → Из таблицы/диапазона).
    2. Выделите столбец с числами → Главная → Преобразовать → Тип данных: Число.
    3. Добавьте пользовательский столбец с формулой = if [Column1] is number then 1 else 0.
    4. Сгруппируйте данные по этому столбцу с операцией Сумма.
    5. Office Scripts (Excel Online):

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

      function main(workbook: ExcelScript.Workbook) {
      

      let sheet = workbook.getActiveWorksheet();

      let range = sheet.getSelectedRange();

      let count = 0;

      for (let i = 0; i < range.getRowCount(); i++) {

      for (let j = 0; j < range.getColumnCount(); j++) {

      let cell = range.getCell(i, j);

      if (cell.getValue() && typeof cell.getValue() === 'number') {

      count++;

      }

      }

      }

      console.log(`Числовых ячеек: ${count}`);

      }

      Когда использовать автоматизацию:

      • 📈 Данные обновляются ежедневно (например, отчёты из или Google Analytics).
      • 🔄 Нужно очищать и преобразовывать данные перед подсчётом (удалять дубли, исправлять форматы).
      • 🤖 Подсчёт является частью сложного сценария (например, отправка результата по email).
    ⚠️ Внимание: Office Scripts работают только в Excel Online и требуют лицензии Microsoft 365. Для локальных версий Excel используйте VBA или Power Query.

    6. Визуализация: Условное форматирование для анализа

    Иногда достаточно не точного количества, а визуального представления распределения чисел. Например, выделить все ячейки с числами >100 зелёным цветом, а с числами <10 — красным. Для этого:

    1. Выделите диапазон (например, B2:B100).
    2. Перейдите в Главная → Условное форматирование → Правила выделения ячеек → Больше....
    3. Введите условие (например, >100) и выберите формат (зелёная заливка).
    4. Повторите для других условий (<10 → красный).

    Продвинутый трюк: Используйте Управление правилами (Условное форматирование → Управление правилами), чтобы создать правило с формулой:

    =И(ЧИСЛОТЕКСТ(B1); B1>СРЗНАЧ($B$2:$B$100))

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

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

    • 🔍 Используйте строку состояния Excel (внизу окна). Она показывает Количество, Сумму и Среднее для выделенных ячеек.
    • 📊 Создайте сводную таблицу с полем "Значения" и функцией Количество.

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

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

    1. Игнорирование скрытых строк: СЧЁТ учитывает скрытые строки, а ПРОМЕЖУТОЧНЫЕ.ИТОГИ — нет. Всегда проверяйте, какие строки видны.
    2. Путаница с диапазонами: В формуле =СЧЁТЕСЛИМН(A2:A100; ">10"; B2:B100; "Да") диапазоны A2:A100 и B2:B100 должны быть одинакового размера!
    3. Текстовые числа: Как уже упоминалось, "123" (текст) ≠ 123 (число). Всегда проверяйте формат ячеек.
    4. Объединённые ячейки: Формулы вроде СЧЁТ игнорируют объединённые ячейки. Разъедините их перед подсчётом.
    5. Локальные настройки: В русскоязычной версии Excel используйте ; как разделитель аргументов, а не , (как в англоязычной).

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

    1. Проверяйте на маленьком диапазоне (5–10 ячеек) с заведомо известным результатом.
    2. Используйте F9 для пошагового вычисления формул (выделите часть формулы в строке формул и нажмите F9).
    3. Сравнивайте результаты с ручным подсчётом (например, через фильтр).
    Как проверить, почему СЧЁТЕСЛИ не работает

    1. Убедитесь, что критерий заключён в кавычки (например, ">10", а не >10).

    2. Проверьте регистр текста в критериях (Excel чувствителен к регистру в некоторых случаях).

    3. Используйте =ЕОШИБКА(СЧЁТЕСЛИ(...)), чтобы выявить ошибки в диапазоне.

    FAQ: Частые вопросы по подсчёту ячеек с цифрами

    Можно ли посчитать ячейки с числами в гугл-таблицах?

    Да, в Google Sheets работают те же функции, но с английскими названиями:

    • =COUNT() — аналог СЧЁТ;
    • =COUNTA() — аналог СЧЁТЗ;
    • =COUNTIF() — аналог СЧЁТЕСЛИ.

    Также в Google Sheets есть уникальная функция =COUNTUNIQUE() для подсчёта уникальных числовых значений.

    Как посчитать ячейки с числами, но исключить ноль?

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

    =СЧЁТЕСЛИ(B2:B100; "<>0")

    Или комбинацию с ЕСЛИ:

    =СУММ(--(B2:B100<>0); --(ЧИСЛОТЕКСТ(B2:B100)))
    Почему СЧЁТ возвращает 0, хотя в ячейках есть числа?

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

    1. Числа хранятся как текст (проверьте с помощью =ТИП(ячейка)).
    2. В ячейках ошибки (#ДЕЛ/0!, #ЗНАЧ!).
    3. Диапазон содержит объединённые ячейки.
    4. Используется неправильный разделитель аргументов (например, запятая вместо точки с запятой в русскоязычной версии).

    Решение: очистите данные с помощью Текст по столбцам или функции =ЗНАЧЕН().

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

    Стандартными функциями — никак. Но есть обходные пути:

    1. Фильтр по цвету: Отфильтруйте ячейки по цвету (Данные → Фильтр → Фильтр по цвету ячейки), затем используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
    2. VBA: Напишите макрос, который проходит по диапазону и проверяет цвет заливки (.Interior.Color).
    3. Power Query: Экспортируйте данные в Power Query, добавьте столбец с цветом (требуется VBA для извлечения цвета).
    Есть ли разница между СЧЁТ и СЧИТАТЬПУСТОТЫ?

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

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

    Пример: =СЧЁТ(A1:A5) + СЧИТАТЬПУСТОТЫ(A1:A5) может быть не равно 5, если в диапазоне есть текст или ошибки.