Как посчитать числа в Excel: от базовых функций до продвинутых техник

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

Вы узнаете, как отличать функции СЧЁТ и СЧЁТЗ, когда использовать СЧЁТЕСЛИ с условиями, и как обойти подводные камни при работе с отформатированными как текст числами. А ещё — как ускорить подсчёты с помощью умных таблиц и фильтров, чтобы не тратить время на ручную обработку данных.

Если вам нужно просто посчитать количество чисел в столбце или решить сложную задачу с несколькими критериями — здесь найдётся решение. Начнём с базы и постепенно перейдём к продвинутым техникам.

1. Базовые функции: СЧЁТ, СЧЁТЗ и СЧИТАТЬПУСТОТЫ

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

Функция СЧЁТ (=COUNT()) подсчитывает только ячейки с числовыми значениями, игнорируя текст, логические значения (ИСТИНА/ЛОЖЬ), ошибки и пустые ячейки. Например, формула =СЧЁТ(A1:A10) вернёт количество чисел в диапазоне A1:A10, но пропустит ячейку с текстом "Прибыль".

Функция СЧЁТЗ (=COUNTA()) работает иначе: она считает все непустые ячейки, включая текст, даты и логические значения. Это удобно, если нужно посчитать общее количество заполненных строк, но не подходит для чисто числовых расчётов. Например, =СЧЁТЗ(A1:A10) посчитает и число 100, и слово "Итого".

Функция СЧИТАТЬПУСТОТЫ (=COUNTBLANK()) делает противоположное — подсчитывает пустые ячейки в диапазоне. Полезно для контроля заполненности данных. Например, =СЧИТАТЬПУСТОТЫ(B2:B50) покажет, сколько строк в столбце B не заполнено.

  • 🔢 СЧЁТ — только числа (игнорирует текст, ошибки, пустоты).
  • 📝 СЧЁТЗ — все непустые ячейки (включая текст и даты).
  • СЧИТАТЬПУСТОТЫ — только пустые ячейки.
⚠️ Внимание: Если ячейка содержит формулу, которая возвращает пустую строку (=""), функция СЧИТАТЬПУСТОТЫ посчитает её как пустую. Но если формула возвращает 0 или текст, такая ячейка будет непустой для СЧЁТЗ.
Функция Считает Игнорирует Пример
СЧЁТ Числа, даты, время Текст, ошибки, пустоты, ИСТИНА/ЛОЖЬ =СЧЁТ(A1:A10)
СЧЁТЗ Все непустые ячейки Только пустоты =СЧЁТЗ(B2:B20)
СЧИТАТЬПУСТОТЫ Пустые ячейки Все непустые =СЧИТАТЬПУСТОТЫ(C1:C15)
📊 Какую функцию вы используете чаще всего?
СЧЁТ
СЧЁТЗ
СЧЁТЕСЛИ
Другую

2. Подсчёт по условию: СЧЁТЕСЛИ и СЧЁТЕСЛИМН

Когда нужно посчитать числа, соответствующие определённому критерию, на помощь приходят функции СЧЁТЕСЛИ (=COUNTIF()) и СЧЁТЕСЛИМН (=COUNTIFS()). Первая работает с одним условием, вторая — с несколькими.

Например, формула =СЧЁТЕСЛИ(B2:B100; ">50") посчитает все числа в диапазоне B2:B100, которые больше 50. А =СЧЁТЕСЛИМН(B2:B100; ">50"; C2:C100; "Да") посчитает числа >50 только в тех строках, где в столбце C стоит "Да".

Критерий можно задавать разными способами:

  • 🔢 Числовые условия: ">100", "<=50".
  • 📌 Текстовые совпадения: "Прибыль", "<>Убыток".
  • 📅 Даты: ">=01.01.2026" (обязательно в кавычках!).
  • 🔍 Подстановочные знаки: "*ва" (заканчивается на "ва"), "?и?" (три символа, второй — "и").

Важно: Если критерий — это ссылка на ячейку (например, =СЧЁТЕСЛИ(A1:A10; D1)), кавычки не нужны. Но если критерий вводится прямо в формулу, кавычки обязательны.

