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

Вычисление среднего значения — одна из самых востребованных операций в Microsoft Excel и Google Таблицах. Без этого инструмента невозможно анализировать продажи, оценивать успеваемость, сравнивать финансовые показатели или обрабатывать результаты экспериментов. Однако даже опытные пользователи часто допускают ошибки: забывают про пустые ячейки, не учитывают условия фильтрации или неправильно обрабатывают текстовые данные.

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

1. Базовая формула: функция СРЗНАЧ для простого среднего

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

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

или

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

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

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

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

=ЕСЛИОШИБКА(СРЗНАЧ(A1:A10);"Нет данных")

2. Как исключить нули и пустые ячейки: функция СРЗНАЧА

Функция СРЗНАЧА (англ. AVERAGEA) отличается от СРЗНАЧ тем, что учитывает все непустые ячейки, включая текст и логические значения (ИСТИНА/ЛОЖЬ). Однако она по-прежнему игнорирует пустые ячейки. Синтаксис аналогичен:

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

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

  • 🔢 СРЗНАЧ вернёт 10 (учитывает только 10, 0, 20).
  • 🔢 СРЗНАЧА вернёт 6,25 (учитывает 10, 0, 1 (ИСТИНА=1), 20, текст игнорируется).

Чтобы исключить нули из расчёта, используйте комбинацию с функцией ЕСЛИ:

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

Внимание: это формула массива — в старых версиях Excel (до 2019) её нужно вводить с нажатием Ctrl+Shift+Enter.

Почему СРЗНАЧА игнорирует текст?

Функция СРЗНАЧА присваивает тексту значение 0 в расчётах, но не включает его в количество элементов. Например, для диапазона 5,"привет", 10 формула посчитает среднее как (5 + 0 + 10)/2 = 7,5 (текст не увеличивает делитель).

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

Если нужно посчитать среднее только для ячеек, соответствующих определённому критерию, используйте:

  • 🔍 СРЗНАЧЕСЛИ (англ. AVERAGEIF) — одно условие.
  • 🔍 СРЗНАЧЕСЛИМН (англ. AVERAGEIFS) — несколько условий.

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

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

Примеры:

  • 📊 =СРЗНАЧЕСЛИ(B2:B10;">50") — среднее значений в B2:B10, которые больше 50.
  • 📊 =СРЗНАЧЕСЛИ(A2:A10;"Да"; B2:B10) — среднее из диапазона B2:B10, где в A2:A10 стоит"Да".

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

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

Эта формула посчитает среднее в B2:B10, где одновременно:

  • 🔹 В A2:A10 стоит"Да".
  • 🔹 В C2:C10 значение больше 100.
📊 Какую функцию для условного среднего вы используете чаще?
СРЗНАЧЕСЛИ
СРЗНАЧЕСЛИМН
Другую (напишу в комментариях)
Не знаю таких функций

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

Иногда в данных встречаются выбросы — значения, сильно отличающиеся от остальных (например, опечатки или экстремальные показатели). Чтобы их исключить, используйте комбинацию функций:

=СРЗНАЧ(ЕСЛИ(ABS(A1:A10-СРЗНАЧ(A1:A10))<2*СТАНДОТКЛОН.P(A1:A10); A1:A10))

Эта формула отсекает значения, отклоняющиеся от среднего более чем на 2 стандартных отклонения (порог можно изменить).

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

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

Где 1 — код функции для расчёта среднего. Этот метод работает только после применения автофильтра в Excel.

