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

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

В этой статье разберём не только базовую формулу =СРЗНАЧ(), но и её продвинутые модификации. Вы узнаете, как игнорировать нули, учитывать только видимые ячейки после фильтра, а также автоматизировать расчёты для динамических таблиц. Особое внимание уделим типичным ошибкам, из-за которых Excel возвращает неверные значения — например, когда среднее считается по не тем данным, которые вы ожидали.

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

Базовая формула: =СРЗНАЧ() и её синтаксис

Функция =СРЗНАЧ() (англ. =AVERAGE()) — самый простой способ найти среднее арифметическое. Она суммирует все числа в указанном диапазоне и делит результат на их количество. Синтаксис минималистичен:

=СРЗНАЧ(число1; [число2]; ...)

Где:

  • 📌 число1 — обязательный аргумент (может быть числом, ссылкой на ячейку или диапазоном, например A1:A10)
  • 📌 [число2] — необязательные дополнительные аргументы (до 255)

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

=СРЗНАЧ(B2:B8)

Ключевая особенность: функция обрабатывает до 255 аргументов, но на практике достаточно указать один диапазон. Например, =СРЗНАЧ(A1:A100; C1:C50) посчитает среднее по двум столбцам одновременно.

Как исключить пустые ячейки и нули из расчёта

По умолчанию СРЗНАЧ() воспринимает пустые ячейки как нули, что искажает результат. Например, если из 10 ячеек заполнены только 3, формула разделит их сумму на 10, а не на 3. Чтобы избежать этого, используйте одну из альтернатив:

  • 🔹 Формула массива (для Excel 365 и 2019+):
    =СРЗНАЧЕСЛИ(A1:A10; "<>0")
    Примечание: игнорирует только ячейки с нулём, но не пустые.
  • 🔹 Комбинация с ЕСЛИ (универсальный метод):
    =СУММПРОИЗВ(A1:A10; --(A1:A10<>"")) / СЧЁТЕСЛИ(A1:A10; "<>")
    Разбор: СУММПРОИЗВ суммирует только непустые ячейки, а СЧЁТЕСЛИ считает их количество.

Важно: в Excel 2016 и старше формулы массива требуют подтверждения клавишами Ctrl+Shift+Enter (они обрамляются фигурными скобками {}). В новых версиях это не нужно.

Почему нельзя просто использовать =СРЗНАЧЕСЛИ(A1

A10; "<>")?:

Эта формула вернёт ошибку #ДЕЛ/0!, потому что СРЗНАЧЕСЛИ требует указать критерий для числовых значений (например, >0), а не для пустот. Пустые ячейки — это не числа, поэтому их нужно фильтровать отдельно через СЧЁТЕСЛИ или ЕСЛИ.

Среднее по видимым ячейкам (после фильтра)

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

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

Где 1 — это код операции для расчёта среднего (другие коды: 9 — сумма, 2 — количество значений).

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

📊 Какой функцией вы чаще всего рассчитываете среднее?
СРЗНАЧ
СРЗНАЧЕСЛИ
ПРОМЕЖУТОЧНЫЕ.ИТОГИ
Другие функции
⚠️ Внимание: ПРОМЕЖУТОЧНЫЕ.ИТОГИ не работает с ручным скрытием строк (через плюсик слева). Она учитывает только фильтры, применённые через Данные → Фильтр.

Условное среднее: СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН

Когда нужно посчитать среднее только для ячеек, соответствующих определённому условию, используйте:

  • 📊 =СРЗНАЧЕСЛИ(диапазон_условия; условие; диапазон_среднего) — для одного критерия.
  • 📊 =СРЗНАЧЕСЛИМН(диапазон_среднего; диапазон_условия1; условие1; ...) — для нескольких критериев.

Пример 1: Средняя зарплата сотрудников отдела "Маркетинг" (столбец A — отдел, B — зарплата):

=СРЗНАЧЕСЛИ(A2:A100; "Маркетинг"; B2:B100)

Пример 2: Средняя оценка студентов, сдавших экзамен на "Отлично" (C — оценка, D — баллы):

=СРЗНАЧЕСЛИМН(D2:D100; C2:C100; "Отлично"; B2:B100; ">20")
Здесь учитываются только строки, где в столбце C стоит "Отлично", а в B балл выше 20.

Диапазоны условий и диапазон среднего имеют одинаковое количество строк|

Условия записаны в правильном формате (текст — в кавычках, числа — без)|

