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

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

На первый взгляд задача кажется простой: «просто посчитать». Но на практике пользователи сталкиваются с десятками нюансов. Как, например, подсчитать только ячейки с текстом, игнорируя числа? Или как учесть ячейки, которые выглядят пустыми, но на самом деле содержат формулы или пробелы? Эта статья раскроет все секреты — от базовых функций вроде СЧЁТ до продвинутых комбинаций с СЧЁТЕСЛИМН и макросами.

Мы разберём реальные кейсы: подсчёт уникальных значений, работу с датами, учёт форматирования и даже автоматизацию через Power Query. А в конце вас ждёт уникальная таблица-сравнение всех методов подсчёта, которая поможет выбрать оптимальный способ для вашей задачи.

1. Базовые функции: СЧЁТ, СЧЁТЗ и их различия

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

  • 🔢 СЧЁТ(диапазон) — считает только ячейки с числовыми данными (включая даты и время).
  • 📝 СЧЁТЗ(диапазон) — учитывает все непустые ячейки, независимо от типа данных.
  • 🗂️ СЧИТАТЬПУСТОТЫ(диапазон) — подсчитывает исключительно пустые ячейки.

Пример: если в диапазоне A1:A5 содержатся значения 10, "текст", 15/05/2026, "" (пустая строка) и действительно пустая ячейка, то:

  • СЧЁТ(A1:A5) вернёт 2 (только числа 10 и дата 15/05).
  • СЧЁТЗ(A1:A5) вернёт 4 (все кроме действительно пустой ячейки).
  • СЧИТАТЬПУСТОТЫ(A1:A5) вернёт 1.
⚠️ Внимание: Функция СЧЁТ игнорирует текстовые представления чисел (например, ячейка с текстом "100" не будет учтена). Чтобы их посчитать, используйте СЧЁТЗ.

Для быстрого доступа к этим функциям используйте вкладку Формулы → Библиотека функций → Статистические. Или просто начинайте вводить название функции в ячейке — Excel подскажет синтаксис.

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

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

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

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

=СЧЁТЕСЛИ(диапазон; условие)

Примеры:

  • 📌 =СЧЁТЕСЛИ(A1:A10; ">100") — ячейки со значениями больше 100.
  • 📌 =СЧЁТЕСЛИ(B2:B20; "Да") — ячейки с точным текстом "Да".
  • 📌 =СЧЁТЕСЛИ(C3:C15; "<>"&"") — все непустые ячейки (альтернатива СЧЁТЗ).

Для нескольких условий используйте СЧЁТЕСЛИМН:

=СЧЁТЕСЛИМН(диапазон1; условие1; [диапазон2; условие2]; ...)

Кейс: подсчёт продаж в Москве за январь 2026:

=СЧЁТЕСЛИМН(B2:B100; "Москва"; C2:C100; ">31.12.2023"; C2:C100; "<01.02.2026")
⚠️ Внимание: В СЧЁТЕСЛИМН все диапазоны должны быть одинакового размера. Если в B2:B100 99 строк, а в C2:C100 — 100, функция вернёт ошибку #ЗНАЧ!.

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

  • =СЧЁТЕСЛИ(A1:A50; "*ов") — все ячейки, оканчивающиеся на "ов" (Иванов, Петров).
  • =СЧЁТЕСЛИ(B1:B50; "???-??-??") — ячейки с датами в формате ДД-ММ-ГГ.

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

Задача посчитать уникальные значения возникает при анализе клиентских баз, инвентаризации или обработке опросов. Здесь поможет комбинация функций или инструмент Уникальные значения (в новых версиях Excel).

Способ 1. Формула массива (для старых версий Excel):

=СУММ(1/СЧЁТЕСЛИ(диапазон; диапазон))

Вводится как формула массива: после ввода нажмите Ctrl+Shift+Enter. Пример для диапазона A1:A10:

=СУММ(1/СЧЁТЕСЛИ(A1:A10; A1:A10))

