Как быстро посчитать среднее арифметическое в Excel: 5 способов с примерами

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

В этой статье разберём не только классический метод, но и малоизвестные приёмы: как исключить нули из расчёта, посчитать среднее по цвету ячеек или с учётом фильтра. Особое внимание уделим типичным ошибкам — например, почему функция возвращает #ДЕЛ/0! и как это исправить. Готовые примеры с формулами и скриншотами помогут применить знания на практике уже сегодня.

Если вы работаете с большими массивами данных, где важна точность, умение правильно считать среднее сэкономит часы ручной работы. А для тех, кто только начинает осваивать Excel, мы подготовили пошаговые инструкции с визуальными подсказками.

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

Базовая формула: функция СРЗНАЧ

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

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

Где число1, число2 и т.д. — это либо отдельные значения (например, 5, 10), либо ссылки на ячейки (A1:A10). Функция игнорирует пустые ячейки и текстовые значения, но учитывает нули.

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

=СРЗНАЧ(B2:B8)
  • 📌 Преимущество: работает во всех версиях Excel (включая Excel 2003 и новее).
  • Ограничение: если в диапазоне есть текст (например,"Н/Д"), функция проигнорирует его, но вернёт ошибку, если все ячейки нечисловые.
  • 🔄 Альтернатива: для английской версии Excel используйте AVERAGE.

Чтобы проверить корректность расчёта, можно вручную сложить все числа и разделить на их количество. Например, для значений 10, 20, 30 формула вернёт 20 ((10+20+30)/3). Если результат не совпадает — ищите скрытые символы или нечисловые данные в диапазоне.

Среднее с условиями: функции СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН

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

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

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

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

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

Для нескольких условий используйте СРЗНАЧЕСЛИМН. Например, средняя зарплата маркетологов с опытом >5 лет (столбец C — стаж):

=СРЗНАЧЕСЛИМН(B2:B10; A2:A10;"Маркетинг"; C2:C10;">5")
ФункцияПример использованияРезультат
СРЗНАЧЕСЛИ=СРЗНАЧЕСЛИ(A2:A5;">100")Среднее значений >100 в диапазоне A2:A5
СРЗНАЧЕСЛИМН=СРЗНАЧЕСЛИМН(B2:B10; A2:A10;"Да"; C2:C10;"2023")Среднее по столбцу B, где в A —"Да", а в C —"2023"
СРЗНАЧА=СРЗНАЧА(A2:A5)Среднее с учётом текста (текст = 0)

Важно: в Excel 365 и Excel 2021 функции СРЗНАЧЕСЛИМН поддерживают динамические массивы — можно указывать целые столбцы (например, A:A) без ущерба для производительности.

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

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

Исключите пустые ячейки в диапазоне условия, если они мешают логике|-->

Игнорируем ошибки и нули: функции СРЗНАЧЕСЛИМН и АГРЕГАТ

