Исключить значение, если его более 2SD выше / ниже среднего - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь исключить значения, которые в два раза превышают стандартное отклонение выше / ниже среднего значения в Excel.Набор данных довольно большой.Любая функция в Excel или формула, которую я мог бы использовать, чтобы сделать это автоматически?Обратите внимание, что версия Excel - 2007. Было бы лучше очистить эти ячейки

1 Ответ

0 голосов
/ 30 января 2019

Скажем, у нас есть данные в столбце B , например:

enter image description here

(выбросы четко обозначены)

Запуск этого маленького макроса:

Sub OutlierKiller()
    Dim I As Long, N As Long, wf As WorksheetFunction
    Dim U As Double, L As Double, v As Double
    Set wf = Application.WorksheetFunction
    N = Cells(Rows.Count, "B").End(xlUp).Row

    U = wf.Average(Range("B:B")) + 2 * wf.StDev_S(Range("B:B"))
    L = wf.Average(Range("B:B")) - 2 * wf.StDev_S(Range("B:B"))

    For I = 1 To N
        v = Cells(I, 2).Value
        If v >= U Or v <= L Then Cells(I, 2).Clear
    Next I
End Sub

даст:

enter image description here

Вам потребуетсяизмените код в соответствии со своей структурой данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...