목차
이 기사에서는 지정한 하나 이상의 조건에 따라 Excel에서 최대값을 얻는 몇 가지 방법을 보여줍니다.
이전 자습서에서는 일반적인 용도를 살펴봤습니다. 데이터 세트에서 가장 큰 숫자를 반환하도록 설계된 MAX 함수의 그러나 경우에 따라 특정 기준에 따라 최대값을 찾기 위해 데이터를 더 자세히 조사해야 할 수도 있습니다. 이것은 몇 가지 다른 수식을 사용하여 수행할 수 있으며 이 문서에서는 가능한 모든 방법을 설명합니다.
Excel MAX IF 공식
최근까지 Microsoft Excel에는 내장된 MAX IF 기능으로 조건에 따라 최대값을 얻습니다. Excel 2019에 MAXIFS가 도입되면서 조건부 최대화를 쉽게 수행할 수 있습니다.
Excel 2016 및 이전 버전에서는 MAX를 결합하여 배열 수식 을 직접 만들어야 합니다. IF 문이 있는 함수:
{=MAX(IF( criteria_range= criteria, max_range))}이 일반 MAX가 IF 공식이 실제 데이터에서 작동하는 경우 다음 예를 고려하십시오. 여러 학생의 멀리뛰기 결과가 있는 테이블이 있다고 가정합니다. 테이블에는 세 라운드의 데이터가 포함되어 있으며 Jacob과 같은 특정 운동선수의 최상의 결과를 찾고 있습니다. A2:A10에 학생 이름이 있고 C2:C10에 거리가 있는 경우 수식은 다음과 같은 모양을 갖습니다.
=MAX(IF(A2:A10="Jacob", C2:C10))
배열 수식이항상 Ctrl + Shift + Enter 키를 동시에 눌러 입력해야 합니다. 결과적으로 아래 스크린샷과 같이 자동으로 중괄호로 둘러싸이게 됩니다(중괄호를 수동으로 입력하면 작동하지 않습니다!).
실제 워크시트, 수식을 변경하지 않고도 조건을 쉽게 변경할 수 있습니다. 따라서 F1에 원하는 이름을 입력하고 다음 결과를 얻습니다.
=MAX(IF(A2:A10=F1, C2:C10))
이 수식이 작동하는 방식
논리 IF 함수 테스트에서 이름 목록(A2:A10)과 대상 이름(F1)을 비교합니다. 이 작업의 결과는 TRUE 및 FALSE의 배열입니다. 여기서 TRUE 값은 대상 이름(Jacob)과 일치하는 이름을 나타냅니다.
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE}
value_ if_true 인수, 멀리뛰기 결과(C2:C10)를 제공하므로 논리 테스트가 TRUE로 평가되면 C열의 해당 숫자가 반환됩니다. value_ if_false 인수가 생략되었습니다. 즉, 조건이 충족되지 않는 경우 FALSE 값만 가집니다.
{FALSE;FALSE;FALSE;5.48;5.42;5.57;FALSE;FALSE;FALSE}
이 배열은 MAX 함수에 공급됩니다. FALSE 값을 무시하고 최대 수를 반환합니다.
팁. 위에서 설명한 내부 배열을 보려면 워크시트에서 수식의 해당 부분을 선택하고 F9 키를 누르십시오. 공식 평가 모드를 종료하려면 Esc 키를 누르십시오.
여러 개의 MAX IF 공식기준
하나 이상의 조건을 기반으로 최대값을 찾아야 하는 상황에서 다음 중 하나를 수행할 수 있습니다.
추가 기준을 포함하도록 중첩된 IF 문 사용:
{=MAX( IF( 기준_범위1 = 기준1 , IF( 기준_범위2 = 기준2 , 최대_범위 )))}또는 곱셈 연산을 사용하여 여러 기준을 처리합니다.
단일 테이블에 남학생과 여학생의 결과가 있고 3라운드에서 여학생 중에서 가장 긴 점프를 찾으려고 한다고 가정해 보겠습니다. , G1에 첫 번째 기준(여성)을 입력하고 G2에 두 번째 기준(3)을 입력하고 다음 공식을 사용하여 최대값을 계산합니다.
=MAX(IF(B2:B16=G1, IF(C2:C16=G2, D2:D16)))
=MAX(IF((B2:B16=G1)*(C2:C16=G2), D2:D16))
둘 다 배열 수식이므로 Ctrl + Shift + Enter를 눌러 올바르게 완료해야 합니다.
아래 스크린샷과 같이 두 수식의 결과는 동일하므로 어떤 수식을 사용해야 합니까? 요 문제 개인적인 취향입니다. 저에게는 부울 논리가 포함된 수식이 더 쉽게 읽고 작성할 수 있습니다. 추가 IF 함수를 중첩하지 않고도 원하는 만큼 많은 조건을 추가할 수 있습니다.
이 수식이 작동하는 방식
첫 번째 수식은 두 개의 중첩된 IF 함수를 사용하여 두 가지 기준을 평가합니다. 첫 번째 IF 문의 논리적 테스트에서 Gender 열의 값을 비교합니다.(B2:B16) G1의 기준("여성"). 결과는 TRUE 및 FALSE 값의 배열입니다. 여기서 TRUE는 다음 기준과 일치하는 데이터를 나타냅니다.
{FALSE; FALSE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; TRUE; TRUE; TRUE}
유사한 방식으로 두 번째 IF 함수는 라운드 열(C2 :C16) G2.
두 번째 IF 문의 value_if_true 인수에 대해 멀리뛰기 결과(D2:D16)를 제공하고 이러한 방식으로 항목을 가져옵니다. 해당 위치의 처음 두 배열에 TRUE가 있는 항목(예: 성별이 "여성"이고 라운드가 3인 항목):
{FALSE; FALSE; FALSE; FALSE; FALSE; 4.63; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE; 4.52}
이 마지막 배열은 MAX 함수로 이동하고 가장 큰 숫자를 반환합니다.
두 번째 수식은 단일 논리 테스트 내에서 동일한 조건을 평가하고 곱셈 연산은 AND 연산자처럼 작동합니다.
TRUE 및 FALSE 값이 산술 연산에서는 각각 1과 0으로 변환됩니다. 그리고 0을 곱하면 항상 0이 되기 때문에 결과 배열은 모든 조건이 TRUE인 경우에만 1을 가집니다. 이 배열은 1(TRUE) 요소에 해당하는 거리를 반환하는 IF 함수의 논리 테스트에서 평가됩니다.
배열 없는 MAX IF
저를 비롯한 많은 Excel 사용자는 배열 수식에 대해 편견을 갖고 가능한 한 제거하려고 합니다. 운 좋게도 Microsoft Excel에는 기본적으로 배열을 처리하는 몇 가지 기능이 있으며 그 중 하나를 사용할 수 있습니다.이러한 함수, 즉 MAX 주변의 일종의 "래퍼"로서 SUMPRODUCT입니다.
배열이 없는 일반 MAX IF 수식은 다음과 같습니다.
=SUMPRODUCT(MAX(( criteria_range1 = criteria1 ) * ( criteria_range2 = criteria2 ) * max_range ))당연히 다음과 같은 경우 더 많은 범위/기준 쌍을 추가할 수 있습니다. 필요합니다.
작동하는 수식을 보기 위해 이전 예의 데이터를 사용합니다. 목표는 3라운드에서 여자 선수의 최대 점프를 얻는 것입니다:
=SUMPRODUCT(MAX(((B2:B16=G1) * (C2:C16=G2) * (D2:D16))))
이 수식은 일반 Enter 키 입력과 경쟁하며 어레이 MAX IF 수식과 동일한 결과를 반환합니다.
위의 스크린샷을 자세히 살펴보면 이전 예에서 "x"로 표시된 유효하지 않은 점프가 이제 행 3, 11 및 15에서 0 값을 가짐을 알 수 있습니다. , 다음 섹션에서 그 이유를 설명합니다.
이 공식 작동 방식
MAX IF 공식과 마찬가지로 Gender(B2:B16) 및 Round( C2:C16) 셀 G1 및 G2에 기준이 있는 열. 결과는 TRUE 및 FALSE 값의 두 배열입니다. 같은 위치에 있는 배열의 요소를 곱하면 TRUE와 FALSE가 각각 1과 0으로 변환됩니다. 여기서 1은 두 기준을 모두 충족하는 항목을 나타냅니다. 세 번째 곱한 배열에는 멀리뛰기 결과(D2:D16)가 포함됩니다. 그리고 0을 곱하면 0이 되기 때문에 해당 위치에 1(TRUE)이 있는 항목만Survival:
{0; 0; 0; 0; 0; 4.63; 0; 0; 0; 0; 0; 0; 0; 0; 4.52}
max_range 에 텍스트 값이 포함된 경우 곱셈 연산은 전체 수식이 작동하지 않기 때문에 #VALUE 오류를 반환합니다.
MAX 함수는 여기에서 가져와 지정된 조건을 충족하는 가장 큰 숫자를 반환합니다. 단일 요소 {4.63}로 구성된 결과 배열은 SUMPRODUCT 함수로 이동하고 셀의 최대 수를 출력합니다.
참고. 특정 논리로 인해 수식은 다음 주의 사항과 함께 작동합니다.
- 가장 높은 값을 검색하는 범위에는 숫자만 포함되어야 합니다. 텍스트 값이 있으면 #VALUE! 오류가 반환됩니다.
- 수식은 음수 데이터 집합에서 "0이 아님" 조건을 평가할 수 없습니다. 0을 무시하고 최대값을 찾으려면 MAX IF 수식 또는 MAXIFS 함수를 사용하십시오.
OR 논리가 있는 Excel MAX IF 수식
any 의 지정된 조건이 충족되면 이미 익숙한 배열 MAX IF 수식을 부울 논리와 함께 사용하지만 조건을 곱하는 대신 조건을 추가합니다.
{=MAX(IF(( criteria_range1 = criteria1 ) + ( criteria_range2 = criteria2 ), max_range ))}또는 다음 비배열 수식을 사용할 수 있습니다. :
=SUMPRODUCT(MAX((( 기준_범위1 = 기준1 ) + ( 기준_범위2 = 기준2 )) * max_range ))예를 들어라운드 2와 3에서 최상의 결과. Excel 언어에서는 작업이 다르게 공식화된다는 점에 주의하십시오. 라운드가 2 또는 3이면 최대값을 반환합니다.
B2:B10에 나열된 라운드를 사용합니다. , C2:C10의 결과와 F1 및 H1의 기준, 수식은 다음과 같습니다.
=MAX(IF((B2:B10=F1) + (B2:B10=H1), C2:C10))
Ctrl + Shift + Enter 키 조합을 눌러 수식을 입력하면 이 결과:
배열이 아닌 공식을 사용하여 동일한 조건의 최대값을 찾을 수도 있습니다.
=SUMPRODUCT(MAX(((B2:B10=F1) + (B2:B10=H1)) * C2:C10))
그러나 이 경우 SUMPRODUCT MAX는 숫자 데이터에서만 작동하기 때문에 C 열의 모든 "x" 값을 0으로 바꿔야 합니다.
이 공식 작동 방식
배열 수식은 곱셈 대신 더하기 연산을 사용하여 기준을 조인한다는 점을 제외하면 AND 논리를 사용하는 MAX IF와 정확히 동일한 방식으로 작동합니다. 배열 수식에서 추가는 OR 연산자로 작동합니다.
TRUE 및 FALSE의 두 배열(F1 및 H1의 기준에 대해 B2:B10의 값을 확인한 결과)을 더하면 1 및 0's 여기서 1은 두 조건 중 하나가 TRUE인 항목을 나타내고 0은 두 조건이 모두 FALSE인 항목을 나타냅니다. 결과적으로 IF 함수는 조건이 TRUE(1)인 C2:C10( value_if_true )의 모든 항목을 "유지"합니다. 나머지 항목은 FALSE로 대체됩니다. value_if_false 인수가 지정되지 않았습니다.
배열이 아닌 수식도 비슷한 방식으로 작동합니다. 차이점은 IF의 논리 테스트 대신 해당 위치에서 1과 0의 배열 요소를 멀리뛰기 결과 배열(C2:C10)의 요소와 곱한다는 것입니다. 이것은 조건을 충족하지 않는 항목(첫 번째 배열에 0 포함)을 무효화하고 조건 중 하나를 충족하는 항목(첫 번째 배열에 1 포함)을 유지합니다.
MAXIFS – 가장 높은 값을 찾는 쉬운 방법 조건이 있는 값
Excel 2019, 2021 및 Excel 365 사용자는 배열을 길들여 고유한 MAX IF 수식을 구축해야 하는 번거로움에서 벗어날 수 있습니다. 이러한 버전의 Excel에서는 조건 없이 가장 큰 값을 찾는 오랫동안 기다려온 MAXIFS 기능을 제공합니다.
MAXIFS의 첫 번째 인수에는 최대값을 찾아야 하는 범위(D2: 이 경우 D16), 후속 인수에는 최대 126개의 범위/기준 쌍을 입력할 수 있습니다. 예:
=MAXIFS(D2:D16, B2:B16, G1, C2:C16, G2)
아래 스크린샷과 같이 이 간단한 수식은 숫자 값과 텍스트 값을 모두 포함하는 범위를 처리하는 데 문제가 없습니다.
이 기능에 대한 자세한 내용은 수식 예제가 포함된 Excel MAXIFS 함수를 참조하세요.
이렇게 Excel에서 조건이 있는 최대값을 찾을 수 있습니다. 읽어주셔서 감사하고 다음에 저희 블로그에서 뵙기를 바랍니다.week!
연습 워크북 다운로드
Excel MAX IF 수식 예제(.xlsx 파일)