Вычисление среднего арифметического — одна из самых востребованных операций в Microsoft Excel и Google Таблицах. Без неё не обойтись при анализе продаж, оценке успеваемости, расчёте финансовых показателей или обработке экспериментальных данных. Но даже опытные пользователи иногда сталкиваются с ошибками: функция возвращает #ДЕЛ/0!, игнорирует пустые ячейки или учитывает ненужные значения. В этой статье разберём, как правильно применять СРЗНАЧ, избегая типичных ловушек.
Мы не просто покажем базовый синтаксис — вы узнаете, как рассчитывать среднее по условиям, игнорировать нули, работать с динамическими диапазонами и даже автоматизировать процесс с помощью Power Query. А для тех, кто предпочитает альтернативы, сравним СРЗНАЧ с функциями СРЗНАЧА, СРЗНАЧЕСЛИ и СРГЕОМ. Готовы разобраться раз и навсегда?
Что такое функция СРЗНАЧ и когда её использовать
Функция СРЗНАЧ (англ. AVERAGE) вычисляет среднее арифметическое всех числовых значений в заданном диапазоне, игнорируя пустые ячейки и текст. Формула выглядит просто:
=СРЗНАЧ(число1; [число2]; ...)
Где число1, число2 и т.д. могут быть:
- 📌 Отдельными числами:
=СРЗНАЧ(10; 20; 30) - 📌 Ссылками на ячейки:
=СРЗНАЧ(A1; B5; C10) - 📌 Диапазонами:
=СРЗНАЧ(A1:A100) - 📌 Комбинацией вышеперечисленного:
=СРЗНАЧ(A1:A10; 50; B2)
Ключевая особенность СРЗНАЧ — она автоматически пропускает:
- 🔹 Пустые ячейки
- 🔹 Текстовые значения (например, "Н/Д" или "Отсутствует")
- 🔹 Логические значения
ИСТИНА/ЛОЖЬ(если они не введены как формулы)
⚠️ Внимание: Если в диапазоне нет ни одного числового значения, функция вернёт ошибку #ДЕЛ/0!. Это не баг, а особенность: среднее от "ничего" посчитать невозможно.
Базовые примеры использования СРЗНАЧ
Рассмотрим простейшие сценарии, с которыми сталкивается 90% пользователей.
Пример 1. Среднее по столбцу
Допустим, у вас в столбце B записаны продажи за неделю (ячейки B2:B8). Чтобы найти среднее значение:
=СРЗНАЧ(B2:B8)
Пример 2. Среднее нескольких диапазонов
Если данные разбросаны по разным столбцам (например, продажи по регионам в B2:B10 и D2:D10), объедините их:
=СРЗНАЧ(B2:B10; D2:D10)
Пример 3. Среднее с ручным добавлением чисел
Можно комбинировать диапазоны и отдельные числа. Например, чтобы учесть плановый показатель 1000:
=СРЗНАЧ(B2:B10; 1000)
| Данные в ячейках | Формула | Результат | Пояснение |
|---|---|---|---|
| 5, 10, 15 | =СРЗНАЧ(5; 10; 15) | 10 | Сумма 30 делится на 3 значения |
| 10, 20, [пусто], 30 | =СРЗНАЧ(A1:A4) | 20 | Пустая ячейка игнорируется |
| 5, "текст", 15 | =СРЗНАЧ(A1:A3) | 10 | Текстовые значения пропускаются |
| [все ячейки пустые] | =СРЗНАЧ(A1:A5) | #ДЕЛ/0! | Ошибка "деление на ноль" |
Типичные ошибки и как их исправить
Даже в простой функции СРЗНАЧ легко допустить ошибку. Разберём самые распространённые случаи.
Ошибка 1. #ДЕЛ/0! — нет числовых данных
Причина: в указанном диапазоне нет ни одного числа (только текст, пустые ячейки или логические значения).
- 🔧 Решение 1: Проверьте диапазон на наличие чисел.
- 🔧 Решение 2: Используйте
ЕСЛИОШИБКА:=ЕСЛИОШИБКА(СРЗНАЧ(A1:A10); "Нет данных")
Ошибка 2. Неправильный диапазон
Пример: вы указали =СРЗНАЧ(A1:A10), но числа находятся в B1:B10. Excel не выдаст ошибку, но результат будет неверным.
- 🔧 Решение: Включите режим показа формул (
Формулы → Показать формулы) и проверьте ссылки.
Ошибка 3. Учёт нулей в расчётах
Если в данных есть нули, СРЗНАЧ их учитывает, что может искажать результат. Например, среднее между 10, 0, 20 будет 10, хотя логичнее ожидать 15.
- 🔧 Решение: Используйте
СРЗНАЧЕСЛИ:=СРЗНАЧЕСЛИ(A1:A10; ">0")
⚠️ Внимание: Если в ячейках хранятся даты (например,01.01.2023), Excel воспринимает их как числа (порядковые номера дней). Чтобы избежать искажений, преобразуйте даты в текст или используйтеСРЗНАЧА.
Убедитесь, что в диапазоне есть хотя бы одно число|
Проверьте, не содержат ли ячейки скрытые символы (пробелы, неразрывные пробелы)|
Исключите нули, если они искажают результат|
Используйте абсолютные ссылки ($A$1), если копируете формулу|
-->
СРЗНАЧ vs СРЗНАЧА: в чём разница?
На первый взгляд, СРЗНАЧА (англ. AVERAGEA) похожа на СРЗНАЧ, но работает иначе:
| Функция | Учитывает пустые ячейки | Учитывает текст | Учитывает ИСТИНА/ЛОЖЬ | Пример |
|---|---|---|---|---|
СРЗНАЧ | ❌ Нет | ❌ Нет | ❌ Нет | =СРЗНАЧ(10; ""; "текст"; ИСТИНА) → 10 |
СРЗНАЧА | ✅ Да (как 0) | ✅ Да (как 0) | ✅ Да (ИСТИНА=1, ЛОЖЬ=0) | =СРЗНАЧА(10; ""; "текст"; ИСТИНА) → 3 |
Когда использовать СРЗНАЧА?
- 📊 Когда нужно учитывать все ячейки, включая пустые (например, для расчёта средней заполненности анкет).
- 📊 Если логические значения (
ИСТИНА/ЛОЖЬ) должны участвовать в расчёте как1/0.
Пример: В опросе 10 человек, но ответили только 6. Чтобы посчитать средний балл с учётом неответивших (как 0):
=СРЗНАЧА(B2:B11)
Как посчитать среднее по условию: СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН
Часто требуется найти среднее не по всем данным, а только по тем, что соответствуют определённым критериям. Для этого есть две функции:
1. СРЗНАЧЕСЛИ (AVERAGEIF)
Считает среднее для значений, удовлетворяющих одному условию.
=СРЗНАЧЕСЛИ(диапазон_условия; условие; [диапазон_среднего])
Пример: Найти среднюю зарплату только для сотрудников отдела "Маркетинг" (столбец A — отдел, B — зарплата):
=СРЗНАЧЕСЛИ(A2:A100; "Маркетинг"; B2:B100)
2. СРЗНАЧЕСЛИМН (AVERAGEIFS)
Аналогична, но поддерживает несколько условий.
=СРЗНАЧЕСЛИМН(диапазон_среднего; диапазон_условия1; условие1; ...)
Пример: Средняя зарплата для сотрудников отдела "Маркетинг" с стажем >5 лет (столбец C — стаж):
=СРЗНАЧЕСЛИМН(B2:B100; A2:A100; "Маркетинг"; C2:C100; ">5")
- 💡 Совет: Условия можно задавать как текст (
"Маркетинг"), числа (">100"), или ссылки на ячейки (">" & D1). - 💡 Лайфхак: Для динамических условий используйте именованные диапазоны или таблицы Excel.
Как работают подстановочные знаки в условиях?
В функциях СРЗНАЧЕСЛИ и СРЗНАЧЕСЛИМН можно использовать:
- ? — любой одиночный символ (например, "Товар?" найдёт "Товар1", "ТоварА")
- * — любая последовательность символов (например, "маркет" найдёт "Супермаркет", "Маркетинг")
- ~ — экранирование (например, "~?" ищет именно знак вопроса)
Продвинутые приёмы: динамические диапазоны и Power Query
Если данные постоянно обновляются или хранятся в неструктурированном виде, стандартные функции могут не справиться. Рассмотрим продвинутые методы.
1. Динамические диапазоны с СМЕЩ и СЧЁТ
Позволяют автоматически расширять диапазон при добавлении новых данных.
Пример: Среднее по столбцу A, начиная с A2, до последней заполненной ячейки:
=СРЗНАЧ(A2:ИНДЕКС(A:A; СЧЁТ(A:A)))
2. Power Query для сложных расчётов
Если данных миллионы или нужна предобработка (например, удаление выбросов), используйте Power Query:
- Выделите данные →
Данные → Из таблицы/диапазона. - В редакторе Power Query добавьте столбец со средним:
= List.Average([ВашСтолбец]) - Загрузите результат обратно в Excel.
3. Лямбда-функции (Excel 365)
Для пользователей Microsoft 365 доступны пользовательские функции. Например, среднее без учёта 10% максимальных и минимальных значений (усечённое среднее):
=УСЕЧЁННОЕ_СРЕДНЕЕ(диапазон; процент_отсечения)
=ЛЯМБДА(диапазон; процент;
СРЗНАЧ(
ФИЛЬТР(
диапазон;
(диапазон > ПЕРСЕНТИЛЬ.ИСКЛ(диапазон; процент)) *
(диапазон < ПЕРСЕНТИЛЬ.ИСКЛ(диапазон; 1-процент))
)
)
)(A1:A100; 0,1)
⚠️ Внимание: Лямбда-функции работают только в Excel 365 и Excel 2021. В более ранних версиях используйте VBA или Power Query.
Автоматизация: как обновлять средние значения в реальном времени
Статические формулы удобны, но если данные меняются часто, лучше настроить автоматическое обновление.
1. Таблицы Excel (Ctrl+T)
Преобразуйте диапазон в умную таблицу:
- 🔹 Выделите данные →
Главная → Форматировать как таблицу. - 🔹 В столбце таблицы введите формулу
=СРЗНАЧ([@Столбец])— она автоматически скопируется на все строки. - 🔹 При добавлении новых строк среднее будет пересчитываться.
2. Горячие клавиши для быстрого пересчёта
Если формулы не обновляются автоматически:
- 🔹
F9— пересчитать все формулы на листе. - 🔹
Shift+F9— пересчитать формулы в текущем листе. - 🔹
Ctrl+Alt+F9— принудительный пересчёт всех формул в книге.
3. Power Pivot для больших данных
Если работаете с миллионами строк:
- Импортируйте данные в модель Power Pivot.
- Создайте вычисляемый столбец или меру со средним:
Среднее := AVERAGE([ВашСтолбец]) - Используйте сводные таблицы для динамического анализа.
Альтернативы СРЗНАЧ: когда стандартная функция не подходит
Иногда СРЗНАЧ не справляется с задачей. Рассмотрим альтернативы:
| Задача | Функция | Пример | Когда использовать |
|---|---|---|---|
| Среднее с учётом текста и пустых ячеек | СРЗНАЧА | =СРЗНАЧА(A1:A10) | Когда пустые ячейки должны учитываться как 0 |
| Среднее геометрическое | СРГЕОМ | =СРГЕОМ(A1:A10) | Для расчёта средних темпов роста |
| Среднее гармоническое | Нет встроенной функции | =СЧЁТ(A1:A10)/СУММ(1/A1:A10) | Для расчёта средней скорости, плотности |
| Медиана (серединное значение) | МЕДИАНА | =МЕДИАНА(A1:A10) | Когда нужна устойчивая к выбросам оценка |
| Среднее без учёта крайних значений | УРЕЗСРЕДНЕЕ | =УРЕЗСРЕДНЕЕ(A1:A10; 0,1) | Для исключения 10% минимальных и максимальных значений |
Пример из практики: Если вам нужно посчитать средний темп роста продаж за 5 лет, СРЗНАЧ даст искажённый результат. Правильнее использовать СРГЕОМ:
=СРГЕОМ(110%; 120%; 95%; 105%; 115%) - 1
Это вернёт 10,8% (среднегодовой темп роста), тогда как СРЗНАЧ показала бы 109%, что бессмысленно для анализа динамики.
FAQ: Ответы на частые вопросы
Почему СРЗНАЧ возвращает #ЗНАЧ! вместо числа?
Ошибка #ЗНАЧ! возникает, если в аргументах функции есть текст, который Excel не может интерпретировать как число (например, "Н/Д" или "—"). Решения:
- 🔹 Используйте
СРЗНАЧА, если текст должен учитываться как 0. - 🔹 Замените текст на пустые ячейки или числа с помощью
НАЙТИ/ЗАМЕНИТ(Ctrl+H). - 🔹 Примените
ЕСЛИОШИБКА:=ЕСЛИОШИБКА(СРЗНАЧ(A1:A10); "Ошибка данных")
Как посчитать среднее по нескольким листам?
Используйте трёхмерные ссылки. Например, чтобы посчитать среднее по ячейке B2 на листах Лист1, Лист2 и Лист3:
=СРЗНАЧ(Лист1:Лист3!B2)
Если нужно усреднить диапазоны:
=СРЗНАЧ(Лист1:Лист3!B2:B10)
💡 Совет: Для динамического добавления листов используйте Power Query или VBA.
Можно ли в СРЗНАЧ использовать условия, как в СУММЕСЛИ?
Да, но не напрямую. Есть три способа:
- СРЗНАЧЕСЛИ/СРЗНАЧЕСЛИМН — для простых условий.
- Формула массива (для старых версий Excel):
=СРЗНАЧ(ЕСЛИ(A1:A10="Да"; B1:B10))Не забудьте нажать
Ctrl+Shift+Enter! - Фильтр + СРЗНАЧ (Excel 365):
=СРЗНАЧ(ФИЛЬТР(B1:B10; A1:A10="Да"))
Как посчитать среднее без учёта нулей?
Используйте СРЗНАЧЕСЛИ с условием ">0":
=СРЗНАЧЕСЛИ(A1:A10; ">0")
Если нули — это значимые данные (например, отсутствие продаж), а исключить нужно только пустые ячейки, используйте:
=СУММ(A1:A10)/СЧЁТЗ(A1:A10)
Функция СЧЁТЗ считает только непустые ячейки.
Почему среднее в Excel не совпадает с ручным расчётом?
Частые причины расхождений:
- 🔹 Скрытые символы: Пробелы, неразрывные пробелы (
CHAR(160)) или непечатаемые знаки мешают Excel распознать число. Используйте=ЧИСТ(А1)для очистки. - 🔹 Формат ячеек: Ячейка отформатирована как текст, хотя содержит число. Проверьте формат (
Ctrl+1) и при необходимости используйте=ЗНАЧЕН(А1). - 🔹 Округление: Excel может отображать 2 знака после запятой, но хранить 15. Чтобы увидеть реальное значение, измените формат на
Общий. - 🔹 Выбросы: Одно очень большое или очень маленькое значение может сильно смещать среднее. В таких случаях лучше использовать
МЕДИАНАилиУРЕЗСРЕДНЕЕ.