同じ列と異なる列の複数の条件による平均

同じ列と異なる列の複数の条件による平均

ステータス = 新規またはオープン、重大度 = 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))averageifs  () を使用すると間違った答えが返され、エラーが発生します。この問題の解決にご協力ください。CtrlShiftEnter#DIV/0!

答え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"))

わかりやすくするために範囲を名前付き範囲に変更しましたが、これらの名前を特定のセル範囲に置き換えることもできます。

答え2

近かったです。演算子の優先順位のルールを尊重し、+部分式を括弧で囲む必要があります。

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

関連情報