Как вычислить медиану, игнорируя нули или ошибки в Excel?
Во многих задачах анализа данных в Excel точный расчет медианы имеет важное значение для понимания центральной тенденции вашего набора данных. Однако иногда ваш набор данных содержит нули или значения ошибок (например, #DIV/0!, #N/A, и т.д.), которые могут помешать прямому расчету медианы. Например, использование стандартной формулы =MEDIAN(range)
будет включать нули в расчет и вернет ошибку, если в диапазоне присутствуют недопустимые ячейки, что может привести к вводящим в заблуждение результатам или сбоям в вычислениях, как показано ниже.
Чтобы решить эту проблему, существует несколько способов, которые помогут вам рассчитать медиану, исключая нули или ошибки, обеспечивая точность и надежность анализа. Эти решения подходят для различных сценариев, таких как очистка данных опросов, финансовых отчетов или научных измерений, где необходимо удалить нули или ошибки для получения значимых результатов. Ниже вы найдете практические пошаговые руководства для каждого метода, доступного в Excel, от прямых формул до продвинутых техник автоматизации.
VBA: Медиана без учета нулей и ошибок (UDF)
Power Query: Медиана после фильтрации нулей/ошибок
Медиана без учета нулей
Когда ваш диапазон содержит нули, которые вы не хотите учитывать при расчете медианы — например, отсутствующие значения представлены как 0 — вы можете использовать формулу массива, чтобы исключить нули. Это особенно полезно в наборах данных, где нули являются заполнителями для недоступных данных, а не реальными измерениями.
Выберите ячейку, в которой вы хотите отобразить медиану (например, C2), и введите следующую формулу:
=MEDIAN(IF(A2:A17<>0,A2:A17))
После ввода формулы вместо простого нажатия Enter нажмите Ctrl + Shift + Enter чтобы сделать ее формулой массива (вокруг формулы появятся фигурные скобки в строке формул). Это гарантирует, что будут учитываться только ненулевые значения в A2:A17 при расчете медианы. Смотрите скриншот:
Советы:
- Если вы используете Excel 365 или Excel 2021 и выше, достаточно просто нажать Enter благодаря поддержке динамических массивов.
- Убедитесь, что в диапазоне есть хотя бы одно ненулевое числовое значение, иначе формула вернет ошибку #NUM!
- Это решение идеально подходит для очистки ответов на опросы, отчетов о расходах или данных о продажах, где нули должны быть исключены из анализа.
Медиана без учета ошибок
Значения ошибок, такие как #N/A, #DIV/0!, или #VALUE! могут вызвать ошибку стандартной функции медианы, останавливая анализ данных. Чтобы безопасно вычислить медиану, исключая эти ошибки, вы можете использовать следующую формулу массива.
Выберите любую ячейку, где вы хотите отобразить результат, и введите следующую формулу:
=MEDIAN(IF(ISNUMBER(F2:F17),F2:F17))
После ввода формулы нажмите Ctrl + Shift + Enter (если вы не используете Excel 365/Excel 2021 или выше, который поддерживает динамические массивы). Эта формула включает только те значения в F2:F17 которые являются настоящими числами — полностью игнорируя любые ячейки с ошибками.
Советы и предостережения:
- Если все ячейки содержат значения ошибок, результат вернет ошибку #NUM! — убедитесь, что ваши данные включают хотя бы одно действительное число.
- Вы можете комбинировать критерии исключения (например, исключать как нули, так и ошибки) с помощью вложенных условий.
- Эта формула особенно полезна при работе с импортированными данными, результатами опросов или финансовыми отчетами, которые могут содержать частичные или неудачные вычисления.
VBA: Медиана без учета нулей и ошибок (UDF)
Для ситуаций, когда вам часто нужно рассчитывать медиану, игнорируя как нули, так и ошибки, или требуется решение, которое позволяет избежать ручного ввода формул массива, вы можете использовать пользовательскую функцию VBA (User-Defined Function, UDF). Этот подход предлагает дополнительную гибкость, поскольку пользовательская функция может инкапсулировать все критерии исключения и использоваться точно так же, как любая встроенная формула, что делает его подходящим для больших или регулярно обновляемых наборов данных.
Как настроить UDF:
- Нажмите вкладку Разработчик в Excel. Если она недоступна, включите её через Файл > Параметры > Настройка ленты.
- Нажмите Visual Basic, чтобы открыть редактор VBA.
- В редакторе VBA нажмите Вставка > Модуль, чтобы создать новый модуль.
- Скопируйте и вставьте следующий код в модуль:
Function MedianIgnoreZeroError(rng As Range) As Variant
Dim cell As Range
Dim tempList() As Double
Dim count As Integer
count = 0
On Error Resume Next
xTitleId = "KutoolsforExcel"
For Each cell In rng
If IsNumeric(cell.Value) Then
If cell.Value <> 0 And Not IsError(cell.Value) Then
count = count + 1
ReDim Preserve tempList(1 To count)
tempList(count) = cell.Value
End If
End If
Next cell
On Error GoTo 0
If count = 0 Then
MedianIgnoreZeroError = CVErr(xlErrNum)
Else
MedianIgnoreZeroError = Application.WorksheetFunction.Median(tempList)
End If
End Function
Как использовать UDF:
После возвращения в Excel просто введите формулу =MedianIgnoreZeroError(A2:A17)
в любую ячейку (замените A2:A17
на целевой диапазон). В отличие от формул массива, вам нужно только нажать Enter — нет необходимости в Ctrl + Shift + Enter.
- Этот метод хорошо работает для очень больших наборов данных, избегает странностей формул массива и может быть адаптирован для игнорирования других нежелательных значений путем дальнейшего редактирования кода.
- Если диапазон содержит только нули или ошибки, результат покажет #NUM!
- Если вы получили ошибку #NAME?, проверьте, правильно ли установлен макрос VBA и включены ли макросы в настройках вашего Excel.
Power Query: Медиана после фильтрации нулей/ошибок
Power Query — это мощный инструмент в Excel для импорта, преобразования и анализа данных — особенно когда ваша цель — очистить и предварительно обработать большие наборы данных перед выполнением вычислений, таких как медиана. С помощью Power Query вы можете легко отфильтровать нули и ошибки, гарантируя, что в вашем расчете останутся только действительные числа. Этот подход особенно полезен, если ваши исходные данные регулярно обновляются или импортируются из внешних систем.
Шаги использования Power Query для расчета медианы, игнорирующей нули и ошибки:
- Выберите любую ячейку в вашем диапазоне данных, затем перейдите на вкладку Данные и нажмите Из таблицы/диапазона. Если ваши данные еще не в табличном формате, Excel предложит создать таблицу — нажмите OK.
- Откроется окно Редактора Power Query. Нажмите стрелку раскрывающегося списка для соответствующего столбца и снимите флажок 0, чтобы отфильтровать нулевые значения. (Для фильтрации ошибок щелкните правой кнопкой мыши заголовок столбца, выберите Удалить ошибки.)
- После фильтрации нажмите Главная > Закрыть и загрузить, чтобы отправить очищенные данные обратно на ваш рабочий лист.
- Теперь примените стандартную формулу
=MEDIAN()
к столбцу с отфильтрованными значениями, так как данные теперь исключают все нежелательные элементы.
Этот метод гарантирует, что ваши исходные данные останутся неизменными, обеспечивает высокую повторяемость с новыми или обновленными данными и особенно эффективен для повторяющихся задач отчетности или при работе с большими или внешними наборами данных. Рабочие процессы Power Query можно обновлять одним щелчком каждый раз, когда изменяются исходные данные, минимизируя ручное вмешательство и риск ошибок.
- Power Query доступен в Excel 2016 и новее (или как надстройка для Excel 2010 и 2013).
- После преобразования вычисления могут быть выполнены на очищенных данных, обеспечивая большую надежность для последующего анализа.
Если возникают неожиданные результаты, дважды проверьте шаги фильтрации в Power Query и убедитесь, что в очищенных данных остались действительные числовые значения.
В заключение, будь то использование формул массива напрямую, создание пользовательского решения VBA для автоматизации или использование Power Query для автоматизации больших рабочих процессов, Excel предлагает множество практических вариантов для расчета медианы, игнорируя нули или ошибки. Выберите метод, который лучше всего подходит для размера вашего набора данных, частоты обновлений и предпочтений рабочего процесса для получения надежных и точных результатов.
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек