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

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

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

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

1. Базовый способ: функция СРЗНАЧ (AVERAGE)

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

Синтаксис функции:

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

Где число1, число2 и т.д. — это либо отдельные числа, либо диапазоны ячеек. Например, для расчёта среднего значения в столбце B2:B10 формула будет выглядеть так:

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

🔹 Пример на практике:

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

⚠️ Внимание:

Если в выбранном диапазоне нет ни одного числового значения, Excel вернёт ошибку #ДЕЛ/0!. Это не баг, а особенность функции: делить на ноль невозможно. Чтобы избежать такой ситуации, проверьте данные на наличие чисел или используйте функцию ЕСЛИОШИБКА.

2. Расчёт среднего с условиями: СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН

Часто требуется посчитать среднее не по всем данным, а только по тем, которые соответствуют определённым критериям. Например, средняя зарплата сотрудников отдела маркетинга или средняя температура по дням, когда она превышала 20°C. Для этого в Excel есть две функции:

📌 СРЗНАЧЕСЛИ (AVERAGEIF) — учитывает одно условие.

Синтаксис:

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

📌 СРЗНАЧЕСЛИМН (AVERAGEIFS) — учитывает несколько условий.

Синтаксис:

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

🔹 Пример с СРЗНАЧЕСЛИ:

Допустим, у вас есть таблица с оценками студентов по предметам. Чтобы посчитать средний балл только по математике (предмет указан в столбце A, оценки — в столбце B), используйте:

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

🔹 Пример с СРЗНАЧЕСЛИМН:

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

=СРЗНАЧЕСЛИМН(B2:B10; A2:A10; "Математика"; C2:C10; "10")

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

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

Исключите пустые ячейки в диапазоне условий, если они не должны учитываться-->

⚠️ Внимание:

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

3. Среднее по фильтру: ДСРЗНАЧ (SUBTOTAL)

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

Синтаксис:

=ДСРЗНАЧ(номер_функции; диапазон)

Где номер_функции для среднего — это 1 (или 101, если нужно игнорировать скрытые вручную строки).

🔹 Пример:

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

=ДСРЗНАЧ(1; B2:B100)

📊 Сравнение с обычным СРЗНАЧ:

Функция Учитывает скрытые строки Учитывает отфильтрованные строки Игнорирует текст
СРЗНАЧ Да Да Да
ДСРЗНАЧ(1) Нет Только видимые Да
ДСРЗНАЧ(101) Нет Только видимые Да

⚠️ Внимание:

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

СРЗНАЧ (AVERAGE)

СРЗНАЧЕСЛИ (AVERAGEIF)

СРЗНАЧЕСЛИМН (AVERAGEIFS)

ДСРЗНАЧ (SUBTOTAL)

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

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

В современных версиях Excel (начиная с Excel 365 и Excel 2021) появились динамические массивы, которые позволяют гибко работать с изменяющимися диапазонами. Например, вы можете посчитать среднее по последним 5 записям или по данным, которые соответствуют сложным критериям.

🔹 Пример 1: Среднее по последним N строкам

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

=СРЗНАЧ(ИНДЕКС(B2:B100; ПОСЛЕДНИЕ(7; СТРОКА(B2:B100)-СТРОКА(B2)+1)))

🔹 Пример 2: Среднее с несколькими условиями (альтернатива СРЗНАЧЕСЛИМН)

Если вам нужно посчитать среднее по двум и более условиям, но СРЗНАЧЕСЛИМН кажется неудобной, используйте ФИЛЬТР:

=СРЗНАЧ(ФИЛЬТР(B2:B100; (A2:A100="Математика")*(C2:C100="10 класс")))

Важно: функции ФИЛЬТР, ПОСЛЕДНИЕ и ИНДЕКС в динамических массивах работают только в Excel 365 и Excel 2021. В более старых версиях (Excel 2019 и ниже) они вернут ошибку #ИМЯ?.

⚠️ Внимание:

При работе с динамическими массивами избегайте ссылок на целые столбцы (например, B:B). Это может замедлить работу книги, особенно если данных много. Всегда указывайте конкретный диапазон (например, B2:B1000).

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

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

🔴 Ошибка #ДЕЛ/0!

Причина: В выбранном диапазоне нет числовых значений, или все ячейки пустые/содержат текст.

Решение:

  • 🔍 Проверьте диапазон на наличие чисел с помощью функции =СЧЁТ(B2:B10).
  • 📊 Используйте ЕСЛИОШИБКА для вывода альтернативного текста:
    =ЕСЛИОШИБКА(СРЗНАЧ(B2:B10); "Нет данных")

🔴 Ошибка #ЗНАЧ!

Причина: В диапазоне условий для СРЗНАЧЕСЛИМН указаны несовпадающие по размеру массивы.

Решение: Убедитесь, что все диапазоны имеют одинаковое количество строк и столбцов.

🔴 Неверный результат (слишком высокое/низкое значение)

Причины и решения:

  • 📉 В данных есть выбросы (например, опечатка "1000" вместо "100"). Используйте =СРЗНАЧЕСЛИМН с ограничением по максимуму:
    =СРЗНАЧЕСЛИМН(B2:B10; B2:B10; "<1000")
  • 🔢 В диапазоне есть скрытые строки с данными. Примените ДСРЗНАЧ(101) вместо СРЗНАЧ.
  • 📌 Учтён нулевой столбец (например, пустые ячейки посчитаны как 0). Используйте =СРЗНАЧЕСЛИ(B2:B10; ">0").