Если в данных есть ошибки (#Н/Д, #ЗНАЧ!) или нули, которые искажают результат, используйте:

  1. Функцию АГРЕГАТ — позволяет пропускать ошибки и скрытые строки. Синтаксис:
    =АГРЕГАТ(1; 6; B2:B10)

    Где 1 — код операции"Среднее", а 6 — параметр"Игнорировать ошибки".

  2. Комбинацию СРЗНАЧЕСЛИМН с условием"<>0" — исключает нули:
    =СРЗНАЧЕСЛИМН(B2:B10; B2:B10;"<>0")

Пример с АГРЕГАТ для диапазона B2:B10, где есть ошибка в B5:

=АГРЕГАТ(1; 6; B2:B10)

Функция проигнорирует #Н/Д в B5 и посчитает среднее по остальным значениям.

⚠️ Внимание: Функция АГРЕГАТ не работает с динамическими массивами в Excel 365. Для современных версий лучше использовать СРЗНАЧЕСЛИМН с фильтрацией ошибок через ЕОШИБКА.

Альтернативный способ — предварительная очистка данных с помощью ЕСЛИОШИБКА:

=СРЗНАЧ(ЕСЛИОШИБКА(B2:B10;""))

Эта формула заменит все ошибки пустыми строками, которые СРЗНАЧ проигнорирует.

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

Если к таблице применён фильтр, стандартная функция СРЗНАЧ вернёт среднее по ВСЕМ данным, а не только по видимым. Чтобы посчитать среднее только по отфильтрованным строкам, используйте:

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

Где 1 — код операции"Среднее", а B2:B10 — диапазон с числами. Эта функция автоматически учитывает фильтры и скрытые строки (кроме тех, что скрыты вручную через Формат ячеек).

Пример: если в таблице отфильтрованы только продажи за январь 2023, формула вернёт среднюю сумму сделок именно за этот месяц.

  • 🔍 Нюанс: ПРОМЕЖУТОЧНЫЕ.ИТОГИ не работает с динамическими массивами в Excel 365.
  • 📊 Альтернатива: для современных версий используйте ФИЛЬТР + СРЗНАЧ:
    =СРЗНАЧ(ФИЛЬТР(B2:B10; (A2:A10="Январь")*(C2:C10=2023)))
⚠️ Внимание: Если в отфильтрованном диапазоне не осталось видимых чисел, ПРОМЕЖУТОЧНЫЕ.ИТОГИ вернёт #ДЕЛ/0!. Чтобы избежать ошибки, оберните формулу в ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ПРОМЕЖУТОЧНЫЕ.ИТОГИ(1; B2:B10);"Нет данных")
Почему ПРОМЕЖУТОЧНЫЕ.ИТОГИ иногда возвращает неверное значение?

Функция учитывает только строки, скрытые через фильтр (Данные → Фильтр), но не те, что скрыты вручную (Главная → Формат → Скрыть/отобразить). Если часть данных скрыта через контекстное меню, используйте комбинацию СРЗНАЧ + ПОДСТАВИТЬ для игнорирования скрытых ячеек.

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

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

1. Среднее по цвету ячейки (требуется VBA):

Стандартных функций для этого нет, но можно создать собственную:

Function ColorAverage(rng As Range, color As Range) As Double

Dim cell As Range, sum As Double, count As Integer

For Each cell In rng

If cell.Interior.Color = color.Interior.Color Then

sum = sum + cell.Value

count = count + 1

End If

Next cell

If count > 0 Then ColorAverage = sum / count

End Function

Использование: =ColorAverage(A1:A10; D1), где D1 — ячейка с образцом цвета.

2. Динамическое среднее с несколькими условиями (Excel 365):

Для расчёта среднего по нескольким критериям без вспомогательных столбцов:

=СРЗНАЧ(ФИЛЬТР(B2:B10; (A2:A10="Да")*(C2:C10>100)))

Эта формула вернёт среднее по столбцу B, где в столбце A стоит"Да", а в столбце C — значения >100.

3. Взвешенное среднее (для данных с весами):

Если каждому значению присвоен вес (например, оценка с коэффициентом важности), используйте:

=СУММПРОИЗВ(B2:B10; C2:C10)/СУММ(C2:C10)

Где B2:B10 — значения, а C2:C10 — их веса.

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

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

  • 🚨 #ДЕЛ/0! — делить на ноль нельзя. Причины:
    • В диапазоне нет чисел (все ячейки пустые или текстовые).
    • Фильтр скрыл все числовые значения.
    Решение: Используйте ЕСЛИОШИБКА или проверьте диапазон на наличие данных.
  • 🔢 Неправильное среднее — функция учитывает скрытые строки или ошибки. Решение: Замените СРЗНАЧ на ПРОМЕЖУТОЧНЫЕ.ИТОГИ(1;...) или АГРЕГАТ(1; 6;...).
  • 🎨 Игнорируются цветные ячейки — стандартные функции не работают с форматированием. Решение: Напишите пользовательскую функцию на VBA (см. раздел выше).

Ещё одна частая ошибка — несовпадение диапазонов в СРЗНАЧЕСЛИ. Например, если диапазон условия A2:A10, а диапазон среднего B2:B9, функция вернёт неверный результат. Всегда проверяйте, что диапазоны одинакового размера!

Чтобы избежать ошибок, используйте пошаговую проверку:

  1. Выделите диапазон и нажмите F5Выделить → Постоянные значения, чтобы найти нечисловые данные.
  2. Примените условное форматирование для выделения ошибок (#Н/Д, #ЗНАЧ!).
  3. Используйте СЧЁТ или СЧЁТЕСЛИ, чтобы убедиться, что в диапазоне есть хотя бы одно число.

Практические примеры: задачи из реальной жизни

Разберём 3чных сценария, где расчёт среднего арифметического помогает принять обоснованные решения.

1. Анализ продаж

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

Решение:

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

2. Оценка успеваемости

Задача: Найти средний балл студентов по предмету"Математика", учитывая только тех, кто сдал экзамен (балл ≥ 60).

Решение:

=СРЗНАЧЕСЛИМН(C2:C50; B2:B50;"Математика"; C2:C50;">=60")

3. Контроль качества

Задача: Рассчитать средний вес деталей, соответствующих стандарту (вес от 95 до 105 грамм).

Решение:

=СРЗНАЧЕСЛИМН(B2:B200; B2:B200;">95"; B2:B200;"<105")
ЗадачаФормулаПояснение
Средняя температура без аномалий=СРЗНАЧЕСЛИМН(A2:A30; A2:A30;"> -50"; A2:A30;"< 50")Исключает значения вне диапазона -50...+50°C
Средний рейтинг товара (только с отзывами)=СРЗНАЧЕСЛИМН(B2:B500; C2:C500;"<>""")Учитывает только ячейки, где есть текст отзыва (столбец C)
Среднее время выполнения задачи (без выбросов)=УРЕЗСРЕДНЕЕ(B2:B100; 0.1)Игнорирует 10% самых больших и маленьких значений

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

=СРЗНАЧ(ЕСЛИ(ПОДСТАВИТЬ(A2:A10;"Да"; 1); B2:B10))

Эта формула массива вернёт среднее по столбцу B, где в столбце A стоит"Да".

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

Как посчитать среднее, если в данных есть текст и ошибки?

Используйте функцию АГРЕГАТ с параметром 6 (игнорировать ошибки):

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

Для текста: оберните диапазон в ЕСЛИОШИБКА:

=СРЗНАЧ(ЕСЛИОШИБКА(1*A2:A10;""))

Здесь 1*A2:A10 преобразует текст в ошибки, а ЕСЛИОШИБКА заменяет их пустыми строками.

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

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

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

Если нужно посчитать среднее по диапазону B2:B10 на нескольких листах, создайте сводную таблицу или используйте Power Query.

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

В Excel 2019 и новее есть функция УРЕЗСРЕДНЕЕ:

=УРЕЗСРЕДНЕЕ(A2:A10; 0.1)

Где 0.1 — доля исключаемых значений (10% с каждого конца).

Для старых версий используйте формулу массива:

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

Не забудьте подтвердить её нажатием Ctrl+Shift+Enter (в версиях до Excel 365).

Почему моя формула возвращает #ИМЯ?

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

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

Проверьте регион и язык в настройках Excel (Файл → Параметры → Язык).

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

В Excel 365 используйте динамические массивы. Например, среднее по последним 5 значениям в столбце A:

=СРЗНАЧ(ВЫБОР(ПОСЛЕДНИЕ(A2:A100; 5)))

Для старых версий создайте именованный диапазон с формулой:

=СМЕЩ(A1;СЧЁТЗ(A:A)-5;0;5;1)

Затем используйте его в СРЗНАЧ:

=СРЗНАЧ(Последние5)