Excel 중첩 IF 문 - 예제, 모범 사례 및 대안

  • 이 공유
Michael Brown

이 자습서에서는 Excel에서 중첩된 IF 함수를 사용하여 여러 조건을 확인하는 방법을 설명합니다. 또한 Excel에서 중첩된 수식을 사용하는 것의 좋은 대안이 될 수 있는 몇 가지 다른 함수에 대해서도 배웁니다.

일반적으로 Excel 워크시트에서 의사 결정 논리를 어떻게 구현합니까? 대부분의 경우 IF 수식을 사용하여 조건을 테스트하고 조건이 충족되면 하나의 값을 반환하고 조건이 충족되지 않으면 다른 값을 반환합니다. 둘 이상의 조건을 평가하고 결과에 따라 다른 값을 반환하려면 여러 IF를 서로 중첩합니다.

매우 널리 사용되지만 중첩된 IF 문이 Excel에서 여러 조건을 확인하는 유일한 방법은 아닙니다. 이 자습서에서는 탐색할 가치가 있는 몇 가지 대안을 찾을 수 있습니다.

    Excel 중첩 IF 문

    일반적인 형식의 고전적인 Excel 중첩 IF 수식은 다음과 같습니다. :

    IF( 조건1, 결과1, IF( 조건2, 결과2, IF( 조건3, result3, result4)))

    각 후속 IF 함수가 이전 함수의 value_if_false 인수에 내장된 것을 볼 수 있습니다. 각 IF 함수는 고유한 괄호 세트로 둘러싸여 있지만 닫는 괄호는 모두 수식 끝에 있습니다.

    일반적인 중첩 IF 수식은 3가지 조건을 평가하고 4개의 다른 결과를 반환합니다(결과 4가 반환됨). 만약 어느 것도다운로드용 통합 문서

    Excel 중첩 If 문 - 예제(.xlsx 파일)

    조건은 참입니다). 인간 언어로 번역된 이 중첩된 IF 문은 Excel에 다음을 수행하도록 지시합니다>조건2, TRUE인 경우 - r esult2반환, FALSE인 경우 -

    condition3 테스트, TRUE인 경우 - result3 반환, 경우 FALSE -

    return result4

    예를 들어 판매 금액을 기준으로 여러 판매자의 수수료를 알아봅시다.

    수수료 매출
    3% $1 - $50
    5% $51 - $100
    7% $101 - $150
    10% $150 이상

    수학에서 가산의 순서를 변경해도 합계는 변경되지 않습니다. Excel에서 IF 함수의 순서를 변경하면 결과가 변경됩니다. 왜요? 중첩된 IF 수식은 첫 번째 TRUE 조건 에 해당하는 값을 반환하기 때문입니다. 따라서 중첩된 IF 문에서 올바른 방향(수식의 논리에 따라 높음에서 낮음 또는 낮음에서 높음)으로 조건을 정렬하는 것이 매우 중요합니다. 이 경우 "가장 높은" 조건을 먼저 확인한 다음 "두 번째로 높은" 조건을 확인합니다.

    =IF(B2>150, 10%, IF(B2>=101, 7%, IF(B2>=51, 5%, IF(B2>=1, 3%, ""))))

    역순으로 조건을 거꾸로 하면 1보다 큰 값에 대한 첫 번째 논리 테스트(B2>=1) 후에 공식이 중지되기 때문에 결과가 모두 잘못될 것입니다. $100가 있다고 가정해 보겠습니다.in sales - 1보다 크므로 수식은 다른 조건을 확인하지 않고 결과로 3%를 반환합니다.

    조건을 낮은 것부터 높은 것 순으로 정렬하려면 " 연산자를 사용하여 "가장 낮은" 조건을 먼저 평가한 다음 "두 번째로 낮은" 조건을 평가하는 식으로 진행합니다. 중첩된 IF 문이 끝까지 올바로 표시됩니다. Microsoft Excel에서는 하나의 수식에 최대 64개의 IF 함수를 중첩할 수 있지만 워크시트에서 실제로 수행하고 싶은 작업은 아닙니다. 따라서 귀하(또는 다른 사람)가 실제로 수행하는 작업을 파악하기 위해 Excel 중첩 IF 수식을 응시하고 있다면 전략을 재고하고 무기고에서 다른 도구를 선택해야 할 때입니다.

    자세한 정보 , Excel 중첩 IF 문을 참조하세요.

    OR/AND 조건이 있는 중첩 IF

    여러 조건의 몇 세트를 평가해야 하는 경우 OR을 사용하여 해당 조건을 표현할 수 있습니다. AND 함수, IF 문 안에 함수를 중첩한 다음 IF 문을 서로 중첩합니다.

    OR 문이 있는 Excel의 중첩 IF

    OR 함수를 사용하여 둘 이상을 확인할 수 있습니다. 각 IF 함수의 논리 테스트에서 서로 다른 조건이며 OR 인수 중 하나(적어도 하나)가 TRUE로 평가되면 TRUE를 반환합니다. 실제로 어떻게 작동하는지 확인하려면예를 들면 다음과 같습니다.

    B열에 1월 판매, C열에 2월 판매 등 두 개의 판매 열이 있다고 가정합니다. 두 열의 숫자를 확인하고 더 높은 숫자를 기준으로 수수료를 계산하려고 합니다. 즉, 다음 논리로 공식을 작성합니다. 1월 또는 2월 매출이 $150보다 크면 판매자는 10% 수수료를 받고, 1월 또는 2월 매출이 $101보다 크거나 같으면 판매자는 7% 수수료를 받습니다. , 등.

    이 작업을 수행하려면 OR(B2>150, C2>150)과 같은 몇 가지 OF 문을 작성하고 위에서 설명한 IF 함수의 논리적 테스트에 중첩합니다. 결과적으로 다음 공식을 얻게 됩니다.

    =IF(OR(B2>150, C2>150), 10%, IF(OR(B2>=101, C2>=101),7%, IF(OR(B2>=51, C2>=51), 5%, IF(OR(B2>=1, C2>=1), 3%, ""))))

    더 높은 판매 금액에 따라 수수료가 할당됩니다.

    더 많은 수식 예는 Excel IF OR 문을 참조하세요.

    AND 문이 있는 Excel의 중첩 IF

    논리 테스트에 여러 조건이 포함되어 있고 모든 조건이 TRUE로 평가되어야 하는 경우 이를 표현하세요. AND 함수를 사용합니다.

    예를 들어, 낮은 판매량을 기준으로 커미션을 할당하려면 위의 공식을 사용하여 OR을 AND 문으로 바꿉니다. 달리 말하면 1월과 2월 매출이 $150보다 크면 10%를 반환하고, 1월과 2월 매출이 $101보다 크거나 같으면 7%를 반환하도록 Excel에 지시하는 식입니다.

    =IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, ""))))

    결과적으로 중첩된 IF 공식은 커미션을 계산합니다.B열과 C열의 낮은 숫자를 기준으로 합니다. 두 열 중 하나가 비어 있으면 AND 조건이 충족되지 않기 때문에 수수료가 전혀 없습니다.

    ' d는 빈 셀 대신 0%를 반환하고 마지막 인수의 빈 문자열(''")을 0%로 바꿉니다:

    =IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, 0%))))

    자세한 내용은 여기에서 확인할 수 있습니다. 여러 AND/OR 조건이 있는 Excel IF.

    Excel

    에서 중첩 IF 대신 VLOOKUP

    "스케일"을 처리하는 경우(예: 숫자 값의 연속 범위) 전체 범위를 포괄하는 경우 대부분 중첩 IF 대신 VLOOKUP 함수를 사용할 수 있습니다.

    처음에는 아래 스크린샷과 같이 참조 테이블을 만든 다음 <로 Vlookup 수식을 작성합니다. 16>대략적인 일치 , 즉 range_lookup 인수가 TRUE로 설정됩니다.

    조회 값이 B2에 있고 참조 테이블이 F2:G5라고 가정하면 공식은 다음과 같습니다. :

    =VLOOKUP(B2,$F$2:$G$5,2,TRUE)

    절대 참조로 table_array 를 고정합니다. ($F$2:$G$5) 수식이 다른 셀에 올바르게 복사되도록 하려면:

    Vlookup 수식의 마지막 인수를 TRUE로 설정하면 Excel에 다음과 같이 지시할 수 있습니다. 가장 가까운 일치 검색 - 정확히 일치하는 항목이 없으면 조회 값보다 작은 다음으로 큰 값을 반환합니다. 결과적으로 수식은 조회 테이블의 정확한 값뿐만 아니라 모든 값과 일치합니다.사이에 있는 값.

    예를 들어 B3의 조회 값은 $95입니다. 이 숫자는 조회 테이블에 존재하지 않으며 이 경우 정확히 일치하는 Vlookup은 #N/A 오류를 반환합니다. 그러나 대략적인 일치가 포함된 Vlookup은 조회 값보다 작은 가장 가까운 값(이 예에서는 $50)을 찾을 때까지 검색을 계속하고 같은 행의 두 번째 열에서 값(5%)을 반환합니다.

    하지만 조회 값이 조회 테이블에서 가장 작은 숫자보다 작거나 조회 셀이 비어 있으면 어떻게 될까요? 이 경우 Vlookup 수식은 #N/A 오류를 반환합니다. 실제로 원하는 것이 아닌 경우 IFERROR 안에 VLOOKUP을 중첩하고 조회 값을 찾을 수 없을 때 출력할 값을 제공합니다. 예:

    =IFERROR(VLOOKUP(B2, $F$2:$G$5, 2, TRUE), "Outside range")

    중요 참고 사항! 대략적인 일치가 포함된 Vlookup 공식이 올바르게 작동하려면 조회 테이블의 첫 번째 열이 작은 것에서 큰 것까지 오름차순 으로 정렬되어야 합니다.

    자세한 내용은 완전 일치를 참조하세요. VLOOKUP 대 근사 일치 VLOOKUP.

    중첩된 IF 함수 대신 IFS 문

    Excel 2016 이상 버전에서 Microsoft는 여러 조건을 평가하는 특수 함수인 IFS 함수를 도입했습니다.

    IFS 공식은 최대 127개의 logical_test / value_if_true 쌍을 처리할 수 있으며 TRUE로 평가되는 첫 번째 논리 테스트가 "승리":

    IFS(logical_test1,value_if_true1, [logical_test2, value_if_true2]...)

    위 구문에 따라 중첩된 IF 수식을 다음과 같이 재구성할 수 있습니다.

    =IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%)

    지정된 조건이 충족되지 않으면 IFS 함수는 #N/A 오류를 반환합니다. 이를 방지하려면 수식 끝에 logical_test / value_if_true 를 하나 더 추가하여 0 또는 빈 문자열("")을 반환하거나 원하는 값이 없는 경우 원하는 값을 반환할 수 있습니다. 이전 논리 테스트는 TRUE:

    =IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%, TRUE, "")

    결과적으로 B열의 해당 셀이 다음과 같은 경우 #N/A 오류 대신 빈 문자열(빈 셀)을 반환합니다. 비어 있거나 텍스트 또는 음수를 포함합니다.

    참고. 중첩 IF와 마찬가지로 Excel의 IFS 함수는 TRUE로 평가되는 첫 번째 조건에 해당하는 값을 반환하므로 IFS 수식에서 논리 테스트의 순서가 중요합니다.

    자세한 내용은 대신 Excel IFS 함수를 참조하세요. 중첩 IF.

    Excel의 중첩 IF 수식 대신 CHOOSE

    Excel의 단일 수식 내에서 여러 조건을 테스트하는 또 다른 방법은 다음에서 값을 반환하도록 설계된 CHOOSE 함수를 사용하는 것입니다. 해당 값의 위치를 ​​기반으로 하는 목록입니다.

    샘플 데이터세트에 적용되는 수식은 다음과 같은 모양을 갖습니다.

    =CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%)

    첫 번째 인수( index_num ), 모든 조건을 평가하고 결과를 합산합니다. 주어진TRUE는 1에 해당하고 FALSE는 0에 해당하므로 반환할 값의 위치를 ​​계산합니다.

    예를 들어, B2의 값은 $150입니다. 이 값의 경우 처음 3개 조건은 TRUE이고 마지막 조건(B2> 150)은 FALSE입니다. 따라서 index_num 은 3과 같으며 3번째 값인 7%가 반환된다는 의미입니다.

    Tip. 논리 테스트 중 TRUE가 아닌 경우 index_num 은 0이고 수식은 #VALUE! 오류. 쉬운 해결 방법은 다음과 같이 IFERROR 함수에서 CHOOSE를 래핑하는 것입니다.

    =IFERROR(CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%), "")

    자세한 내용은 수식 예제가 있는 Excel CHOOSE 함수를 참조하세요.

    Excel에서 중첩된 IF의 간결한 형식인 SWITCH 함수

    스케일이 아닌 미리 정의된 고정된 값 세트를 처리하는 상황에서 SWITCH 함수는 복잡한 함수 대신 간단하게 사용할 수 있습니다. 중첩된 IF 문:

    SWITCH(expression, value1, result1, value2, result2, …, [default])

    SWITCH 함수는 values 목록에 대해 expression 을(를) 평가합니다. 첫 번째로 찾은 일치 항목에 해당하는 결과 를 반환합니다.

    판매 금액이 아닌 다음 등급을 기준으로 수수료를 계산하고 싶은 경우 이 컴팩트를 사용할 수 있습니다. Excel의 중첩된 IF 수식 버전:

    =SWITCH(C2, "A", 10%, "B", 7%, "C", 5%, "D", 3%, "")

    또는 아래 스크린샷과 같이 참조 테이블을 만들고 하드코딩된 값 대신 셀 참조를 사용할 수 있습니다.

    =SWITCH(C2, $F$2, $G$2, $F$3, $G$3, $F$4, $G$4, $F$5, $G$5, "")

    제발수식을 다른 셀에 복사할 때 변경되지 않도록 $ 기호가 있는 첫 번째 참조를 제외한 모든 참조를 잠급니다.

    참고. SWITCH 함수는 Excel 2016 이상에서만 사용할 수 있습니다.

    자세한 내용은 SWITCH 함수 - 중첩된 IF 문의 압축 형식을 참조하세요.

    Excel에서 여러 IF 함수 연결

    이전 예제에서 언급했듯이 SWITCH 함수는 Excel 2016에서만 도입되었습니다. 이전 Excel 버전에서 유사한 작업을 처리하려면 Concatenate 연산자(&) 또는 CONCATENATE 함수를 사용하여 두 개 이상의 IF 문을 결합할 수 있습니다. .

    예:

    =(IF(C2="a", 10%, "") & IF(C2="b", 7%, "") & IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1

    또는

    =CONCATENATE(IF(C2="a", 10%, ""), IF(C2="b", 7%, ""), IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1

    두 수식 모두에서 결과에 1을 곱합니다. Concatenate 수식에 의해 반환된 문자열을 숫자로 변환하기 위해 수행됩니다. 예상 출력이 텍스트이면 곱셈 연산이 필요하지 않습니다.

    자세한 내용은 Excel의 CONCATENATE 함수를 참조하세요.

    Microsoft Excel이 몇 가지 좋은 대안을 제공한다는 것을 알 수 있습니다. 중첩된 IF 수식에 대해 알아보고 이 자습서가 워크시트에서 수식을 활용하는 방법에 대한 몇 가지 단서를 제공했으면 합니다. 이 자습서에서 설명하는 예제를 자세히 살펴보려면 아래에서 샘플 통합 문서를 다운로드하십시오. 읽어 주셔서 감사합니다. 다음 주 블로그에서 뵙겠습니다!

    연습

    Michael Brown은 소프트웨어 도구를 사용하여 복잡한 프로세스를 단순화하려는 열정을 가진 열성적인 기술 애호가입니다. 기술 산업에서 10년 이상의 경험을 쌓은 그는 Microsoft Excel 및 Outlook은 물론 Google 스프레드시트 및 문서 도구에 대한 기술을 연마했습니다. Michael의 블로그는 자신의 지식과 전문 지식을 다른 사람과 공유하는 데 전념하며 따라하기 쉬운 팁과 생산성 및 효율성 향상을 위한 자습서를 제공합니다. 노련한 전문가이든 초보자이든 Michael의 블로그는 이러한 필수 소프트웨어 도구를 최대한 활용하기 위한 귀중한 통찰력과 실용적인 조언을 제공합니다.