Нет объединённых ячеек в диапазонах|

Проверены опечатки в названиях (например, "Маркетинг" vs "маркетинг")-->

Расчёт среднего с учётом ошибок в данных

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

=СРЗНАЧ(ЕСЛИОШИБКА(A1:A10; ""))
Но: эта формула требует ввода как формула массива (Ctrl+Shift+Enter в старых версиях Excel).

Более надёжный способ — функция =АГРЕГАТ():

=АГРЕГАТ(1; 6; A1:A10)

Где:

  • 1 — код операции для среднего (аналог СРЗНАЧ),
  • 6 — параметр для игнорирования ошибок.

Другие полезные параметры для АГРЕГАТ:

ПараметрДействие
1Игнорирует скрытые строки (как ПРОМЕЖУТОЧНЫЕ.ИТОГИ)
2Игнорирует ошибки
3Игнорирует скрытые строки и ошибки
5Игнорирует пустые ячейки и текст

Продвинутые приёмы: среднее по цвету, динамические диапазоны

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

Среднее по цвету ячейки:

  1. Добавьте вспомогательный столбец с формулой, проверяющей цвет (например, через =ПОЛУЧИТЬ.ЯЧЕЙКУ(38; A1) в именованной формуле).
  2. Используйте СРЗНАЧЕСЛИ с ссылкой на вспомогательный столбец.

Динамический диапазон:

Если данные постоянно добавляются, зафиксируйте диапазон как таблицу (Ctrl+T) и используйте ссылку на её столбец:

=СРЗНАЧ(Таблица1[Столбец1])
Excel автоматически расширит диапазон при добавлении новых строк.

Типичные ошибки и как их исправить

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

  • 🚨 #ДЕЛ/0! — деление на ноль. Причина: в диапазоне нет чисел (или все ячейки пустые/с текстом). Решение: добавьте проверку =ЕСЛИОШИБКА(СРЗНАЧ(A1:A10); 0).
  • 🚨 Неверное среднее — формула учитывает скрытые строки или пустые ячейки. Решение: замените СРЗНАЧ на ПРОМЕЖУТОЧНЫЕ.ИТОГИ или АГРЕГАТ.
  • 🚨 #ИМЯ? — опечатка в названии функции. Проверьте регистр: СРЗНАЧ (рус.), AVERAGE (англ.).
⚠️ Внимание: Если вы копируете формулу с СРЗНАЧЕСЛИМН в другую ячейку, убедитесь, что диапазоны условий и диапазон среднего сдвигаются синхронно. Например, при копировании вправо из =СРЗНАЧЕСЛИМН(B2:B100; A2:A100; "Да") в следующем столбце должна быть ссылка на C2:C100 и B2:B100 (если логика такая же).

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

Можно ли посчитать среднее по нескольким листам?

Да! Используйте 3D-ссылки. Например, чтобы посчитать среднее по ячейке A1 на листах Лист1, Лист2 и Лист3:

=СРЗНАЧ(Лист1:Лист3!A1)
Важно: все листы должны иметь одинаковую структуру.

Как найти среднее без учёта максимального и минимального значений?

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

= (СУММ(A1:A10) - МАКС(A1:A10) - МИН(A1:A10)) / (СЧЁТ(A1:A10) - 2)
Альтернатива: функция =УРЕЗСРЕДНЕЕ(A1:A10; 1) (англ. =TRIMMEAN) автоматически отсекает 1 крайнее значение с каждого конца.

Почему СРЗНАЧ игнорирует мои данные?

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

  • Ячейки отформатированы как текст (проверьте через Числовой формат).
  • Данные содержат неразрывные пробелы или скрытые символы (используйте =ПЕЧСИМВ(A1) для проверки).
  • В диапазоне есть формулы, возвращающие пустую строку (="").

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

Excel хранит время как доли суток (например, 12:00 = 0.5). Чтобы найти среднее время в ячейках A1:A10:

=СРЗНАЧ(A1:A10)

Затем отформатируйте ячейку с результатом как время (Формат ячеек → Время).

Можно ли автоматически обновлять среднее при добавлении новых данных?

Да, для этого:

  1. Преобразуйте диапазон в таблицу (Ctrl+T).
  2. Используйте структурированные ссылки, например =СРЗНАЧ(Таблица1[Столбец1]).
  3. Включите автоматический пересчёт в Формулы → Параметры вычислений → Автоматически.