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

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

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

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

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

Если вам нужно быстро посчитать количество ячеек с данными, начните с этих трёх функций. Они входят в стандартный набор Excel и работают во всех версиях программы, включая Excel Online.

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

Пример: чтобы посчитать, сколько строк в столбце A содержат число больше 50, используйте:

=СЧЁТЕСЛИ(A2:A100; ">50")

Ловушка для новичков: функция СЧЁТ проигнорирует ячейки с текстом типа "123" (если они отформатированы как текст), но посчитает даты, так как они хранятся как числа. Чтобы избежать путаницы, предварительно проверьте формат данных с помощью Формат ячеек (Ctrl+1).

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

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

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

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

Для более сложных условий (например, подсчёт по диапазону дат или частичному совпадению текста) используйте БСЧЁТ (в английской версии — SUMPRODUCT). Эта функция умножает массивы и суммирует результаты, что позволяет комбинировать несколько логических проверок:

=БСЧЁТ(--(A2:A100="Да"); --(B2:B100>1000))
⚠️ Внимание: БСЧЁТ требует двойного знака минус (--) перед логическими выражениями, чтобы преобразовать ИСТИНА/ЛОЖЬ в 1/0. Без этого формула вернёт ошибку.

Сравнение функций:

ФункцияУчитывает пустые ячейкиПоддерживает несколько условийРаботает с текстом
СЧЁТНетНетНет
СЧЁТЗНетНетДа
СЧЁТЕСЛИНетОдно условиеДа
СЧЁТЕСЛИМННетНесколько условийДа
БСЧЁТДа (если явно указано)ДаДа

3. Подсчёт уникальных значений: ЧАСТОТА и УНИК

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

  • 🔹 УНИК(диапазон) — возвращает список уникальных значений (доступно в Excel 365 и Excel 2021). Чтобы посчитать их количество, оберните функцию в СЧЁТ:
=СЧЁТ(УНИК(A2:A100))

Для старых версий Excel подойдёт комбинация ЧАСТОТА + СУММПРОИЗВ:

=СУММ(--(ЧАСТОТА(A2:A100; A2:A100)>0))

Эта формула работает как массивная и требует подтверждения клавишами Ctrl+Shift+Enter в версиях до Excel 365.

Важно: функция УНИК чувствительна к регистру. Если в массиве есть "Привет" и "привет", они будут считаться разными значениями.

4. Динамические массивы: ФИЛЬТР + СЧЁТ

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

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

Преимущества этого подхода:

  • 🔄 Автоматическое обновление при изменении исходных данных.
  • 📊 Возможность комбинировать с другими функциями (например, СОРТ или УНИК).
  • 🚀 Более чистый код по сравнению с БСЧЁТ.

Пример: подсчёт количества строк, где в столбце B указано "Да", а в столбце C — дата позже 01.01.2026:

=СЧЁТ(ФИЛЬТР(B2:B100; (B2:B100="Да")*(C2:C100>ДАТА(2026;1;1))))
⚠️ Внимание: динамические массивы могут замедлить работу книги, если использовать их на больших диапазонах (более 100 000 строк). В таких случаях лучше перейти на Power Query.

5. Подсчёт с помощью сводных таблиц

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

Алгоритм действий:

  1. Выделите исходный диапазон данных (включая заголовки).
  2. Перейдите на вкладку ВставкаСводная таблица.
  3. В поле Значения перетащите столбец, который нужно посчитать (например, "Количество").
  4. По умолчанию Excel предложит сумму — измените её на Количество в настройках поля.

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

  • 🎨 Интерактивная фильтрация по любым критериям.
  • 📈 Возможность группировки данных (например, по месяцам или категориям).
  • 🔄 Автоматическое обновление при изменении исходных данных.

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

Проверить формат данных (даты как даты, числа как числа)|

Добавить заголовки ко всем столбцам|

Удалить объединённые ячейки (они мешают анализу)-->

6. Продвинутые приёмы: ПОИСКПОЗ + ИНДЕКС для нестандартных массивов

Иногда данные хранятся в неудобном формате — например, в одной ячейке через запятую или в нескольких листах. В таких случаях поможет комбинация ПОИСКПОЗ и ИНДЕКС.

Пример 1: подсчёт количества элементов в ячейке, разделённых запятой.

=ЕСЛИ(A1=""; 0; ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1; ","; ""))+1)

Пример 2: подсчёт строк в динамическом именованном диапазоне.

=СЧЁТ(ИНДЕКС(Диапазон; 0; 1))

Для работы с многомерными массивами (например, подсчёт вхождений по двум критериям) используйте:

=СУММПРОИЗВ(--(A2:A100="Критерий1"); --(B2:B100="Критерий2"))
Как посчитать количество слов в ячейке?

Используйте формулу:

=ЕСЛИ(A1=""; 0; ДЛСТР(ОЧИСТИТЬ(A1))-ДЛСТР(ПОДСТАВИТЬ(ОЧИСТИТЬ(A1); " "; ""))+1)

Она удаляет лишние пробелы с помощью ОЧИСТИТЬ, затем считает количество пробелов + 1.

7. Автоматизация с Power Query: подсчёт в больших массивах

Если вы работаете с данными объёмом более 100 000 строк, обычные функции Excel могут тормозить. В этом случае переходите на Power Query (вкладка ДанныеПолучить данные).

Алгоритм подсчёта:

  1. Загрузите данные в Power Query (Из таблицы/диапазона).
  2. Выделите столбец, по которому нужно посчитать значения.
  3. На вкладке Преобразовать выберите Группировка.
  4. Укажите столбец для группировки и операцию Количество строк.

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

  • ⚡ Обработка миллионов строк без зависаний.
  • 🔄 Автоматическое обновление при изменении источника.
  • 🛠️ Возможность очистки данных (удаление дубликатов, замена значений) перед подсчётом.

Критическая особенность: после импорта данных в Power Query не забудьте нажать Закрыть и загрузить, иначе изменения не сохранятся в книге.

FAQ: Частые вопросы о подсчёте массивов в Excel

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

Используйте формулу =СЧИТАТЬПУСТОТЫ(A1:A100) или =СЧЁТЗ(A1:A100)-СЧЁТ(A1:A100) для числовых данных.

Почему СЧЁТЕСЛИ не считает текстовые значения?

Убедитесь, что критерий указан в кавычках: =СЧЁТЕСЛИ(A1:A100; "Да"). Без кавычек Excel ищет имя диапазона, а не текст.

Как посчитать количество ячеек с ошибками (#Н/Д, #ЗНАЧ!)?

Используйте формулу массива:

=СУММ(--(ЕОШ(A1:A100)))

В версиях до Excel 365 подтвердите её клавишами Ctrl+Shift+Enter.

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

Стандартными функциями — нет. Но можно написать макрос на VBA или использовать надстройку типа Kutools for Excel.

Как посчитать количество строк в отфильтрованном диапазоне?

Выделите видимые ячейки (нажмите Alt+;), затем посмотрите количество в строке состояния Excel или используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3; A2:A100).