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

Вычислить среднее арифметическое в Microsoft Excel или Google Таблицах кажется простой задачей — пока не сталкиваешься с пустыми ячейками, текстовыми данными или необходимостью учитывать только определённые условия. Ошибки в расчётах могут исказить аналитику, привести к неверным бизнес-решениям или академическим выводам. Эта статья не просто покажет, как использовать функцию СРЗНАЧ, но и раскроет скрытые нюансы работы с динамическими диапазонами, фильтрами и вложенными формулами, которые игнорируют 90% пользователей.

Мы разберём реальные кейсы: от расчёта средней зарплаты по отделу (исключая стажёров) до анализа температурных колебаний за год с пропущенными данными. Каждый метод сопровождается пошаговыми скриншотами, предупреждениями о типичных ошибках и альтернативными решениями для Excel 2010–2026 и Excel Online. Если вы когда-либо получали ошибку #ДЕЛ/0! или #ЗНАЧ! при попытке найти среднее, здесь вы найдёте причину и способ её устранить.

Базовый метод: функция СРЗНАЧ для начинающих

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

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

Где число1 — обязательный аргумент (может быть числом, ссылкой на ячейку или диапазоном), а [число2] — необязательные дополнительные аргументы (до 255). Пример для диапазона A1:A10:

=СРЗНАЧ(A1:A10)
  • Плюсы: работает с диапазонами любой длины, игнорирует пустые ячейки.
  • Минусы: учитывает ячейки с текстом как 0, что искажает результат.
  • 🔄 Альтернатива: для игнорирования текста используйте СРЗНАЧА (считает текст как 0) или комбинацию с ЕСЛИ.

Типичная ошибка новичков — включение в диапазон заголовков столбцов. Например, если в A1 написано «Оценки», а числа начинаются с A2, формула =СРЗНАЧ(A1:A10) вернёт неверный результат, так как текст «Оценки» будет проигнорирован, но общее количество ячеек для деления останется 10, а не 9.

Продвинутый расчёт: СРЗНАЧ с условиями (СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН)

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

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

Здесь B2:B100 — диапазон с названиями отделов, "Маркетинг" — условие, C2:C100 — диапазон с зарплатами. Для нескольких условий (например, отдел «Маркетинг» и стаж > 5 лет):

=СРЗНАЧЕСЛИМН(C2:C100; B2:B100; "Маркетинг"; D2:D100; ">5")
⚠️ Внимание: Если ни одна ячейка не соответствует условию, функция вернёт ошибку #ДЕЛ/0!. Чтобы избежать этого, оберните формулу в ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(СРЗНАЧЕСЛИМН(...); "Нет данных")
Функция Синтаксис Пример использования Ограничения
СРЗНАЧЕСЛИ =СРЗНАЧЕСЛИ(диапазон_условия; условие; диапазон_среднего) Средний балл студентов с оценкой > 4 Только одно условие
СРЗНАЧЕСЛИМН =СРЗНАЧЕСЛИМН(диапазон_среднего; диапазон1; условие1; ...) Средняя цена товаров категории "Электроника" со скидкой > 10% До 127 пар "диапазон-условие"
СРЗНАЧ + ЕСЛИ =СРЗНАЧ(ЕСЛИ(условие; диапазон)) (вводится как формула массива) Среднее по динамическому фильтру Требует Ctrl+Shift+Enter в старых версиях

Диапазоны условий и среднего имеют одинаковый размер|Условия записаны в правильном формате (текст в кавычках, числа без)|Нет объединённых ячеек в диапазонах|Проверены опечатки в названиях (регистр важен!)|-->

Работа с пустыми ячейками и текстом: СРЗНАЧ vs СРЗНАЧА

Функции СРЗНАЧ и СРЗНАЧА по-разному обрабатывают нечисловые данные:

  • 🔢 СРЗНАЧ — игнорирует пустые ячейки и текст, считает только числа.
  • 📊 СРЗНАЧА — учитывает текст как 0, пустые ячейки игнорирует.
  • ⚠️ СРГЕОМ — геометрическое среднее (для мультипликативных процессов).

Пример: в диапазоне A1:A5 значения 10, 20, "N/A", 30, "".

=СРЗНАЧ(A1:A5) → (10+20+30)/3 = 20

=СРЗНАЧА(A1:A5) → (10+20+0+30)/4 = 15

Если в данных много пропусков или текстовых меток (например, «нет данных»), используйте комбинацию с ЕСЛИ:

=СРЗНАЧ(ЕСЛИ(ЕЧИСЛО(A1:A10); A1:A10))

Эта формула массива (вводится через Ctrl+Shift+Enter в Excel 2019 и старше) учитывает только числовые ячейки.

Почему СРЗНАЧА может быть опасна?

Функция СРЗНАЧА автоматически подставляет 0 вместо текста, что искажает результат. Например, при расчёте средней температуры за месяц ячейки с пометкой "Датчик сломан" превратятся в 0°C, занижая реальное значение. Всегда проверяйте данные на наличие текстовых меток перед использованием этой функции.

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

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

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

Где 1 — код операции для среднего (другие коды: 9 — сумма, 2 — количество). Эта функция работает только для ручных фильтров и не учитывает скрытые строки, скрытые вручную (через контекстное меню).

Для сложных фильтров (например, в сводных таблицах) используйте GETPIVOTDATA или Power Query. Пример для сводной таблицы, где нужно среднее по региону "Центр":

