Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

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

Author Xiaoyang Last modified

При работе со списком оценок или баллов в Excel вам может понадобиться рассчитать итоговую оценку студента, исключив его самый низкий балл, а возможно, и несколько самых низких баллов, прежде чем усреднять или суммировать оставшиеся значения. Это общее требование в образовательных учреждениях, где студентам может быть разрешено не учитывать свои худшие результаты для учета аномалий или обеспечения справедливости. Выполнение этой операции вручную может быть утомительным, особенно при работе с большими наборами данных или частыми изменениями расчетов. К счастью, Excel предоставляет несколько гибких способов достижения этой цели — от простых формул до автоматизации с помощью VBA для пакетных операций.

Исключение самой низкой оценки и получение среднего значения или суммы с использованием формул

Код VBA — Исключение самой низкой или нескольких низких оценок и автоматический расчет суммы или среднего значения


arrow blue right bubble Исключение самой низкой оценки и получение среднего значения или суммы с использованием формул

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

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

Суммирование чисел, но исключение низшего или нескольких низших значений:

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

1. Выберите пустую ячейку, где должен появиться результат суммы для первой строки (например, в ячейке I2, если ваши данные находятся в диапазоне B2:H2), затем введите следующую формулу:

=SUM(B2:H2)-SMALL(B2:H2,1)

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

Вот скриншот для справки:

Sum the numbers but drop the lowest value with a formula

Примечания и советы:

  • Чтобы исключить два, три или более низших значения, можно расширить формулу, вычитая дополнительные результаты функции НАИМЕНЬШИЙ. Например:
=SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)
=SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)-SMALL(B2:H2,3)
=SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)-SMALL(B2:H2,3)-...-SMALL(B2:H2,n)
  • В этих формулах B2:H2 — это диапазон, который вы хотите суммировать, а числа 1, 2, 3 и т. д. указывают n наименьших чисел для исключения. Настройте n в зависимости от того, сколько низких оценок вы хотите исключить.
  • Будьте осторожны, чтобы не установить n больше или равным общему количеству значений; иначе вы столкнетесь с ошибками или нежелательными результатами.
  • Эти формулы работают независимо для строк. Если ваши данные охватывают столбцы вместо строк, соответственно скорректируйте диапазоны.
  • Если ваш набор данных содержит дубликаты самого низкого числа, НАИМЕНЬШИЙ(B2:H2,1) будет исключать только одно вхождение за ссылку. Чтобы исключить несколько вхождений, повторите термин НАИМЕНЬШИЙ с увеличенными значениями k, как показано выше.

Усреднение чисел, но исключение низшего или нескольких низших значений:

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

1. Выберите ячейку для результата среднего значения (например, J2, если ваши оценки находятся в диапазоне B2:H2), и введите формулу:

=(SUM(B2:H2)-SMALL(B2:H2,1))/(COUNT(B2:H2)-1)

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

average the numbers but drop the lowest value with a formula

Примечания и важные рекомендации:

  • Чтобы усреднить, исключая более одного низкого результата, расширьте формулу, вычитая дополнительные термины НАИМЕНЬШИЙ и соответственно уменьшая делитель:
=(SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2))/(COUNT(B2:H2)-2)
=(SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)-SMALL(B2:H2,3))/(COUNT(B2:H2)-3)
=(SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)-SMALL(B2:H2,3)-...-SMALL(B2:H2,n))/(COUNT(B2:H2)-n)
  • Опять же, B2:H2 — это диапазон для усреднения, а n представляет, сколько самых низких значений не будет включено в расчет.
  • Если вы попытаетесь вычесть больше чисел, чем существует в диапазоне, формулы вернут ошибку #ЧИСЛО!, что указывает на недостаточное количество значений для усреднения. Всегда убедитесь, что n меньше количества чисел.
  • Рекомендуется дважды проверить, что самые низкие значения не являются критическими или необходимыми для вашего расчета перед их исключением, так как это может повлиять на окончательные результаты.
  • Для чрезвычайно больших наборов данных или динамического исключения n самых низких значений рассмотрите автоматическое или массивное решение.
a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

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

arrow blue right bubble Код VBA — Исключение самой низкой или нескольких низших оценок и автоматический расчет суммы или среднего значения

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

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

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

