1

Мне нужно найти среднее количество дней, когда Статус = новый или открытый, Серьезность = 4 и Область = Приложения.

Демо стол

Area     Severity    Status    Days

Apps     4           new       20    ←
Apps     3           open      10
Node     3           close     0
Device   2           new       25
Apps     4           open      12    ←
Device   1           close     0
Node     4           new       13

Указанные строки соответствуют заявленным критериям, поэтому желаемый результат - AVERAGE(20,12) который, конечно, равен 16.  Я пытался =Average(IF((A:A="Apps")*(B:B="4")*(C:C="new")+(C:C="open"),D:D)) с помощью Ctrl+Shift+Enter, но я получаю неправильный ответ при использовании среднего значения (); Я получаю #DIV/0! ошибка. Пожалуйста, помогите мне решить эту проблему.

2 ответа2

1

Тот факт, что у вас есть условие "или", может испортить ваше использование AVERAGEIFS, поскольку оно имеет только "и" условия. Я думаю, что лучший способ сделать это - просто посчитать среднее значение по старинке:

=(SUMIFS(Days,Status,"new",Area,"Apps",Severity,4) +
SUMIFS(Days,Status,"open",Area,"Apps",Severity,4)) /
(COUNTIFS(Status,"new",Severity,4,Area,"Apps") +
COUNTIFS(Status,"open",Severity,4,Area,"Apps"))

Я изменил диапазоны на именованные диапазоны для ясности, но вы можете заменить эти имена вашими конкретными диапазонами ячеек.

1

Вы были близки  Необходимо соблюдать правила приоритета операторов и заключить подвыражение + в круглые скобки:

=AVERAGE(IF((A:A="Apps")*(B:B="4")*((C:C="new")+(C:C="open")), D:D))
                                   ↑                        ↑

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .