Я пытаюсь усреднить самые большие (или наименьшие) значения N в диапазоне, который не является нулем. Скажем, мои данные на колонке А, я использую эту формулу:Excel: Средние наибольшие (или наименьшие) значения N в диапазоне, исключая нули
=AVERAGE(SMALL(A:A,{1,2,3}))
который составляет в среднем три наименьшие значения в А. Аналогичная формула может быть использована с LARGE
вместо SMALL
, для наибольших значений. Как можно приспособить формулу, чтобы найти наименьшие (наибольшие) значения N, которые не равны нулю, и средние только эти? Мне, вероятно, придется играть с формулами массива, IFs
и "<>0"
, но я не очень хорошо знаком с синтаксисом excel.
Большое спасибо заранее!
Спасибо! Я только что проверил предложенные вами формулы, и они оба хорошо работают, за исключением случая (действительно пограничного), когда есть менее 3 не нулей. В этом случае формула возвращает ошибку. Я исправил эту конкатенацию 'IFERROR' и постепенно проверял лучший 2, или единственный лучший ненулевой, с окончательным фиктивным значением, если все терпит неудачу. Он выглядит немного неэлегантным, но работает. Есть ли альтернативы? '= IFERROR (СРЕДНЯЯ (МАЛАЯ (A: A, {1,2,3} + COUNTIF (A: A, 0))), IFERROR (СРЕДНЯЯ (МАЛАЯ (A: A, {1,2} + COUNTIF (A: A, 0))), IFERROR (СРЕДНЯЯ (МАЛАЯ (A: A, {1} + COUNTIF (A: A, 0))), MAX (A: A)))) ' – st1led
Если это что-то вам нужно протестировать, вы можете попробовать эту формулу, введенную с помощью 'ctrl + shift + enter':' = IFERROR (AVERAGE (SMALL (IF (A: A <> 0, A: A), ROW (INDIRECT ("1: Msgstr "Я не знаю, что будет больше эффективный, но этот является изменчивым, что означает, что он может быть менее эффективным, но более простым для обобщения, если ваше желаемое число в среднем будет отличаться. –