
IF 함수 다중조건, 이 글 하나면 끝 (AND/OR/IFS, XLOOKUP/FILTER 연계)
IF 함수 다중조건은 AND/OR를 섞고 텍스트·숫자·날짜를 함께 분기할 때 가장 자주 막히는 주제입니다. 이 글은 초보자도 실무에 즉시 적용하도록 복붙용 정답 수식 → 원리 → 대체/최적화 → 트러블슈팅 순으로 정리했습니다.
빠른 해결(Quick Fix)
=IF(AND(A2="완료", B2>=90), "통과", "재검")
=IF(OR(C2="긴급", D2>1000000), "OK", "대기")
=IFS(E2>=90,"A", E2>=80,"B", E2>=70,"C", TRUE,"D")
=IF(AND(F2="국내", G2>=50000), "무료배송", "유료")
=IFERROR(IF(AND(H2<>"", I2<>""), IF(H2>I2,"상승","하락"), ""), "")
=XLOOKUP(1, (제품=K2)*(지역=L2), 가격)
왜 헷갈리나? (개념·원리)
논리연산과 TRUE/FALSE
AND/OR/NOT의 결과(TRUE/FALSE)를 IF(논리식, 참, 거짓)에 넣습니다.
중첩 IF vs IFS vs SWITCH
- 중첩 IF: 결과가 3개 이상이면 가독성 저하
- IFS: 위에서부터 순차평가로 등급/구간 분류에 유리
- SWITCH: 하나의 식 대비 여러 후보 분기
실무 예제 (샘플 데이터·수식)
| 주문ID | 지역 | 제품 | 수량 | 금액 | 상태 | 점수 | 주문일 |
|---|---|---|---|---|---|---|---|
| O-001 | 국내 | A | 3 | 45000 | 완료 | 92 | 2025-08-01 |
| O-002 | 해외 | B | 1 | 20000 | 진행 | 81 | 2025-08-03 |
| O-003 | 국내 | B | 6 | 120000 | 완료 | 76 | 2025-09-10 |
| O-004 | 국내 | C | 2 | 35000 | 보류 | 65 | 2025-09-21 |
국내 + 금액 ≥ 50,000 ⇒ 무료배송
=IF(AND(B2="국내", E2>=50000), "무료배송", "유료")
긴급(OR) 또는 고액 주문 ⇒ 우선 처리
=IF(OR(G2="긴급", E2>1000000), "우선", "일반")
점수로 등급(IFS 권장)
=IFS(F2>=90,"A", F2>=80,"B", F2>=70,"C", TRUE,"D")
날짜 분기(주말 주문이면 월요일 출고)
=IF(OR(WEEKDAY(H2,2)=6, WEEKDAY(H2,2)=7), "월요일 출고", "당일/익일")
다중조건 조회(XLOOKUP)
=XLOOKUP(1, (tblPrice[제품]=C2)*(tblPrice[지역]=B2), tblPrice[가격])
다중결과(FILTER)
=FILTER(A2:H5, B2:B5="국내", "없음")
대체 방법/최적화/주의사항
- COUNTIFS/SUMIFS로 IF를 줄여 가독성·속도 개선
- LET으로 반복 참조/계산을 변수화
- 다중조건 조회는 가능하면 XLOOKUP/FILTER로 치환
Troubleshooting
| 증상 | 원인 | 해결법 |
|---|---|---|
| #VALUE!/#N/A | 빈 셀·형식 혼합 | IFERROR/IFNA로 감싸고, 형식 통일 |
| 괄호 과다 | 중첩 IF 남용 | IFS/SWITCH/LET로 치환 |
| 느린 계산 | 중복 계산 | LET로 중복 제거, 테이블 참조 |
| 여러 행 추출 불가 | IF는 단일값 | FILTER 사용 |
| 좌/우 조회 제약 | VLOOKUP 한계 | XLOOKUP 전환 |
관련 글
- XLOOKUP 다중조건 완전정복
- FILTER로 자동 보고서 만들기
- 엑셀 테이블 기본과 명명 범위
- 데이터 유효성검사(리스트)로 선택 UI 만들기
- VLOOKUP 오류 총정리와 IFERROR
읽어주셔서 감사합니다. 유용했다면 북마크/구독 부탁드려요!