Задача Формула Пример
Среднее без выбросов =СРЗНАЧ(ЕСЛИ(ABS(диапазон-СРЗНАЧ(диапазон)) =СРЗНАЧ(ЕСЛИ(ABS(A1:A10-СРЗНАЧ(A1:A10))<2*СТАНДОТКЛОН.P(A1:A10); A1:A10))
Среднее по видимым ячейкам =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(1; диапазон) =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(1; A1:A10)
Среднее последних 5 значений =СРЗНАЧ(СМЕЩ(A1;СЧЁТЗ(A:A)-5;0;5;1)) =СРЗНАЧ(СМЕЩ(A1;СЧЁТЗ(A:A)-5;0;5;1))

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

5. Ошибки при расчёте среднего и как их избежать

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

⚠️ Внимание: Если в диапазоне есть ячейки с формулами, возвращающими пустую строку (""), функция СРЗНАЧ проигнорирует их, а СРЗНАЧА — учтёт как 0. Это может исказить результат.

Распространённые проблемы:

  • 🚨 #ДЕЛ/0! — нет числовых значений в диапазоне. Решение: добавьте проверку ЕСЛИОШИБКА или убедитесь, что данные введены корректно.
  • 🚨 Неправильное среднее из-за скрытых символов (например, пробелов перед числом). Решение: используйте ЧИСТ или ЗАМЕНИТЬ для очистки данных.
  • 🚨 Учёт ячеек с текстом как 0. Решение: замените текст на пустые ячейки или используйте СРЗНАЧ вместо СРЗНАЧА.

Чтобы проверить данные на наличие скрытых символов, используйте функцию ТИП:

=ТИП(A1)

Она вернёт:

  • 1 — число,
  • 2 — текст,
  • 16 — ошибка.

6. Среднее по датам и временным меткам

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

Примеры:

  • 📅 =СРЗНАЧ(A1:A10) — средняя дата, если в A1:A10 указаны даты в формате ДД.ММ.ГГГГ.
  • =СРЗНАЧ(A1:A10) — среднее время, если ячейки отформатированы как время (ЧЧ:ММ:СС).

Важно: Excel хранит даты и время как числа (например, 1 = 01.01.1900, 0,5 = 12:00:00). Поэтому средняя дата между 01.01.2023 и 31.12.2023 будет 01.07.2023, а среднее время между 9:00 и 17:0013:00.

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

=СРЗНАЧ(B1:B10-A1:A10)

Где A1:A10 — даты начала, B1:B10 — даты окончания.

7. Автоматизация: как обновить среднее при добавлении новых данных

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

Способ 1: Именованный диапазон.

  1. Выделите исходный диапазон (например, A1:A10).
  2. Перейдите в Формулы → Присвоить имя.
  3. В поле Диапазон введите формулу: =СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A:$A)).
  4. Теперь используйте имя в формуле: =СРЗНАЧ(Имя_диапазона).

Способ 2: Умная таблица.

  • Выделите данные и нажмите Ctrl+T, чтобы преобразовать в таблицу.
  • В новой строке таблицы введите формулу: =СРЗНАЧ(Таблица1[Столбец1]).
  • Среднее будет автоматически пересчитываться при добавлении строк.

Для Google Таблиц используйте аналогичный подход с функцией QUERY или FILTER:

=AVERAGE(FILTER(A:A; A:A<>""))

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

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

Используйте функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ с кодом 1 (среднее):

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

Убедитесь, что фильтр применён до ввода формулы.

Почему СРЗНАЧ возвращает #ДЕЛ/0!, хотя в диапазоне есть числа?

Ошибка возникает, если:

  • Все числа в диапазоне — текстовые (например, отформатированы как текст). Решение: используйте ЗНАЧЕН, чтобы преобразовать их в числа.
  • Диапазон содержит только пустые ячейки или текст. Решение: проверьте данные функцией ТИП.
Как посчитать среднее по цвету ячейки?

Excel не поддерживает расчёт среднего по цвету стандартными функциями. Используйте VBA-макрос или надстройку Kutools for Excel. Пример макроса:

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

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

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 ColorAverage = total / count

End Function

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

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

Да, для этого есть специальные формулы:

  • Среднее гармоническое: =СЧЁТ(A1:A10)/СУММ(1/A1:A10) (вводите как формулу массива).
  • Среднее геометрическое: =СТЕПЕНЬ(ПРОИЗВЕД(A1:A10); 1/СЧЁТ(A1:A10)).
Как посчитать среднее с учётом весов (взвешенное среднее)?

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

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

Где A1:A10 — значения, B1:B10 — их веса.