⚠️ Внимание: Функция СЧЁТЕСЛИ не различает регистр текста. Например, критерии "да" и "ДА" для неё идентичны. Если нужен учёт регистра, используйте комбинацию функций СУММПРОИЗВ и ТОЧНО.

Убедитесь, что диапазон не содержит скрытых символов (пробелов, неразрывных пробелов)

Проверьте формат ячеек (числа не должны быть отформатированы как текст)

Используйте абсолютные ссылки ($A$1) при копировании формулы

Тестируйте критерий на небольшом диапазоне перед применением ко всей таблице-->

3. Проблемы с числами, отформатированными как текст

Одна из самых распространённых ошибок — когда числа в ячейках выглядят как числа, но Excel воспринимает их как текст. Это происходит, например, при импорте данных из CSV или когда пользователь вручную форматирует ячейки как текст. В результате функции СЧЁТ и СУММ игнорируют такие значения.

Как распознать проблему:

  • 🔍 Число выровнено по левому краю (как текст), а не по правому.
  • 📌 В строке формул виден зелёный треугольник с восклицательным знаком.
  • 🔢 При попытке сложить ячейки результат неверный (например, 10 + "5" даст 15, но если "5" — текст, Excel проигнорирует его).

Решения:

  1. Выделите проблемные ячейки → на вкладке Главная выберите формат Общий или Числовой.
  2. Используйте функцию ЗНАЧЕН (=VALUE()), чтобы преобразовать текст в число: =ЗНАЧЕН(A1).
  3. Если чисел много, добавьте вспомогательный столбец с формулой =1*A1 и скопируйте его значения через Специальная вставка → Значения.

Почему Excel иногда автоматически форматирует числа как текст?

При импорте данных из внешних источников (CSV, базы данных) Excel может сохранять оригинальный формат.

Если ячейка ранее содержала текст, а затем в неё ввели число, формат мог сохраниться.

В некоторых локалях (например, с запятой как разделителем) Excel путает числа с текстом, если разделитель не соответствует региональным настройкам.

4. Подсчёт уникальных и повторяющихся значений

Чтобы посчитать количество уникальных чисел в диапазоне, используйте комбинацию функций СЧЁТЕСЛИ и ЧАСТОТА или (в новых версиях Excel) УНИК (=UNIQUE()) с СЧЁТ.

Пример для Excel 365/2021:

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

Эта формула вернёт количество уникальных значений в диапазоне A1:A100.

Для старых версий Excel используйте массивную формулу (вводится через Ctrl+Shift+Enter):

=СУММ(1/ЧАСТОТА(A1:A100; A1:A100))

Чтобы посчитать повторяющиеся значения, используйте:

=СЧЁТЕСЛИ(A1:A100; ">0") - СЧЁТ(УНИК(A1:A100))

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

=СЧЁТ(УНИК(ФИЛЬТР(A1:A100; A1:A100>100)))
-->

5. Автоматизация подсчётов с помощью умных таблиц и фильтров

Если вам регулярно нужно подсчитывать числа в больших наборах данных, стоит использовать умные таблицы (Ctrl+T) и фильтры. Это ускорит работу и снизит риск ошибок.

Преимущества умных таблиц:

  • 📊 Автоматическое обновление формул при добавлении новых строк.
  • 🔍 Встроенные фильтры для быстрого подсчёта видимых ячеек.
  • 📌 Автоматическое форматирование и именование диапазонов.

Пример: Преобразуйте диапазон A1:B100 в умную таблицу (Вставка → Таблица), затем добавьте строку итогов (Конструктор → Строка итогов). В ячейке итога выберите функцию Количество — Excel автоматически подсчитает числа в столбце, игнорируя текст и пустоты.

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

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

Здесь 2 — код функции СЧЁТ (для видимых ячеек). Если применить фильтр, формула обновит результат автоматически.

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

6. Продвинутые техники: массивы, Power Query и VBA

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

1. Массивные формулы (для Excel 2019 и старше):

