IF 함수 다중조건 완벽 가이드|AND·OR·IFS, XLOOKUP·FILTER 실무 예제

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국내A345000완료922025-08-01
O-002해외B120000진행812025-08-03
O-003국내B6120000완료762025-09-10
O-004국내C235000보류652025-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 전환

관련 글

읽어주셔서 감사합니다. 유용했다면 북마크/구독 부탁드려요!

Leave a Reply

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