Excel IF function 끝까지: 중첩 64단·LET 최적화

Excel IF function을 한계까지 쓰는 법: 중첩 64단·8192자·LET·LAMBDA까지

엑셀에서 Excel IF function(엑셀 IF 함수)은 “조건 분기”의 기본입니다. 문제는 실무에서 조건이 늘어나면 수식이 급격히 길어지고, 어느 순간부터는 읽기/수정/속도가 동시에 무너진다는 점입니다. 이 글은 IF를 “끝까지” 밀어붙였을 때의 한계값, 대체 전략, 최적화까지 한 번에 정리합니다.

빠른 해결(Quick Fix): 복붙 10개 패턴

=IF(C2>=70,"PASS","FAIL")
=IF(C2="","",IF(C2>=70,"PASS","FAIL"))
=IF(ISNUMBER(SEARCH("urgent",D2)),"긴급","일반")
=IF(AND(B2="국내",E2>=50000),"무료배송","유료")
=IF(OR(D2="VIP",E2>=200000),"우선","일반")
=IFS(F2>=90,"A",F2>=80,"B",F2>=70,"C",TRUE,"D")
=SWITCH(G2,"W","WEB","S","STORE","A","APP","기타")
=IFERROR(XLOOKUP(A2,Price[Item],Price[Price]),"가격없음")
=XLOOKUP(1,(tbl[Item]=J2)*(tbl[Region]=K2),tbl[Price])
=LET(x,E2,r,B2,IF(AND(r="국내",x>=50000),"무료배송","유료"))

IF 함수 개념: 조건식과 평가 흐름

IF의 기본 구문은 =IF(logical_test, value_if_true, [value_if_false])입니다. 조건(logical_test)이 TRUE/FALSE를 만들고, 그 결과에 따라 값을 반환합니다.

다중 조건: AND·OR·NOT + 불리언 산술

AND/OR/NOT로 다중 조건을 만들 수 있고, 고급 패턴으로는 AND는 곱(*), OR는 합(+)으로 조건을 결합해 다중조건 조회 수식을 깔끔하게 만들 수 있습니다.

결과가 3개 이상이면: 중첩 IF vs IFS vs SWITCH

상황추천이유
결과 2개IF가장 직관적
구간 분류IFS위에서부터 첫 TRUE 반환
코드 매핑SWITCH짧고 읽기 쉬움
자주 바뀌는 규칙조회표 + XLOOKUP표만 수정하면 됨
수식 폭발LET/헬퍼열/LAMBDA유지보수/성능 개선

오류 처리: IFERROR/IFNA 전략

보고서에서 보기 싫다고 무조건 IFERROR로 덮으면 데이터 문제를 놓칠 수 있습니다. “예방(IF로 차단)”과 “치환(IFERROR)”을 구분하세요.

IF를 한계까지 쓰면 만나는 3가지 제한(64단·8192자·255)

  • 함수 중첩 최대 64단
  • 수식 길이 최대 8,192자
  • 함수 인수 최대 255개

실무 예제(샘플 데이터)

OrderIDRegionCustomerAmountStatusScoreChannelNote
O-001국내일반45000완료92W
O-002해외VIP20000진행81Aurgent
O-003국내VIP120000완료76S
O-004국내일반35000보류65W
O-005해외일반220000완료88A
O-006국내VIP51000완료95Wurgent
O-007국내일반8000진행55S
O-008해외VIP99000완료73W
O-009국내일반150000완료84A
O-010국내VIP30000반품60S

예제: 배송 정책(국내 + 50,000 이상 = 무료배송)

=IF(AND(B2="국내",D2>=50000),"무료배송","유료")

예제: 우선 처리(VIP 또는 200,000 이상 또는 urgent 포함)

=IF(OR(C2="VIP",D2>=200000,ISNUMBER(SEARCH("urgent",H2))),"우선","일반")

예제: 등급(IFS 권장)

=IFS(F2>=90,"A",F2>=80,"B",F2>=70,"C",TRUE,"D")

예제: 채널 라벨링(SWITCH)

=SWITCH(G2,"W","WEB","S","STORE","A","APP","기타")

LET로 리팩터링(가독성+속도)

=LET(st,E2,IF(st="반품","⚠ 반품건",IF(st="보류","보류",IF(st="완료","OK","진행중"))))

자주 쓰는 내부 링크(ExcelJump)

맺음말

IF를 한계까지 쓰면 결국 승부는 구조(IFS/SWITCH/조회표/LET/LAMBDA)에서 납니다. 오늘 글의 샘플 표로 예제를 먼저 재현해 보세요.

Leave a Reply

Your email address will not be published. Required fields are marked *