1. Нажмите Разработчик > Visual Basic. В окне Microsoft Visual Basic for Applications нажмите Вставить > Модуль, а затем введите следующий код:

Sub DropLowestNandCalculate()
    Dim WorkRng As Range
    Dim OutputRng As Range
    Dim n As Integer
    Dim FuncType As String
    Dim i As Integer, j As Integer, k As Integer
    Dim Arr() As Variant, TempArr() As Double
    Dim RowSum As Double
    Dim RowCount As Integer
    Dim MinIdx() As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select the score range (rows to process):", xTitleId, WorkRng.Address, Type:=8)
    
    Set OutputRng = Application.InputBox("Select output cells (top-left for results):", xTitleId, WorkRng.Offset(0, WorkRng.Columns.Count).Cells(1, 1).Address, Type:=8)
    
    n = Application.InputBox("Number of lowest grades to drop (n):", xTitleId, "1", Type:=1)
    
    FuncType = Application.InputBox("Type 'SUM' to calculate total or 'AVG' to calculate average (not case sensitive):", xTitleId, "AVG", Type:=2)
    
    For i = 1 To WorkRng.Rows.Count
        Arr = Application.WorksheetFunction.Transpose(Application.WorksheetFunction.Transpose(WorkRng.Rows(i).Value))
        RowCount = UBound(Arr)
        
        ReDim TempArr(1 To RowCount)
        For j = 1 To RowCount
            TempArr(j) = Arr(j)
        Next j
        
        ' Mark n lowest values as used by setting to very high number
        For k = 1 To n
            Dim MinVal As Double, MinPos As Integer
            MinVal = Application.WorksheetFunction.Min(TempArr)
            
            For j = 1 To RowCount
                If TempArr(j) = MinVal Then
                    TempArr(j) = 1E+308
                    Exit For
                End If
            Next j
        Next k
        
        RowSum = 0
        Dim ValidCount As Integer
        ValidCount = 0
        
        For j = 1 To RowCount
            If TempArr(j) <> 1E+308 Then
                RowSum = RowSum + Arr(j)
                ValidCount = ValidCount + 1
            End If
        Next j
        
        If UCase(FuncType) = "AVG" Then
            If ValidCount = 0 Then
                OutputRng.Cells(i, 1).Value = "N/A"
            Else
                OutputRng.Cells(i, 1).Value = RowSum / ValidCount
            End If
        Else
            OutputRng.Cells(i, 1).Value = RowSum
        End If
    Next i
End Sub

2. После добавления кода нажмите кнопку Run button или нажмите F5 для выполнения.

3. Следуйте инструкциям, которые появятся:

  • Выберите диапазон оценок, который вы хотите обработать (убедитесь, что оценки каждого студента находятся в строке).
  • Выберите левую верхнюю ячейку диапазона вывода (вывод будет заполняться вниз на основе количества строк).
  • Введите количество низких оценок для исключения (например, 1 для исключения только самой низкой оценки в каждой строке).
  • Введите SUM, чтобы получить общую сумму (исключая удаленные оценки), или AVG, чтобы получить пересчитанное среднее значение (исключая удаленные оценки).

Макрос обрабатывает каждую строку из указанного диапазона оценок и помещает либо сумму, либо среднее значение (в зависимости от выбора) в диапазон вывода. Если все оценки удалены в строке, результат помечается как N/A, чтобы избежать ошибок.

  • Убедитесь, что входной диапазон соответствует структуре ваших данных (оценки одного студента в строке).
  • Нечисловые ячейки (например, пустые или текстовые) будут игнорироваться по умолчанию.
  • Этот код VBA значительно ускоряет повторяющиеся расчеты оценок для целых классов и поддерживает гибкую настройку количества оценок для исключения.
  • Если вы часто выполняете такие операции, вы можете назначить этот макрос кнопке на вашем листе для еще более быстрого доступа.

Если вы столкнулись с проблемами, такими как неверные выходные данные или ошибки, дважды проверьте, что диапазоны указаны точно, и что "n" не больше или равно общему количеству доступных оценок для каждой строки.

Для аналогичных требований автоматизации, таких как исключение как высших, так и низших оценок или работа со столбцами вместо строк, в логику кода VBA можно внести небольшие изменения.

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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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