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

Почему среднее значение — это не просто сумма делённая на количество

Вы когда-нибудь задумывались, почему в отчётах, статистике и даже бытовых расчётах так часто используется среднее арифметическое? На первый взгляд, это простая операция: сложил все числа, разделил на их количество — готово. Но в Microsoft Excel (и его аналогах вроде Google Sheets или LibreOffice Calc) расчёт среднего может превратиться в настоящую головоломку, если не учесть нюансы.

Допустим, вам нужно найти среднюю температуру за неделю, среднюю зарплату в отделе или средний чек в магазине. Казалось бы, что может пойти не так? А вот что: пустые ячейки искажают результат, текстовые значения вызывают ошибки, а выбросы (например, одна зарплата в 500 тыс. руб. среди десятка в 50 тыс.) делают среднее бесполезным. В этой статье мы разберём не только базовую функцию СРЗНАЧ, но и её модификации для реальных задач — с фильтрами, условиями и даже без учёта экстремальных значений.

И да, если вы думаете, что среднее арифметическое и медиана — это одно и то же, то после прочтения пересмотрите своё отношение к статистике. Спойлер: медиана часто точнее отражает "типичное" значение, особенно когда данные неоднородны.

Способ 1: Базовая функция СРЗНАЧ — когда всё просто

Начнём с классики. Функция СРЗНАЧ (или AVERAGE в английской версии) — это ваш первый помощник. Она работает с любым набором чисел, игнорирует пустые ячейки и текстовые значения (но не ошибки!). Синтаксис предельно прост:

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

или

=СРЗНАЧ(диапазон)

Примеры использования:

  • 📌 =СРЗНАЧ(A1:A10) — среднее значений в ячейках с A1 по A10.
  • 📌 =СРЗНАЧ(5; 10; 15; 20) — среднее четырёх чисел, введённых прямо в формулу.
  • 📌 =СРЗНАЧ(Лист2!B2:B100) — расчёт среднего с другого листа.

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

Способ 2: СРЗНАЧА — когда пустые ячейки тоже важны

Функция СРЗНАЧА (или AVERAGEA) — это "всеядный" вариант СРЗНАЧ. Она учитывает все ячейки в диапазоне, включая:

  • 🔢 Числа (как и СРЗНАЧ).
  • 📝 Текстовые значения — они приравниваются к 0.
  • 🟠 Пустые ячейки — тоже считаются как 0.
  • ❌ Логические значения ИСТИНА (1) и ЛОЖЬ (0).

Пример: если в диапазоне A1:A5 значения 10, 20, "", "текст", ИСТИНА, то:

  • СРЗНАЧ(A1:A5) вернёт 15 (учитывает только 10 и 20).
  • СРЗНАЧА(A1:A5) вернёт 6 (считает как (10 + 20 + 0 + 0 + 1) / 5).

Когда это полезно? Например, при анализе опросов, где пустой ответ может означать "нет мнения" (то есть 0), или в бухгалтерии, где пропущенные данные трактуются как нулевые операции.

📊 Как часто вы используете СРЗНАЧА вместо СРЗНАЧ?
Всегда
Иногда
Никогда
Не знал о такой функции

Способ 3: Условное среднее — когда нужны только определённые данные

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

СРЗНАЧЕСЛИ (или AVERAGEIF) работает с одним условием:

=СРЗНАЧЕСЛИ(диапазон_условия; условие; [диапазон_среднего])
  • 📍 диапазон_условия — где искать условие (например, столбец с полом).
  • 📌 условие — что искать (например, "М" для мужчин).
  • 📊 диапазон_среднего — откуда брать числа для расчёта (если не указан, используется диапазон_условия).

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

=СРЗНАЧЕСЛИ(B2:B100; "М"; C2:C100)

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

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

Пример: средняя зарплата мужчин старше 30 лет:

=СРЗНАЧЕСЛИМН(C2:C100; B2:B100; "М"; D2:D100; ">30")

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

Проверьте регистр текста в условиях (например, "М" и "м" — разные значения)|

Исключите скрытые символы (пробелы, неразрывные пробелы) в текстовых условиях|-->

Способ 4: Среднее без учёта экстремальных значений (обрезка выбросов)

Представьте: у вас данные о продажах за месяц, и одна сделка на 1 млн руб. среди двадцати по 50 тыс. руб. Среднее значение взлетит до небес, хотя на самом деле majority продаж — это те самые 50 тыс. В таких случаях полезно обрезать выбросы (trimmed mean), то есть игнорировать, например, 10% самых больших и самых маленьких значений.

В Excel нет встроенной функции для этого, но её легко создать с помощью УРОВЕНЬ.ВЫБОРКИ (TRIMMEAN):

=УРОВЕНЬ.ВЫБОРКИ(массив; доля)
  • 📊 массив — диапазон с данными.
  • 🔢 доля — какую часть значений обрезать с каждого конца (например, 0,1 для 10%).

Пример: обрезанное среднее для диапазона A1:A20 с исключением 10% выбросов:

=УРОВЕНЬ.ВЫБОРКИ(A1:A20; 0,1)

Важно: функция обрезает симметрично — если вы укажете 0,2, то будут исключены 20% самых маленьких и 20% самых больших значений. Если вам нужно обрезать только верхние или только нижние выбросы, используйте комбинацию НАИМЕНЬШИЙ/НАИБОЛЬШИЙ с СРЗНАЧ.

Что делать, если УРОВЕНЬ.ВЫБОРКИ недоступна?

В некоторых версиях Excel (например, Excel 2016 для Mac) этой функции нет. Альтернатива — использовать Power Query или написать пользовательскую функцию на VBA.

