상태 = 신규 또는 공개, 심각도 = 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))
↑ ↑