Как посчитать средние значения в Excel: от простого к сложному

Почему расчёт среднего в Excel — это не так просто, как кажется

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

Эта статья не просто расскажет, как найти среднее значение в Excel — она раскроет 5 малоизвестных методов, которые экономят часы работы с большими массивами данных. Вы узнаете, как избежать типичных ошибок (например, когда пустые ячейки искажают результат), как автоматизировать расчёты для динамических таблиц и даже как применить среднее к данным с учётом логических условий. А в конце — бонус: готовые шаблоны формул для копирования.

1. Классическое среднее арифметическое: формула AVERAGE

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

=AVERAGE(число1; [число2]; ...)

или

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

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

=AVERAGE(A2:A8)
  • Плюсы: работает с диапазонами, игнорирует текстовые значения.
  • Минусы: учитывает ячейки с 0 (что не всегда нужно) и пустые ячейки, если они попадают в диапазон.
⚠️ Внимание: Если в диапазоне есть хотя бы одна ячейка с текстом (например, "Н/Д"), AVERAGE вернёт ошибку #DIV/0!. Чтобы этого избежать, используйте AVERAGEIF с критерием "<>""".

2. Среднее без учёта нулей: формула AVERAGEIF

Допустим, у вас есть данные о продажах по дням, но в некоторые дни продаж не было (значение 0). Включать такие дни в расчёт среднего часто бессмысленно — они занижают результат. Здесь поможет AVERAGEIF (в русской версии — СРЗНАЧЕСЛИ):

=AVERAGEIF(диапазон; критерий; [диапазон_усреднения])

Пример: посчитаем средние продажи, игнорируя дни с нулевыми значениями в диапазоне B2:B30:

=AVERAGEIF(B2:B30; "<>0")
День Продажи (руб.) Формула Результат
Пн 1500 =AVERAGE(B2:B6) 500
Вт 0 =AVERAGEIF(B2:B6; "<>0") 1000
Ср 2000
Чт 0
Пт 1000

Обратите внимание: в первом случае среднее равно 500 (учитываются два нуля), а во втором — 1000 (нули исключены).

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

Используйте AVERAGEIFS (в русской версии — СРЗНАЧЕСЛИМН). Пример: средние продажи по региону "Москва" за дни, когда продажи превысили 5000 руб.:

=AVERAGEIFS(B2:B100; A2:A100; "Москва"; B2:B100; ">5000")

3. Взвешенное среднее: когда данные имеют разный "вес"

Представьте, что вы рассчитываете среднюю оценку студента, где экзамены весят в 3 раза больше, чем домашние задания. Здесь нужна формула взвешенного среднего. В Excel её реализуют через SUMPRODUCT (в русской версии — СУММПРОИЗВ):

=SUMPRODUCT(диапазон_значений; диапазон_весов) / SUM(диапазон_весов)

Пример: у нас есть оценки 8, 9, 7 с весами 1, 3, 1 (экзамен весит в 3 раза больше). Формула:

=SUMPRODUCT(A2:A4; B2:B4) / SUM(B2:B4)
  • 📊 Где применимо: финансовые расчёты (например, средняя доходность портфеля акций с разными долями), образовательные рейтинги, анализ продаж по регионам с учётом их доли в общем объёме.
  • ⚠️ Ловушка: Если сумма весов равна нулю, формула вернёт ошибку #DIV/0!. Всегда проверяйте знаменатель.

Сумма весов не равна нулю

Все веса — положительные числа

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

Нет текстовых значений в данных-->

4. Среднее по условию: AVERAGEIFS для сложных фильтров

Функция AVERAGEIFS (в русской версии — СРЗНАЧЕСЛИМН) позволяет задавать несколько критериев одновременно. Например, посчитать среднюю зарплату сотрудников отдела "Маркетинг", которые проработали больше 5 лет.

=AVERAGEIFS(диапазон_усреднения; диапазон_условия1; условие1; [диапазон_условия2; условие2]; ...)