Способ 2. Функция УНИК (Excel 365 и 2021):

=СТРОКА(УНИК(диапазон))

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

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

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

=СЧЁТЕСЛИ(диапазон; диапазон) - СЧЁТ(УНИК(диапазон))
ЗадачаФормулаПример
Уникальные значения=СЧЁТ(УНИК(A1:A10))Для списка "Яблоко, Банан, Яблоко" вернёт 2
Дубликаты=СУММ(СЧЁТЕСЛИ(A1:A10; A1:A10)) - СЧЁТ(A1:A10)Для списка выше вернёт 1
Уникальные с условием=СЧЁТЕСЛИМН(УНИК(диапазон); УНИК(диапазон); ">100")Уникальные значения >100

4. Подсчёт ячеек по цвету или форматированию

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

Способ 1. Фильтр по цвету + СЧЁТЗ (без VBA):

  1. Выделите диапазон с данными.
  2. Нажмите Данные → Фильтр.
  3. Откройте выпадающий список в заголовке столбца и выберите Фильтр по цвету → [нужный цвет].
  4. Скопируйте видимые ячейки в новый диапазон и примените СЧЁТЗ.

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

Откройте редактор VBA (Alt+F11), вставьте новый модуль и добавьте код:

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(A1:A10; B1)

где B1 — ячейка с образцом цвета.

⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm. При открытии такого файла Excel может заблокировать макросы — разрешите их выполнение в Центре управления безопасностью.

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

5. Подсчёт ячеек с формулами (в том числе возвращающими пустое значение)

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

Способ 1. Поиск по формулам:

  1. Выделите диапазон.
  2. Нажмите Ctrl+F, затем Параметры → Формулы.
  3. В поле поиска введите = и нажмите Найти все.
  4. Внизу появится количество найденных ячеек с формулами.

Способ 2. VBA-функция для подсчёта ячеек с формулами:

Function CountFormulas(rng As Range) As Long

Dim cell As Range

Dim count As Long

count = 0

For Each cell In rng

If cell.HasFormula Then

count = count + 1

End If

Next cell

CountFormulas = count

End Function

Использование:

=CountFormulas(A1:A100)

Способ 3. Подсчёт ячеек, возвращающих пустоту:

Создайте вспомогательный столбец с формулой:

=ЕПУСТО(A1)

Затем примените СЧЁТЕСЛИ к этому столбцу:

=СЧЁТЕСЛИ(B1:B100; ИСТИНА)
Почему СЧИТАТЬПУСТОТЫ не видит ячейки с формулами?

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

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

Для обработки больших объёмов данных (тысячи строк) стандартные функции Excel могут работать медленно. Здесь на помощь приходят Power Query и динамические массивы.

Power Query (Get & Transform):

  1. Выделите диапазон и нажмите Данные → Из таблицы/диапазона.
  2. В редакторе Power Query выберите столбец, по которому нужно посчитать значения.
  3. Нажмите Преобразовать → Статистика → Подсчёт значений.
  4. Для группировки используйте Группировка по с параметром Count Rows.

Динамические массивы (Excel 365):

Функции ФИЛЬТР, УНИК и СОРТ позволяют создавать динамические диапазоны, которые автоматически обновляются. Пример:

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

Эта формула подсчитает все значения в A1:A100, которые больше 100, без создания промежуточных столбцов.

Комбинация с LET (Excel 365):

Функция LET позволяет присваивать имена промежуточным вычислениям:

=LET(

данные; A1:A100;

порог; 100;

СЧЁТ(ФИЛЬТР(данные; данные>порог))

)

Убедиться, что данные в таблице без объединённых ячеек

Преобразовать диапазон в таблицу (Ctrl+T)

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

Удалить пустые строки/столбцы

