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

Почему расчёт среднего в Excel — это не только про функцию СРЗНАЧ

Среднее арифметическое — одна из самых востребованных статистических метрик в анализе данных. В Microsoft Excel её можно вычислить буквально в два клика, но на практике пользователи сталкиваются с десятками нюансов: от игнорирования пустых ячеек до учёта только определённых условий. Ошибка в расчётах может исказить финансовые отчёты, научные исследования или даже бизнес-планы.

Эта статья не просто расскажет, как найти среднее в Excel — она научит делать это правильно. Мы разберём:

  • 🔹 5 способов расчёта (от базового до продвинутого с формулами массива)
  • 🔹 Как исключить из расчёта нулевые значения и ошибки #ДЕЛ/0!
  • 🔹 Почему СРЗНАЧ и СРЗНАЧА дают разные результаты (и когда это критично)
  • 🔹 Автоматизацию через Power Query для больших массивов данных

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

📊 Как часто вы используете средние значения в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 1: Базовый расчёт с функцией СРЗНАЧ

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

Пример формулы для диапазона A1:A10:

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

Чтобы избежать ошибок, запомните:

  • 📌 Если в диапазоне есть ячейки с текстом (например, "Н/Д"), СРЗНАЧ проигнорирует их.
  • 📌 Нулевые значения (0) учитываются в расчёте! Если нужно их исключить — используйте СРЗНАЧЕСЛИ.
  • 📌 Для диапазонов с ошибками (#ЗНАЧ!, #ДЕЛ/0!) функция вернёт ошибку.
Что делать, если СРЗНАЧ возвращает #ДЕЛ/0!?

Ошибка #ДЕЛ/0! означает, что в указанном диапазоне нет ни одного числового значения (или все ячейки пустые/с текстом).

Решения:

1. Проверьте диапазон на наличие чисел.

2. Используйте ЕСЛИОШИБКА(СРЗНАЧ(A1:A10); 0), чтобы вернуть 0 вместо ошибки.

3. Примените СРЗНАЧА, если нужно учитывать текст как 0 (см. следующий раздел).

СРЗНАЧ vs СРЗНАЧА: когда разница критична

Функция СРЗНАЧА (англ. AVERAGEA) работает аналогично СРЗНАЧ, но с ключевым отличием: она учитывает все непустые ячейки, включая:

  • 🔢 Текстовые значения (приравниваются к 0)
  • 🔢 Логические значения (ИСТИНА = 1, ЛОЖЬ = 0)
  • 🔢 Пустые ячейки ("") игнорируются

Пример, где разница очевидна:

ЯчейкаЗначениеСРЗНАЧСРЗНАЧА
A110105
A2ИСТИНАигнор1
A3Н/Дигнор0
A4202020
Результат-155

Критический случай: если в ваших данных есть текстовые пометки (например, "Отсутствовал" в журнале оценок), СРЗНАЧА исказит результат, приравняв их к нулю. Используйте эту функцию только когда уверены, что все нечисловые значения должны трактоваться как 0.

=СЧЁТ(A1:A10) — количество числовых значений, =СЧЁТЗ(A1:A10) — количество непустых ячеек.

Разница покажет, сколько ячеек проигнорировано.-->

Способ 3: Среднее с условиями (СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН)

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

Синтаксис СРЗНАЧЕСЛИ:

=СРЗНАЧЕСЛИ(диапазон_условия; условие; [диапазон_среднего])

Пример: средний чек для заказов свыше 1000 ₽ в колонке B2:B100:

=СРЗНАЧЕСЛИ(B2:B100; ">1000")

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

=СРЗНАЧЕСЛИМН(B2:B100; A2:A100; "Москва"; C2:C100; ">10.01.2023")

Эта формула рассчитает средний чек для заказов из Москвы, сделанных после 10 января 2023 года.

Убедитесь, что диапазон условия и диапазон среднего совпадают по размеру

Проверьте регистр текста в условиях (Excel чувствителен к "Москва" vs "москва")

Исключите пробелы в ячейках с условиями (используйте СЖПРОБЕЛЫ)

Для дат используйте формат >"10.01.2023" (в кавычках)-->

Продвинутый уровень: формулы массива и СУММПРОИЗВ

Когда стандартные функции не справляются (например, нужно посчитать среднее по динамическому диапазону или с несколькими ИЛИ-условиями), на помощь приходят формулы массива и СУММПРОИЗВ.

Пример 1: Среднее для значений, соответствующих одному из нескольких условий (Москва ИЛИ Санкт-Петербург):

=СУММПРОИЗВ((A2:A100="Москва")+(A2:A100="Санкт-Петербург"); B2:B100) /

СУММПРОИЗВ(--((A2:A100="Москва")+(A2:A100="Санкт-Петербург")))

Пример 2: Среднее по последним 5 непустым ячейкам в динамическом диапазоне:

=СРЗНАЧ(ИНДЕКС(B2:B100; БОЛЬШЕ(ЕСЛИ(B2:B100<>""; СТРОКА(B2:B100)-1); СЧЁТЗ(B2:B100)-5):СЧЁТЗ(B2:B100)))

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

⚠️ Внимание: Формулы массива в новых версиях Excel (365, 2021) не требуют подтверждения Ctrl+Shift+Enter, но в Excel 2019 и старше это обязательно! Если забыть нажать комбинацию, формула вернёт ошибку.

Ошибки и ловушки: почему ваш расчёт неправильный

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

  1. Скрытые символы в ячейках: Пробелы, неразрывные пробелы (CHAR(160)) или непечатаемые символы могут заставить СРЗНАЧ игнорировать ячейку. Используйте СЖПРОБЕЛЫ и ПЕЧСИМВ для очистки.
  2. Ошибки в данных: Ячейки с #Н/Д или #ЗНАЧ! прервут вычисление. Обработайте их через ЕСЛИОШИБКА.
  3. Несовпадающие диапазоны: В СРЗНАЧЕСЛИ диапазон условия и диапазон среднего должны быть одного размера, иначе результат будет некорректным.
  4. Деление на ноль в условных формулах: Если ни одна ячейка не удовлетворяет условию, СРЗНАЧЕСЛИ вернёт #ДЕЛ/0!. Заранее проверяйте количество подходящих значений:
=ЕСЛИ(СЧЁТЕСЛИ(A2:A100; "Москва")=0; 0; СРЗНАЧЕСЛИ(A2:A100; "Москва"; B2:B100))

Уникальный случай: если в ваших данных есть выбросы (например, одно значение в 100 раз больше остальных), среднее арифметическое исказит реальную картину. В таких случаях используйте МЕДИАНА или МОДА для более точного анализа.

Используйте МАКС, МИН и СТАНДОТКЛОН, чтобы выявить выбросы.-->

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

Если вам нужно регулярно рассчитывать средние значения для тысяч строк (например, в отчётах по продажам или логах систем), ручной ввод формул станет кошмаром. Power Query (вкладка Данные → Получить данные) позволяет автоматизировать процесс:

  1. Импортируйте данные в Power Query (из Excel, CSV, базы данных).
  2. Отфильтруйте ненужные строки (например, по региону или дате).
  3. Группируйте данные по нужному признаку (например, по месяцам) и добавьте операцию Среднее.
  4. Загрузите результат обратно в Excel — средние значения обновятся автоматически при изменении исходных данных.

Пример на M-коде для группировки продаж по месяцам и расчёта среднего чека:

let

Источник = Excel.CurrentWorkbook(){[Name="Продажи"]}[Content],

ИзмененныйТип = Table.TransformColumnTypes(Источник,{{"Дата", type date}, {"Сумма", Currency.Type}}),

ДобавленМесяц = Table.AddColumn(ИзмененныйТип, "Месяц", each Date.Month([Дата])),

Группировка = Table.Group(ДобавленМесяц, {"Месяц"}, {{"Средний чек", each List.Average([Сумма]), type number}})

in

Группировка

⚠️ Внимание: При работе с Power Query следите за типами данных. Если колонка с числами определена как текст, среднее рассчитать не удастся. Используйте Table.TransformColumnTypes для явного указания формата.

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

Можно ли рассчитать среднее по цвету ячеек?

Стандартными функциями — нет. Но можно использовать VBA-макрос или Power Query с предварительной разметкой цветов. Альтернатива: добавьте вспомогательную колонку с пометками о цвете (например, "Красный", "Зелёный") и используйте СРЗНАЧЕСЛИ.

Почему моя формула СРЗНАЧ возвращает #ИМЯ??

Ошибка #ИМЯ? означает, что Excel не распознаёт имя функции. Возможные причины:

  • Опечатка в названии (например, "СРЕЗНАЧ" вместо "СРЗНАЧ").
  • Используется английская версия Excel, а вы ввели русское название функции (попробуйте AVERAGE).
  • Функция введена как текст (проверьте, нет ли перед формулой апострофа ').

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

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

=СРЗНАЧ(ЕСЛИ(A1:A10<>МАКС(A1:A10); ЕСЛИ(A1:A10<>МИН(A1:A10); A1:A10)))

Для Excel 365/2021 можно упростить:

=СРЗНАЧ(ФИЛЬТР(A1:A10; (A1:A10<>МАКС(A1:A10))*(A1:A10<>МИН(A1:A10))))
Можно ли рассчитать среднее по нескольким листам?

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

=СРЗНАЧ(Лист1:Лист3!B2)

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

=СРЗНАЧ(ДВССЫЛ("Лист" & ПОСЛЕД(ИМЯЛИСТА(Лист1:Лист3); 1) & "!B2"))
Как посчитать средневзвешенное значение?

Для средневзвешенного используйте СУММПРОИЗВ:

=СУММПРОИЗВ(значения; веса) / СУММ(веса)

Пример: средняя оценка студента с учётом кредитов предметов (в A2:A5 оценки, в B2:B5 кредиты):

=СУММПРОИЗВ(A2:A5; B2:B5) / СУММ(B2:B5)