KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как быстро рассчитать перцентиль или квартиль в Excel, игнорируя нулевые значения?

АвторСуньДата изменения

При использовании функций ПЕРСЕНТИЛЬ или КВАРТИЛЬ в Excel пользователи нередко сталкиваются с тем, что их диапазон данных содержит нулевые значения. По умолчанию эти функции учитывают нули в расчётах, что может существенно исказить результаты — особенно если ноль не несёт смысловой нагрузки в данном контексте, занижая перцентили или квартили. Для более точного статистического анализа вы можете полностью исключить нулевые значения из расчётов. В этом руководстве представлены несколько практичных методов решения этой задачи в Excel: от встроенных формул и решений на VBA до рекомендаций по выбору оптимального подхода под ваши конкретные потребности.
вычислить процентиль, игнорируя нули


ПЕРСЕНТИЛЬ или КВАРТИЛЬ без учёта нулей

ПЕРСЕНТИЛЬ без учёта нулей (формула массива)

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

Выберите пустую ячейку для вывода результата и введите следующую формулу:

=PERCENTILE(IF(A1:A13>,0,A1:A13),0.3)

После ввода формулы нажмите Ctrl + Shift + Enter (а не просто Enter), так как это формула массива. Excel автоматически заключит формулу в фигурные скобки { }, что означает её корректный ввод. В этой формуле:

  • A1:A13 — это ваш диапазон данных; при необходимости скорректируйте его под свой лист.
  • 0,3 задаёт 30 перцентиль. Вы можете изменить это значение на любой требуемый перцентиль (например, 0,75 для 75)-го перцентиля).

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

Имейте в виду: простое нажатие клавиши Enter не сработает — обязательно используйте Ctrl + Shift + Enter. Кроме того, формулы с IF(...) внутри агрегатных функций могут работать менее эффективно с большими наборами данных.

применить формулу для получения ПРОЦЕНТИЛЯ с игнорированием нулей

КВАРТИЛЬ без учёта нулей (формула массива)

Аналогичный подход используется и для квартилей. Выберите ячейку для результата и введите:

=QUARTILE(IF(A1:A18>,0,A1:A18),1)

После ввода формулы нажмите Ctrl + Shift + Enter, чтобы подтвердить её как формулу массива.

  • A1:A18 — это выбранный диапазон данных (при необходимости измените его).
  • 1означает, что вам нужен первый квартиль (25) перцентиль). Вместо этого вы можете указать 2 для медианы или 3 для третьего квартиля (75 перцентиль).

Убедитесь, что ваш диапазон данных не содержит текстовых значений или ошибок — формула работает только с числами. Это решение идеально подходит для наборов данных умеренного размера, когда нужен быстрый расчёт без использования VBA или надстроек.

применить формулу для получения КВАРТИЛЯ с игнорированием нулей


Макрос VBA для фильтрации и расчёта перцентиля/квартиля с исключением нулей

Вы также можете использовать VBA (Visual Basic for Applications) для автоматической фильтрации Нулевые значения и последующего расчёта перцентиля или квартиля по оставшимся данным. Такой подход особенно удобен при работе с большими наборами данных или когда процедуру необходимо повторять регулярно без ручного ввода формул.

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

1. Перейдите на вкладку Разработчик в Excel. Если она не отображается, щёлкните правой кнопкой мыши по ленте, выберите Настроить ленту и установите флажок напротив пункта Разработчик. Затем нажмите Разработчик > Visual Basic.
2. В окне Microsoft Visual Basic for Applications нажмите Вставка > Модуль.
3. Скопируйте и вставьте следующий код VBA в модуль:

Sub FilterZeroAndPercentile()
    Dim rng As Range
    Dim ws As Worksheet
    Dim arr As Variant
    Dim filteredArr As Variant
    Dim i As Long, count As Long
    Dim percentileVal As Double
    Dim quartileVal As Double
    Dim pctl As Double
    Dim quartIdx As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select the data range (numbers only)", xTitleId, rng.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    ' Prompt for percentile value (e.g., 0.75 for 75th percentile)
    pctl = Application.InputBox("Enter percentile value between 0 and 1 (e.g., 0.75 for 75th percentile)", xTitleId, "0.75", Type:=1)
    
    ' Prompt for quartile index (1, 2, 3, 4)
    quartIdx = Application.InputBox("Enter quartile index (e.g., 1 for first quartile)", xTitleId, "1", Type:=1)
    
    arr = rng.Value
    count = 0
    
    ' Count non-zero numbers
    For i = 1 To UBound(arr, 1)
        If arr(i, 1) > 0 Then
            count = count + 1
        End If
    Next i
    
    If count = 0 Then
        MsgBox "No non-zero data found!", vbExclamation, xTitleId
        Exit Sub
    End If
    
    ReDim filteredArr(1 To count)
    count = 0
    
    For i = 1 To UBound(arr, 1)
        If arr(i, 1) > 0 Then
            count = count + 1
            filteredArr(count) = arr(i, 1)
        End If
    Next i
    
    ' Calculate percentile / quartile
    percentileVal = Application.WorksheetFunction.Percentile(filteredArr, pctl)
    quartileVal = Application.WorksheetFunction.Quartile(filteredArr, quartIdx)
    
    MsgBox "Percentile (" & pctl & "): " & percentileVal & vbCrLf & _
           "Quartile (" & quartIdx & "): " & quartileVal, vbInformation, xTitleId
End Sub

4. Нажмите кнопку Кнопка запуска или клавишу F5в окне VBA, чтобы запустить макрос. Сначала появится запрос на выбор диапазона данных (только числа), затем — на указание нужного перцентиля (например, 0,3 для 30)-го перцентиля) и индекса квартиля (например, 1 для первого квартиля). Макрос автоматически отфильтрует нулевые значения и покажет результат во всплывающем окне.

Преимущества: Быстро обрабатывает большие и нестандартные наборы данных, полностью исключает пустые значения и избавляет от необходимости вручную прописывать формулы. Поддерживает многократное использование и гибкую настройку.
Недостатки: Требует включения макросов и базового понимания VBA. Не подходит для использования в формулах листа без преобразования в пользовательскую функцию (UDF).

Типичные проблемы и устранение неполадок: если вы выберете нечисловые ячейки или ячейки с ошибками, макрос может пропустить их или выдать сообщение об ошибке. Убедитесь, что выбранный диапазон данных содержит только числа — нули и положительные значения. Если ненулевые данные не будут найдены, вы получите соответствующее уведомление.

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

Если вам нужно рассчитывать перцентили или квартили сразу в нескольких столбцах, подумайте о модификации макроса — добавьте цикл по нужным столбцам или диапазонам.


Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал 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.

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