=GETPIVOTDATA("Сумма продаж"; $A$3; "Регион"; "Центр") / GETPIVOTDATA("Количество"; $A$3; "Регион"; "Центр")
⚠️ Внимание: Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ игнорирует строки, скрытые фильтром, но учитывает строки, скрытые вручную (через правую кнопку мыши → «Скрыть»). Чтобы исключить и их, используйте VBA или Power Query.

Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ|Фильтр + СРЗНАЧЕСЛИМН|Сводные таблицы|Power Query|Не использую-->

Ошибки при расчёте среднего и как их исправить

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

Ошибка Причина Решение
#ДЕЛ/0! Диапазон не содержит чисел или все ячейки пустые/текстовые. Проверьте диапазон на наличие данных или используйте ЕСЛИОШИБКА.
#ЗНАЧ! В диапазоне есть текст, который нельзя интерпретировать как число (например, "N/A"). Замените текст на числа или используйте СРЗНАЧ(ЕСЛИ(ЕЧИСЛО(...))).
Неверный результат В диапазон попали заголовки или скрытые строки. Уточните диапазон или используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ.
#ИМЯ? Опечатка в названии функции (например, "СРЕДНЕЕ" вместо "СРЗНАЧ"). Проверьте синтаксис. В английской версии Excel используйте AVERAGE.

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

Среднее по датам и времени: особенности расчётов

Excel хранит даты и время как числа (например, 1 января 2023 = 44927), поэтому функции СРЗНАЧ работают и с ними. Однако результаты могут быть неочевидны:

  • 📅 Средняя дата: =СРЗНАЧ(A1:A10), где A1:A10 содержат даты. Результат — дата, которая является серединой временного интервала.
  • Среднее время: Форматируйте ячейку с результатом как время (например, 13:30:55).
  • ⚠️ Ловушка: Если в диапазоне есть дата и время (например, 01.01.2023 14:30), функция вернёт среднее от полного числового значения, что может быть бессмысленно.

Пример: найдём среднее время выполнения задачи по трём записям:

| Ячейка | Значение |

|--------|--------------|

| A1 | 0:15:30 |

| A2 | 0:20:45 |

| A3 | 0:10:00 |

Формула =СРЗНАЧ(A1:A3) вернёт 0,0118 — чтобы отобразить его как время, примените формат ч:мм:сс. Результат: 0:15:25.

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

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

Где A2:A10 — даты заказа, B2:B10 — даты доставки. Форматируйте результат как дни или ч:мм.

Автоматизация: среднее значение с помощью Power Query и VBA

Для больших наборов данных (тысячи строк) или регулярных отчётов ручной расчёт среднего неэффективен. Автоматизируйте процесс:

  • 🔄 Power Query: Импортируйте данные → Группировка по столбцу → выберите операцию Среднее.
  • 🤖 VBA: Макрос для расчёта среднего по выделенному диапазону:
    Sub CalculateAverage()
    

    Dim rng As Range

    Set rng = Selection

    MsgBox "Среднее значение: " & WorksheetFunction.Average(rng)

    End Sub

  • 📊 Динамические массивы (Excel 365): =СРЗНАЧ(ФИЛЬТР(A1:A10; A1:A10>5)) — среднее только для значений > 5.

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

  1. Выделите данные → Данные → Из таблицы/диапазона.
  2. В редакторе Power Query выберите столбец → Преобразовать → Группировка.
  3. Укажите столбец для группировки (если нужно) и операцию Среднее.
  4. Нажмите Закрыть и загрузить — результат появится на новом листе.
⚠️ Внимание: При использовании VBA убедитесь, что в выделенном диапазоне нет текстовых данных — функция WorksheetFunction.Average вернёт ошибку, если встретит нечисловое значение. Добавьте проверку через IsNumeric.

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

Как найти среднее значение, игнорируя нулевые значения?

Используйте формулу массива:

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

В Excel 365 или 2021 можно без массива: =СРЗНАЧ(ФИЛЬТР(A1:A10; A1:A10<>0)).

Почему СРЗНАЧ возвращает ошибку #ЗНАЧ!, если в диапазоне есть пустые ячейки?

Ошибка #ЗНАЧ! возникает не из-за пустых ячеек, а из-за текстовых значений, которые Excel не может преобразовать в числа (например, "N/A", "нет данных"). Пустые ячейки функция игнорирует. Проверьте данные на наличие текста или используйте СРЗНАЧ(ЕСЛИ(ЕЧИСЛО(A1:A10); A1:A10)).

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

Стандартными функциями Excel это невозможно. Используйте VBA:

Function AverageByColor(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

AverageByColor = sum / count

End Function

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

Можно ли найти среднее значение в Google Таблицах?

Да, синтаксис идентичен Excel:

  • =AVERAGE(A1:A10) — базовое среднее.
  • =AVERAGEIF(B2:B100; "Да"; C2:C100) — среднее с условием.
  • =QUERY(A1:B10; "SELECT AVG(B) WHERE A > 5") — среднее через SQL-подобный запрос.

Отличие: в Google Таблицах нет функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ, но есть =SUBTOTAL с аналогичной логикой.

Как рассчитать средневзвешенное значение?

Используйте функцию СУММПРОИЗВ:

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

Где A2:A10 — значения, B2:B10 — их веса. Например, для оценок 5, 4, 3 с весами 2, 3, 1 результат: (5*2 + 4*3 + 3*1)/(2+3+1) = 4,14.