Почему среднее в Excel не совпадает с ручным расчётом?

Чаще всего это происходит из-за:

1. Скрытых символов в ячейках (пробелы, неразрывные пробелы, переносы строк). Используйте =ПЕЧСИМВ(B2), чтобы их обнаружить.

2. Разного формата чисел (например, "100" как текст vs 100 как число). Проверьте формат ячеек через Формат ячеек → Числовой.

3. Округления. Excel хранит 15 знаков после запятой, а отображает только те, что указаны в формате. Попробуйте увеличить количество десятичных знаков в ячейке с результатом.

6. Альтернативные методы: Power Query и сводные таблицы

Если вам нужно посчитать среднее по большим объёмам данных или с сложной логикой, стандартные функции Excel могут быть неудобны. В таких случаях на помощь приходят Power Query и сводные таблицы.

🔹 Сводные таблицы

Сводная таблица позволяет рассчитать среднее за несколько кликов:

  1. Выделите исходные данные (включая заголовки).
  2. Перейдите на вкладку Вставка → Сводная таблица.
  3. В поле Значения перетащите столбец, по которому нужно посчитать среднее.
  4. Нажмите на стрелку рядом с Сумма по... и выберите Среднее.

🔹 Power Query

Инструмент Power Query (доступен в Excel 2016 и новее) позволяет трансформировать данные и рассчитывать средние с учётом сложных фильтров. Например, вы можете:

  • 📂 Импортировать данные из нескольких файлов.
  • 🔍 Отфильтровать строки по нескольким критериям.
  • 📊 Группировать данные и рассчитывать среднее по группам.

Пример группировки в Power Query:

  1. Выделите данные и нажмите Данные → Из таблицы/диапазона.
  2. В открывшемся редакторе выберите столбец для группировки (например, "Категория").
  3. Нажмите Трансформация → Группировка.
  4. Укажите столбец для расчёта среднего и выберите операцию Среднее.

⚠️ Внимание:

При использовании Power Query помните, что изменения в исходных данных не обновляются автоматически. Чтобы обновить результаты, нажмите Данные → Обновить все.

7. Автоматизация: макросы для расчёта среднего

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

🔹 Пример макроса для расчёта среднего:

Sub CalculateAverage()

Dim rng As Range

Dim avg As Double

On Error Resume Next

Set rng = Application.Selection

If Not rng Is Nothing Then

avg = Application.WorksheetFunction.Average(rng)

MsgBox "Среднее значение: " & avg, vbInformation

End If

End Sub

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Назначьте макрос на кнопку или сочетание клавиш.

⚠️ Внимание:

Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). Если вы сохраните файл как .xlsx, код VBA будет утерян.

🔧 Продвинутый вариант:

Вы можете модифицировать макрос, чтобы он автоматически вставлял результат в определённую ячейку (например, D1):

Range("D1").Value = Application.WorksheetFunction.Average(Selection)

FAQ: Частые вопросы о расчёте среднего в Excel

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

Стандартными функциями — нет. Но можно использовать пользовательскую функцию VBA или надстройку Excel VBA UDF. Например, этот код посчитает среднее по ячейкам зелёного цвета:

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

Dim cell As Range, total As Double, count As Long

For Each cell In rng

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

total = total + cell.Value

count = count + 1

End If

Next cell

If count > 0 Then AverageByColor = total / count

End Function

Вызов: =AverageByColor(A1:A10; B1), где B1 — ячейка с образцом цвета.

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

Excel не имеет встроенных функций для этих типов средних, но их можно рассчитать вручную:

  • 🔹 Среднее гармоническое (для скоростей, плотностей):
    =СЧЁТ(A2:A10)/СУММ(1/A2:1/A10)
  • 🔹 Среднее геометрическое (для процентов, коэффициентов):
    =СТЕПЕНЬ(ПРОИЗВЕД(A2:A10); 1/СЧЁТ(A2:A10))
Почему СРЗНАЧ и СРГЕОМ не совпадают?

Потому что это разные типы средних:

  • 📌 СРЗНАЧарифметическое среднее (сумма делится на количество).
  • 📌 СРГЕОМгеометрическое среднее (корень n-й степени из произведения).

Например, для чисел 2 и 8:

  • Арифметическое среднее: (2+8)/2 = 5.
  • Геометрическое среднее: √(2×8) ≈ 4.
Как посчитать среднее по датам?

Excel хранит даты как числа (количество дней с 1 января 1900 года), поэтому вы можете использовать СРЗНАЧ для расчёта средней даты. Например:

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

где A2:A10 — диапазон с датами. Результат отформатируйте как дату (Формат ячеек → Дата).

⚠️ Если в диапазоне есть пустые ячейки, они будут проигнорированы. Если нужны все даты (включая "пустышки"), используйте:

=ДАТАГОД(СРЗНАЧ(A2:A10); 1; 0)

(это приблизительный расчёт среднего года).

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

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

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

Если нужно посчитать среднее по одинаковым диапазонам на нескольких листах:

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

⚠️ Убедитесь, что все листы имеют одинаковую структуру, иначе Excel вернёт ошибку.