Excel: 변수 범위에서 최대값 가져오기

Excel: 변수 범위에서 최대값 가져오기

여기에 이미지 설명을 입력하세요

행 헤더가 특정 값인 가변 개수의 행과 열에서 최대값을 검색해야 합니다. 위 예에서 300은 최대값 15를 반환합니다.

행 머리글(예: 300)이 변수가 되어 행 머리글 300 또는 600 등에 대해 최대값이 반환될 수 있는 수식을 만들려고 합니다.

해당 범위에서 Max 함수를 사용할 수 있도록 머리글이 300인 모든 행의 범위 또는 배열을 얻으려면 어떻게 해야 합니까?

답변1

당신의300~에F1, 그런 다음D1배열 수식을 넣으십시오.

=MAX(IF(A1:A100=F1,B1:C100))

배열 수식그냥 키가 아닌 Ctrl+ Shift+ 로 입력해야 합니다 . 이 작업이 올바르게 수행되면 수식 입력줄에서 수식 주위에 중괄호가 표시됩니다.EnterEnter

여기에 이미지 설명을 입력하세요

칼럼 때문에기준,101행에14무시됩니다.

답변2

Office 365 Excel이 있는 경우 일반 공식은 다음과 같습니다.

=MAX(MAXIFS(B:B,A:A,300),MAXIFS(C:C,A:A,300))

300을 모두 셀 주소로 바꿀 수 있습니다. 이는 배열 수식이 아니기 때문에 손상 없이 전체 열 참조를 허용합니다.

답변3

좀 더 일반적인 답변은 다음과 같습니다.

행 6에서 N까지 확장되는 배열에서 행 i부터 j까지의 연속 하위 집합에 대해 열 C 및 D에 나타나는 숫자 값의 MAX(또는 MIN 또는 MEDIAN 등)를 계산한다고 가정합니다. 행"은 열 B에 입력됩니다. i의 명시적 값은 B2에 지정되고 j의 명시적인 값은 B3에 지정됩니다(-이 값은 아마도 스프레드시트의 다른 곳에서 선험적으로 계산되었을 수 있습니다). 여기서는 투명성을 위해 i = 9, j = 14, n = 15로 가정합니다.

제가 개발한 Excel2003 코드는 다음과 같습니다. 정상적으로 작동하는 것 같습니다.

{=MAX(IF(B6:B15>=B2,IF(B6:B15<=B3,C6:C15),""))} , 이는 MAX(C9:C14) 를 반환합니다. 그리고,

{=MAX(IF(B6:B15>=B2,IF(B6:B15<=B3,D6:D15),""))} , 이는 MAX(D9:D14) 를 반환합니다.

유사한 계산을 수행하려면 MAX를 MIN 또는 다른 함수 이름으로 변경하면 됩니다. 그러나 명령문을 조작할 때마다 사라지는 "중괄호"를 다시 설치(Ctrl-Shift-Enter)하는 것을 잊지 마십시오.

관련 정보