Excel - удаление выбросов из горизонтальных данных с использованием операторов IF и динамического порога - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь избавиться от некоторых выбросов из моего набора данных.Ниже приведен раздел моего набора данных.

       13284    13285   13293   13294   13297   13301   13304   13309
Sat1    0.6140  #N/A    #N/A    #N/A    #N/A    #N/A    0.0635  #N/A
Sat2    #N/A    #N/A    0.5820  #N/A    #N/A    #N/A    #N/A    #N/A

Вот график всего набора данных, чтобы вы могли видеть, с чем я имею дело.enter image description here

Я хочу применить правило, в котором ЕСЛИ значение в строке Sat1 меньше, чем последнее значение, отличное от # N / A, в строке Sat2 минус это значение, умноженное на20% ТО затем измените значение Sat1 на # N / A.Таким образом, в этом примере 0,0635 меньше 0,5820- (0,5820 * 0,2) и поэтому будет опущено.Это избавило бы от первого огромного падения, которое вы видите на графике.

Я уверен, что оператор If необходим;Возможно, он находится внутри некоторых других функций, но я не могу понять, что делать с # N / As.Решение должно быть динамичным, потому что у меня есть и другие наборы данных (графики), которые нужно фильтровать, и # N / As не всегда находятся в одном и том же месте.Есть идеи?Может быть, слишком сложно для Excel?

1 Ответ

0 голосов
/ 20 сентября 2018

Если ваши данные соответствуют приведенным ниже, то -

     A       B      C    D         E      F       G       H       I
#1          13284  13285  13293   13294   13297   13301   13304   13309
#2  Sat1   0.6140  #N/A   #N/A    #N/A    #N/A    #N/A    0.0635  #N/A
#3  Sat2    #N/A   #N/A   0.5820  #N/A    #N/A    #N/A    #N/A    #N/A

Вы можете поместить формулу ниже, начиная со столбца C в строке # 4 -

=IF(C2>LOOKUP(2,1/(ISNUMBER($A3:B3)),$A3:B3)*0.8,C2,NA())

Вы можете перетащить эту формулу на всюстрока № 4 для получения обновленной строки Sat1: -)

PS - я преобразовал строку «Sat2 минус это значение, умноженное на 20%», как 80% строки Sat2.

...