Пример: средняя зарплата маркетологов со стажем >5 лет (данные в таблице с колонками A:Отдел, B:Стаж, C:Зарплата):

=AVERAGEIFS(C2:C100; A2:A100; "Маркетинг"; B2:B100; ">5")
⚠️ Внимание: Если ни одна ячейка не удовлетворяет всем условиям, AVERAGEIFS вернёт #DIV/0!. Чтобы избежать ошибки, оберните формулу в IFERROR:
=IFERROR(AVERAGEIFS(...); "Нет данных")

Арифметическое (простое)

Взвешенное

Условное (с фильтрами)

Другой вариант-->

5. Динамическое среднее: автоматизация с таблицами Excel

Если ваши данные часто обновляются (например, ежемесячные отчёты), преобразуйте диапазон в умную таблицу (Ctrl+T). Это даёт два ключевых преимущества:

  1. Автоматическое расширение диапазона: Формулы внутри таблицы будут автоматически учитывать новые строки.
  2. Именованные диапазоны: Вместо A2:A100 можно использовать имя столбца (например, [Продажи]).

Пример: после преобразования в таблицу формула среднего примет вид:

=AVERAGE(Таблица1[Продажи])

Теперь при добавлении новой строки с данными формула пересчитается автоматически — не нужно вручную корректировать диапазоны.

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

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

  • 🔴 Ошибка #DIV/0!: Возникает, когда в диапазоне нет чисел (или все числа отфильтрованы условиями). Решение: используйте IFERROR или проверяйте диапазон на пустоту с COUNTIF.
  • 🔴 Неучтённые пустые ячейки: AVERAGE игнорирует пустые ячейки, но если они содержат формулы, возвращающие "", результат может быть неверным. Решение: очищайте ячейки или используйте AVERAGEIF с критерием "<>""".
  • 🔴 Текст вместо чисел: Ячейки с текстом (например, "Н/Д") ломают расчёты. Решение: преобразуйте данные в числа или используйте AVERAGEIF с фильтрацией.

Проверьте себя: если ваша формула возвращает явно неверный результат, сначала убедитесь, что:

  1. Все ячейки в диапазоне имеют числовой формат (а не текстовый).
  2. Нет скрытых символов (например, пробелов перед числом).
  3. Диапазоны в формуле не содержат объединённых ячеек.

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

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

Нет, в стандартном Excel нет функции для усреднения по цвету. Но можно использовать VBA-макрос или обойтись фильтрацией: отсортируйте данные по цвету (вручную или через "Найти и выделить → Выделение по цвету"), затем примените AVERAGE к видимым ячейкам.

Почему моя формула =AVERAGE(A1:A10) возвращает 0, хотя есть ненулевые значения?

Скорее всего, в диапазоне есть ячейки с текстовыми значениями (например, "-") или ошибками (например, #N/A). Excel интерпретирует их как 0 в контексте AVERAGE. Используйте =AVERAGEIF(A1:A10; "<>0"; A1:A10) или проверьте данные на ошибки функцией ISERROR.

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

Среднее геометрическое (используется, например, для расчёта среднего темпа роста) считается через GEOMEAN (в русской версии — СРГЕОМ):

=GEOMEAN(A2:A10)

Если этой функции нет (в Excel 2010 и старше она есть), используйте формулу:

=EXP(AVERAGE(LN(A2:A10)))
Можно ли посчитать среднее по нескольким листам?

Да! Используйте трёхмерные ссылки. Например, чтобы усреднить данные с листов "Январь", "Февраль" и "Март" (ячейки B2), введите:

=AVERAGE(Январь:Март!B2)

Важно: все листы должны иметь одинаковую структуру.

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

Используйте комбинацию функций SUM, COUNT, MAX и MIN:

= (SUM(A2:A10) - MAX(A2:A10) - MIN(A2:A10)) / (COUNT(A2:A10) - 2)

Эта формула суммирует все значения, вычитает максимум и минимум, затем делит на количество значений минус 2.