Как посчитать количество чисел в ячейках Excel: от СЧЁТ до массивов

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

Вы узнаете, как отличать числа от текста, игнорировать ошибки, работать с условиями и даже автоматизировать процесс с помощью Power Query. А ещё — типичные ошибки, которые портят результаты, и как их избежать. Если вы когда-нибудь получали неверный подсчёт там, где "всё должно работать", этот гайд для вас.

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

Функция СЧЁТ (или COUNT в английской версии) — самый простой способ подсчитать количество ячеек с числами в заданном диапазоне. Она игнорирует текст, логические значения (ИСТИНА/ЛОЖЬ), пустые ячейки и ошибки (#ДЕЛ/0!, #ЗНАЧ! и др.).

Синтаксис:

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

Пример: чтобы посчитать числа в диапазоне A1:A10, используйте:

=СЧЁТ(A1:A10)
  • ✅ Подходит для быстрого подсчёта в "чистых" данных.
  • ✅ Работает во всех версиях Excel (включая Excel 2003 и новее).
  • ❌ Не учитывает ячейки с числами в текстовом формате (например, '123).
  • ❌ Игнорирует даты и время (они хранятся как числа, но иногда требуют отдельного учёта).
📊 Какой версией Excel вы пользуетесь чаще?
Excel 2010-2016
Excel 2019/2021
Excel 365 (онлайн/десктоп)
Google Sheets
Другой

Чтобы проверить, как СЧЁТ обрабатывает разные типы данных, создайте тестовую таблицу:

ЯчейкаЗначениеСЧЁТ учитывает?
A142Да
A2'100 (текст)Нет
A3#ДЕЛ/0!Нет
A412.05.2023 (дата)Да
A5ИСТИНАНет

2. Учёт чисел в текстовом формате: СЧЁТЗ + ПРОВЕРКА

Частая проблема: числа хранятся как текст (например, после импорта из CSV или базы данных). Функция СЧЁТ их пропустит, но исправить это можно комбинацией функций. Вот универсальная формула:

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

Как это работает:

  1. ЕЧИСЛО проверяет, является ли значение числом (включая числа в текстовом формате, если их можно преобразовать).
  2. -- преобразует результаты ИСТИНА/ЛОЖЬ в 1/0.
  3. СУММПРОИЗВ суммирует единицы, давая итоговый подсчёт.

Альтернативный вариант (для Excel 365 с динамическими массивами):

=СЧЁТ(--A1:A10)
Почему двойной минус (--)?

Двойной минус -- это сокращённый способ преобразовать логические значения в числа: ИСТИНА становится 1, а ЛОЖЬ0. Это работает, потому что в Excel -ИСТИНА = -1, а второй минус делает -(-1) = 1.

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

=СУММПРОИЗВ(--(ЕТЕКСТ(A1:A10)); --(ЕЧИСЛО(A1:A10)))
⚠️ Внимание: Формулы массивов (как СУММПРОИЗВ) в старых версиях Excel требуют подтверждения клавишами Ctrl+Shift+Enter. В Excel 365 это не нужно.

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

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

  • СЧЁТЕСЛИ — для одного условия.
  • СЧЁТЕСЛИМН — для нескольких условий (доступно с Excel 2007).

Примеры:

=СЧЁТЕСЛИ(A1:A10; ">50")  // Числа больше 50

=СЧЁТЕСЛИМН(A1:A10; ">10"; A1:A10; "<100") // Числа от 11 до 99

Особенности:

  • 🔢 Критерий можно задавать как число (100), текст ("яблоки") или выражение (=СРЗНАЧ(B1:B10)").
  • 📌 Для текста используйте кавычки: =СЧЁТЕСЛИ(A1:A10; "да").
  • 🚫 Подстановочные знаки (, ?) работают: =СЧЁТЕСЛИ(A1:A10; "прибыль").

Убедитесь, что диапазон не содержит ошибок|Проверьте регистр текста (если ищете текстовые значения)|Используйте абсолютные ссылки ($A$1:$A$10) для копирования формулы|Тестируйте критерий на небольшом диапазоне-->

Для подсчёта чисел в диапазоне с учётом другого диапазона условий (например, посчитать продажи >1000 только для региона "Москва"), комбинируйте СЧЁТЕСЛИМН:

=СЧЁТЕСЛИМН(B2:B100; ">1000"; C2:C100; "Москва")

4. Игнорирование ошибок: СЧЁТ + ЕОШИБКА

Если в данных есть ошибки (#ДЕЛ/0!, #Н/Д), функция СЧЁТ их пропустит, но иногда нужно учесть ячейки с ошибками как ноль или, наоборот, исключить их из подсчёта. Для этого используйте:

=СУММПРОИЗВ(--(ЕЧИСЛО(A1:A10)); --(НЕ(ЕОШИБКА(A1:A10))))

Разберём по шагам:

  1. ЕОШИБКА(A1:A10) — проверяет ячейки на наличие ошибок.
  2. НЕ(ЕОШИБКА(...)) — инвертирует результат (истина = нет ошибки).
  3. -- — преобразует в 1/0.
  4. СУММПРОИЗВ — умножает массивы и суммирует.

Если нужно заменить ошибки на ноль перед подсчётом:

=СЧЁТ(ЕСЛИОШИБКА(A1:A10; 0))
⚠️ Внимание: В Excel 2019 и старше ЕСЛИОШИБКА работает с массивами автоматически. В Excel 2016 и ниже потребуется Ctrl+Shift+Enter.

5. Продвинутый подсчёт: формулы массивов и LAMBDA

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

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

=СТРОКА(ИНДЕКС(1/(СЧЁТЕСЛИ(A1:A10; A1:A10)=1); 1))

Эта формула возвращает позицию первого уникального числа. Чтобы получить их количество, оберните в СЧИСЛИ:

=ЕСЛИОШИБКА(СТРОКА(ИНДЕКС(1/(СЧЁТЕСЛИ(A1:A10; A1:A10)=1); 1)); 0)

Для Excel 365 есть более элегантное решение с LAMBDA:

=СЧЁТ(УНИК(A1:A10))

Пример использования LAMBDA для подсчёта чисел с двумя десятичными знаками:

=СЧЁТ(ФИЛЬТР(A1:A10; ОСТАТ(АБС(A1:A10)*100; 1)=0))

6. Автоматизация: Power Query для сложных данных

Если данные поступают из внешних источников (SQL, CSV, JSON) и требуют предварительной очистки, Power Query спасёт часы работы. Алгоритм:

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

Преимущества Power Query:

  • 🔄 Автоматическое обновление при изменении исходных данных.
  • 🧹 Очистка данных "на лету" (удаление пустых строк, замена ошибок).
  • 📊 Возможность объединения нескольких источников.

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

let

Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],

FilterNumbers = Table.SelectRows(Source, each [Sales] is number),

Count = Table.RowCount(FilterNumbers)

in

Count

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

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

ПроблемаПричинаРешение
СЧЁТ возвращает 0, хотя числа естьЧисла в текстовом формате или с апострофом ('123)Используйте ЕЧИСЛО или преобразуйте данные в числовой формат
СЧЁТЕСЛИ не находит текстЧувствительность к регистру или пробеламИспользуйте СЖПРОБЕЛЫ и ПРОПИСН для унификации
Формула массива не работаетЗабыли Ctrl+Shift+Enter в старых версиях ExcelПроверьте версию Excel или обновите до 365
Подсчёт дат как чиселДаты хранятся как числа, но нужно отдельное условиеИспользуйте ДАТАЗНАЧ для проверки формата

Ещё одна частая ошибка: скрытые символы (неразрывные пробелы, символы табуляции). Чтобы их обнаружить, используйте функцию КОДСИМВ:

=КОДСИМВ(ЛЕВСИМВ(A1))

Если результат 160 — это неразрывный пробел, 9 — табуляция.

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

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

Да! Выделите диапазон → посмотрите на строку состояния внизу окна Excel. Там отображается Среднее | Количество | Сумма для выделенных ячеек. Кликните правой кнопкой по строке состояния, чтобы настроить отображаемые параметры.

Почему СЧЁТЕСЛИ не работает с диапазоном, где есть формулы?

Функция СЧЁТЕСЛИ проверяет отображаемые значения, а не формулы. Если формула возвращает пустую строку (""), ячейка считается пустой. Чтобы учитывать такие ячейки, используйте СЧЁТЕСЛИ(диапазон; "<>""").

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

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

  1. Скопируйте диапазон → Специальная вставка → Значения в новый столбец.
  2. Сравните оригинал и копию: =ЕСЛИ(A1=B1; ""; "Формула").
  3. Посчитайте количество ячеек с меткой "Формула".

Для Excel 365 подойдёт формула:

=СЧЁТ(ФИЛЬТР(ЕСЛИ(ФОРМУЛТЕКСТ(A1:A10)<>""; 1; 0); 1))
Как посчитать числа в фильтрованном диапазоне?

Если данные отфильтрованы, используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ:

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

Где 2 — код операции для подсчёта числовых значений. Другие коды:

  • 1 — среднее;
  • 3 — количество непустых ячеек;
  • 9 — сумма.
Можно ли посчитать числа в закрытой книге?

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

  • Откройте книгу и обновите ссылки.
  • Используйте Power Query для импорта данных.
  • Сохраните промежуточные результаты в отдельный файл.