我必須找到狀態 = 新的或打開的、嚴重性 = 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))
↑ ↑