同一列和不同列中多個標準的平均值

同一列和不同列中多個標準的平均值

我必須找到狀態 = 新的或打開的、嚴重性 = 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))。 我收到錯誤。請幫我解決這個問題。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))
                                   ↑                        ↑

相關內容