Чтобы посчитать числа, соответствующие нескольким условиям в одном столбце, используйте:

=СУММ(--(A1:A100>100); --(A1:A100<500))

Эта формула посчитает числа от 100 до 500. Вводится через Ctrl+Shift+Enter в старых версиях Excel.

2. Power Query (вкладка Данные → Получить данные):

Инструмент для очистки и преобразования данных. Например, можно загрузить данные в Power Query, отфильтровать числа по условию и подсчитать их в одном клике. Преимущество — не нужно писать формулы, а результат обновляется при изменении исходных данных.

3. VBA-макросы:

Если задача повторяется часто, напишите макрос. Пример кода для подсчёта чисел >100 в выделенном диапазоне:

Sub CountNumbers()

Dim rng As Range

Dim cell As Range

Dim count As Integer

count = 0

For Each cell In Selection

If IsNumeric(cell.Value) And cell.Value > 100 Then

count = count + 1

End If

Next cell

MsgBox "Чисел больше 100: " & count

End Sub

  • 📊 Массивные формулы — для сложных условий в одном диапазоне.
  • 🔄 Power Query — для автоматизации очистки и подсчёта больших данных.
  • 🤖 VBA — для создания пользовательских функций и макросов.

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

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

1. Пустые ячейки с формулами:

Если ячейка содержит формулу =ЕСЛИ(A1>0; A1; ""), функция СЧИТАТЬПУСТОТЫ посчитает её как пустую, хотя на самом деле там может быть скрытое значение. Решение: используйте =ЕСЛИ(A1>0; A1; NA()) или проверяйте ячейки на наличие формул через ЕФОРМУЛА.

2. Числа в текстовом формате:

Как уже упоминалось, числа, отформатированные как текст, игнорируются функцией СЧЁТ. Решение: преобразуйте их в числовой формат с помощью ЗНАЧЕН или умножения на 1.

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

Если в формуле =СЧЁТ(A1:A100) диапазон содержит ошибки (например, #ДЕЛ/0!), они будут проигнорированы. Но если использовать =СЧЁТЗ(A1:A100), ошибки будут посчитаны как непустые ячейки. Решение: очистите данные от ошибок или используйте =ЕОШИБКА для их фильтрации.

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

Если диапазон в формуле фиксированный (например, A1:A100), а данные добавляются ниже, новые ячейки не будут учтены. Решение: используйте умные таблицы или динамические именованные диапазоны (=СМЕЩ).

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

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

Используйте функцию СЧЁТЕСЛИ с критерием для ошибок. В Excel нет прямой функции для этого, но можно использовать массивную формулу:

=СУММ(--ЕОШИБКА(A1:A100))

Вводится через Ctrl+Shift+Enter в старых версиях. В Excel 365 работает как обычная формула.

Почему СЧЁТЕСЛИ не работает с датами?

Функция СЧЁТЕСЛИ работает с датами, но критерий должен быть в правильном формате. Например, для подсчёта дат после 01.01.2026 используйте:

=СЧЁТЕСЛИ(A1:A100; ">01.01.2026")

Убедитесь, что ячейки с датами имеют формат Дата, а не Текст.

Как посчитать количество цветных ячеек?

Excel не имеет встроенной функции для подсчёта по цвету. Решения:

  1. Используйте фильтр по цвету (вручную) и посчитайте видимые ячейки через ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
  2. Напишите VBA-макрос для автоматизации.
  3. В Excel 365 используйте Power Query с условным форматированием.
Можно ли посчитать числа в закрытой книге Excel?

Нет, Excel не обновляет формулы в закрытых книгах. Решения:

  • Откройте книгу для обновления данных.
  • Используйте Power Query для импорта данных из закрытой книги (только для чтения).
  • Настройте автоматическое открытие и обновление через VBA.
Как посчитать количество ячеек с формулами?

Используйте функцию ЕФОРМУЛА в комбинации с СУММПРОИЗВ:

=СУММПРОИЗВ(--ЕФОРМУЛА(A1:A100))

Эта формула вернёт количество ячеек с формулами в диапазоне A1:A100.