-->

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

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

  • 🚫 Игнорирование скрытых строк/столбцов: Функции вроде СЧЁТ учитывают скрытые ячейки. Чтобы их исключить, используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ с параметром 103 (видимые ячейки).
  • 🚫 Путаница с текстовыми числами: Ячейка с текстом "100" не будет учтена в СЧЁТ. Преобразуйте данные через ЗНАЧЕН или ТЕКСТВЧИСЛО.
  • 🚫 Несовпадение диапазонов в СЧЁТЕСЛИМН: Все диапазоны должны быть одного размера, иначе появится ошибка #ЗНАЧ!.
  • 🚫 Забытые пробелы: Ячейка с пробелом (" ") считается непустой. Удаляйте лишние пробелы через СЖПРОБЕЛЫ.

Как проверить данные перед подсчётом:

  1. Используйте ТИП для определения типа данных в ячейке (1 — число, 2 — текст).
  2. Применяйте ДЛСТР для поиска "невидимых" символов (например, =ДЛСТР(A1)>0 вернёт ИСТИНА, если ячейка не совсем пустая).
  3. Включите Показать формулы (Ctrl+`), чтобы увидеть скрытые вычисления.
⚠️ Внимание: Если вы импортировали данные из CSV или PDF, проверьте их на наличие непечатаемых символов (например, символа табуляции). Они могут искажать результаты подсчёта. Используйте =КОДСИМВ(A1) для диагностики.

8. Автоматизация: макросы и надстройки для подсчёта

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

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

Sub CountBoldCells()

Dim rng As Range, cell As Range

Dim boldCount As Long

Set rng = Selection

boldCount = 0

For Each cell In rng

If cell.Font.Bold Then

boldCount = boldCount + 1

End If

Next cell

MsgBox "Ячеек с жирным шрифтом: " & boldCount

End Sub

Чтобы запустить макрос:

  1. Нажмите Alt+F11 для открытия редактора VBA.
  2. Вставьте код в новый модуль.
  3. Выделите диапазон в Excel и запустите макрос (F5).

Полезные надстройки:

  • 🛠️ Kutools for Excel — содержит инструмент Select Specific Cells для подсчёта по сложным критериям.
  • 🛠️ Ablebits — позволяет считать ячейки по цвету, форматированию или регулярным выражениям.
  • 🛠️ Power Pivot — для работы с большими данными и сложными фильтрами.

Для пользователей Google Sheets многие задачи решаются через Apps Script. Например, этот скрипт подсчитает ячейки с комментариями:

function countCellsWithNotes() {

const sheet = SpreadsheetApp.getActiveSheet();

const range = sheet.getDataRange();

const notes = range.getNotes();

let count = 0;

notes.forEach(row => row.forEach(cell => { if (cell) count++; }));

Logger.log(count);

}

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

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

Используйте функцию ЕОШ в комбинации с СЧЁТЕСЛИ:

=СЧЁТЕСЛИ(диапазон; "#Н/Д") + СЧЁТЕСЛИ(диапазон; "#ДЕЛ/0!")

Или универсальный вариант для всех типов ошибок:

=СУММПРОИЗВ(--ЕОШ(диапазон))

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

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

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

=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103; диапазон)

Параметр 103 означает подсчёт видимых ячеек (аналог СЧЁТ). Для непустых ячеек используйте 102 (аналог СЧЁТЗ).

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

Используйте СЧЁТЕСЛИ с подстановочными знаками:

=СЧЁТЕСЛИ(диапазон; "@")

Эта формула подсчитает все ячейки, содержащие символ @. Для регистрозависимого поиска потребуется VBA.

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

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

=СЧЁТЕСЛИ(диапазон; ">=15.05.2026") - СЧЁТЕСЛИ(диапазон; ">15.05.2026")

Для диапазона дат лучше подходит СЧЁТЕСЛИМН:

=СЧЁТЕСЛИМН(диапазон; ">31.12.2023"; диапазон; "<01.02.2026")
Как посчитать ячейки в нескольких листах?

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

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

Для подсчёта по условию:

=СУММ(СЧЁТЕСЛИ(Лист1:Лист2!A1:A10; ">100"))

Обратите внимание: если структуры листов различаются, результат может быть некорректным.