IF 및 AND 함수를 사용하는 여러 조건이 포함된 ARRAY 전체의 Excel MEDIAN

IF 및 AND 함수를 사용하는 여러 조건이 포함된 ARRAY 전체의 Excel MEDIAN

조건 충족에 따라 한 열에 있는 값의 MEDIAN을 결정하고 싶습니다.다른 열. MS 엑셀을 사용하고 있습니다.

IF 함수를 사용하여 MEDIAN 함수를 ARRAY(ctrl + shft + enter)로 처리해야 한다는 것을 알고 있으며 IF 문 내에서 1개의 조건만 사용하면 제대로 작동합니다. 하지만, 통합하려고 하자마자2AND 함수를 사용하는 조건에서는 중앙값이 0이 됩니다(즉, 작동하지 않습니다).

둘 이상의 다른 열의 일치 조건을 기반으로 한 열에 있는 값의 중앙값을 어떻게 계산합니까?

:

A = 1이고 B = x일 때 C에서 값의 중앙값을 찾고 싶다고 가정해 보겠습니다.

A   B   C
1   x   10
1   x   20
1   y   30
1   y   40
2   x   10
2   x   20
2   y   30
2   y   40
3   x   10
3   x   20
3   y   30
3   y   40
4   x   10
4   x   20
4   y   30
4   y   40
5   x   10
5   x   20
5   y   30
5   y   40

#Here is my attempt using IF and AND:
{=MEDIAN(IF(AND(A2:A21=1,B2:B21="x"),C2:C21))}    #DEOSN'T WORK: should be 15, but it's 0

#subcomponents of above work fine on their own:
{=MEDIAN(IF(A2:A21=1,C2:C21)) }    #equals 25 as expected
{=MEDIAN(IF(B2:B21="x",C2:C21))}   #equals 15 as expected

이 작업을 어떻게 수행하거나 사용해야 하는 다른 접근 방식이 있습니까?

답변1

함수 를 피하고 대신 AND중첩된 IFs를 사용하세요.

구체적으로:

=MEDIAN(IF(A2:A21=1,IF(B2:B21="x",C2:C21)))

문제는 AND배열 컨텍스트에서 의도한 대로 작동하지 않는다는 것입니다. AND각 요소 쌍을 생성하지 않고 두 배열의 모든 요소를 ​​AND하여 단일 스칼라 결과를 제공합니다.

원래 수식은 AND" "의 단일 출력에 대한 전체 호출을 평가합니다 FALSE(두 배열의 모든 요소가 비교를 만족하는 경우가 아니기 때문입니다).

답변2

왜 작동하는지 모르겠지만, 혼란스러운 후에 다음이 내 목표를 달성한다는 것을 알았습니다.

{=MEDIAN(IF((A2:A21=1)*(B2:B21="x"),C2:C21))}   #gives correct 15

(다시, ctrl + shft + enter를 사용하여 배열로 처리하는 것을 기억하십시오)

내 생각에는 AND함수가 단일 TRUE또는 FALSE기본적으로만 생성하므로 이 컨텍스트에서는 작동할 수 없습니다(1과 0의 배열을 생성해야 함). 그러나 각 열을 자체 배열로 처리하면 각 하위 조건에 대해 1과 0의 문자열이 생성됩니다. 그런 다음 여러 조건부 배열을 곱하면 결과 자체는 1과 0의 배열이 되며, 여기서 1은 해당 하위 조건 모두에 대해 원하는 조건이 참인 경우에만 존재합니다.

누군가가 댓글로 이것을 확인/설명할 수 있다고 확신합니다.

관련 정보