Способ 5: Среднее по фильтрованным данным (без формул)

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

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

  1. 📋 Выделите диапазон с данными (включая заголовки).
  2. 🔍 Примените фильтр (Данные → Фильтр).
  3. 📊 Перейдите на вкладку Данные → Промежуточные итоги.
  4. 📈 В окне настройте:
    • 📌 При каждом изменении в: — выберите столбец, по которому фильтруете.
    • 📊 Операция: — выберите Среднее.
    • 📌 Добавить итоги по: — укажите столбец с числами.
  • 🖱️ Нажмите ОК — среднее появится под отфильтрованными данными.
  • Альтернатива — функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ (SUBTOTAL):

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

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

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

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

    ⚠️ Внимание: Если в диапазоне есть ячейки с формулами, возвращающими пустую строку (=""), функция СРЗНАЧ проигнорирует их, а СРЗНАЧА посчитает как 0. Это может привести к разнице в результатах на 20–30%!
    Ошибка Причина Решение
    #ДЕЛ/0! В диапазоне нет числовых значений или все ячейки пустые/текстовые. Проверьте диапазон на наличие чисел или используйте ЕСЛИОШИБКА:
    #ЗНАЧ! В условии для СРЗНАЧЕСЛИ использован недопустимый оператор (например, "=М" вместо "М"). Уберите знак = из текстового условия.
    Неправильное среднее В данных есть скрытые символы (например, пробелы перед числами) или числа хранятся как текст. Используйте ЗНАЧЕН для преобразования текста в числа: =СРЗНАЧ(ЗНАЧЕН(A1:A10)).
    Среднее "взлетает" из-за выбросов В данных есть экстремально большие или маленькие значения. Примените УРОВЕНЬ.ВЫБОРКИ или рассчитайте медиану (МЕДИАНА).

    Ещё один коварный момент: если вы копируете формулу с СРЗНАЧ в другую ячейку, относительные ссылки автоматически изменятся. Например, =СРЗНАЧ(A1:A10) при копировании вправо станет =СРЗНАЧ(B1:B10). Чтобы зафиксировать диапазон, используйте абсолютные ссылки: =СРЗНАЧ($A$1:$A$10).

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

    Среднее арифметическое — не всегда лучший показатель центральной тенденции. Вот случаи, когда стоит использовать другие методы:

    • 📉 Данные с выбросами: одна экстремально большая или маленькая величина искажает результат. Например, средний доход в группе, где один миллиардер и 99 человек с доходом 30 тыс. руб. Решение: МЕДИАНА или УРОВЕНЬ.ВЫБОРКИ.
    • 📊 Нелинейные шкалы: если данные представляют собой проценты, коэффициенты или логарифмические величины, лучше использовать среднее геометрическое (=СТЕПЕНЬ(ПРОИЗВЕД(A1:A10); 1/СЧЁТ(A1:A10))).
    • 📈 Временные ряды: для анализа трендов (например, средний рост продаж по месяцам) полезнее скользящее среднее (используйте СРЗНАЧ с динамическим диапазоном).
    • 🎯 Категориальные данные: если у вас номинальные значения (например, цвета или бренды), среднее вообще не имеет смысла. Используйте моду (наиболее частое значение).

    Пример: если у вас данные о росте продаж за 12 месяцев, и вы хотите сгладить сезонные колебания, используйте скользящее среднее за 3 месяца:

    =СРЗНАЧ(B2:B4)  // для ячейки C4
    

    =СРЗНАЧ(B3:B5) // для ячейки C5

    и т.д.

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

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

    Да! Используйте синтаксис с точкой с запятой для разделения диапазонов:

    =СРЗНАЧ(A1:A10; C1:C10; E1:E10)

    Главное, чтобы все диапазоны содержали числа.

    Почему моё среднее не совпадает с расчётом вручную?

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

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

    Проверьте данные с помощью функции ТИП:

    =ТИП(A1)

    Она вернёт 1 для чисел, 2 для текста, 16 для ошибок.

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

    Excel не поддерживает расчёт среднего по цвету ячеек стандартными функциями. Решения:

    1. 🎨 Используйте фильтр по цвету (вручную или через VBA).
    2. 📊 Добавьте вспомогательный столбец с формулой, которая присваивает значение 1 ячейкам нужного цвета (например, с помощью ПОЛУЧИТЬ.ЯЧЕЙКУ и VBA).
    3. 🔍 Примените Промежуточные итоги после фильтрации по цвету.

    Для автоматизации напишите пользовательскую функцию на 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; B1), где B1 — ячейка с образцом цвета.

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

    Да! Используйте структурированные ссылки на таблицы Excel или функции СМЕЩ/ИНДЕКС:

    1. 📖 Преобразуйте данные в умную таблицу (Ctrl + T).
    2. 🔗 Используйте формулу вида:
      =СРЗНАЧ(Таблица1[Столбец1])

      где Таблица1 — имя таблицы, а Столбец1 — имя столбца.

    3. 📌 При добавлении новых строк в таблицу диапазон в формуле автоматически расширится.

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

    =СРЗНАЧ(СМЕЩ(A1; СЧЁТЗ(A:A)-10; 0; 10; 1))
    Как посчитать средневзвешенное значение?

    Средневзвешенное учитывает "вес" каждого значения. Формула:

    =СУММПРОИЗВ(диапазон_значений; диапазон_весов) / СУММ(диапазон_весов)

    Пример: средневзвешенная оценка студента, где A1:A3 — оценки (4, 5, 3), а B1:B3 — веса (например, количество кредитов: 2, 3, 1):

    =СУММПРОИЗВ(A1:A3; B1:B3) / СУММ(B1:B3)

    Результат: (4*2 + 5*3 + 3*1) / (2+3+1) = 4,33.