IF 함수 다중조건 완벽 가이드: AND/OR, IFS, FILTER까지 한 번에

IF 함수 다중조건 완벽 가이드: AND/OR, IFS, FILTER까지 한 번에

IF 함수 다중조건을 깔끔하게 처리하고 싶다면 이 가이드를 따라오세요. 초반 3분 Quick Fix로 즉시 적용 가능한 공식을 제시하고, 이어서 논리 원리, 실무 표 예제, 365 전용 최적화(LET/FILTER), 주의점과 Troubleshooting까지 한 번에 정리했습니다.

Quick Fix: 3분 컷 다중조건

  1. 동시에 모두 만족해야 하면 AND를 사용합니다.
    =IF(AND(A2="영업", B2>=80, C2="신규"), "보너스", "대상 아님")
  2. 하나라도 만족하면 통과면 OR을 사용합니다.
    =IF(OR(A2="VIP", B2>=100, C2="전략"), "우선 처리", "일반")
  3. 조건이 계단식(점수→등급)이면 IFS가 가장 읽기 쉽습니다(365 권장).
    =IFS(B2>=90,"A", B2>=80,"B", B2>=70,"C", TRUE, "D")
  4. 우선순위가 바뀌기 쉬운 정책이라면 LET으로 가독성/관리성 향상(365).
    =LET(점수,B2, 신규,(C2="신규"), IF(AND(점수>=85, 신규),"보너스","일반"))

팁: 수식 중간값 검증은 수식 탭 > 수식 검사 > 수식 평가 또는 부분 선택 후 F9로 즉시 확인하세요.

왜 헷갈릴까? — 논리의 원리와 우선순위

AND / OR 진리표(간단)

  • AND: 모든 조건이 TRUE일 때만 TRUE
  • OR: 조건 중 하나라도 TRUE면 TRUE

엑셀은 TRUE=1, FALSE=0 처럼 취급되는 맥락이 많습니다. 숫자·텍스트·빈값이 섞이면 예기치 않은 결과가 날 수 있어, 비교 연산자(=, >, <=)를 명시하고 공백/에러는 IFERROR, ISBLANK로 정리하세요.

중첩 IF vs. IFS vs. SWITCH

  • 중첩 IF: 범용이지만 길어지면 가독성↓, 유지보수 비용↑
  • IFS(365): 다단 조건을 위에서 아래로 읽기 쉬움
  • SWITCH(365): 한 “키값”에 여러 경우 분기일 때 깔끔

실무 예제 1: 보너스 판정(AND + OR 혼합)

시나리오: 아래 표에서 영업 부서이면서 점수 ≥ 85이고, 신규거나 전략이면 “보너스” 지급.

부서(A)점수(B)상태(C)보너스(D)
영업90신규
영업88일반
영업82전략
지원95신규
영업87전략

D2에 다음 수식을 넣고 아래로 복사:

=IF( AND(A2="영업", B2>=85, OR(C2="신규", C2="전략")), "보너스", "대상 아님")

예상 결과

  • 1행: 보너스 (영업 ∧ 90≥85 ∧ (신규∨전략))
  • 2행: 대상 아님 (상태가 일반)
  • 3행: 대상 아님 (점수가 82로 미달)
  • 4행: 대상 아님 (부서가 지원)
  • 5행: 보너스 (영업 ∧ 87≥85 ∧ 전략)

구조적 참조(테이블)로 더 깔끔하게

범위를 표로 변환: 데이터 범위 선택 → Ctrl+T → “머리글 포함” 체크.

=IF( AND([@부서]="영업", [@점수]>=85, OR([@상태]="신규", [@상태]="전략") ), "보너스","대상 아님")

LET로 유지보수성 향상(365)

=LET(
  부서,[@부서],
  점수,[@점수],
  상태,[@상태],
  IF(AND(부서="영업", 점수>=85, OR(상태="신규", 상태="전략")), "보너스","대상 아님")
)

실무 예제 2: 점수→등급 (IFS vs. 중첩 IF vs. SWITCH)

정책: 90↑=A, 80–89=B, 70–79=C, 그 외 D.

IFS(가독성 최고, 365)

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

중첩 IF(범용, 가독성은 주석/들여쓰기로 보완)

=IF(B2>=90,"A",
   IF(B2>=80,"B",
    IF(B2>=70,"C","D")))

SWITCH(구간이 아닌 ‘정확한 값’ 분기일 때)

=SWITCH(C2, "신규","N", "전략","S", "일반","G", "기타")

365 고급: IF 없이도 쉬워지는 조합

FILTER로 조건에 맞는 행만 추출

영업 & 점수≥85 & (신규∨전략)을 별도 탭으로 뽑아 모니터링:

=FILTER(A2:C100, (A2:A100="영업") * (B2:B100>=85) * ((C2:C100="신규")+(C2:C100="전략")) )

LET + FILTER: 가독성/성능/관리성 3박자

=LET(
  부서,A2:A100, 점수,B2:B100, 상태,C2:C100,
  영업여부,(부서="영업"),
  점수충족,(점수>=85),
  상태충족,(상태="신규")+(상태="전략"),
  FILTER(A2:C100, 영업여부*점수충족*상태충족)
)

대체 방법 / 주의사항 / 체크리스트

  • 빈칸/오타: 비교 전 TRIM, UPPER 등으로 표준화.
  • 에러 안전망: 최종 IF 바깥에 IFERROR( … , "" )로 출력 미관 유지.
  • 테이블(구조적 참조): 범위가 늘어나는 보고서에 필수.
  • 수식 평가(F9): 부분 범위/논리식 선택 후 F9로 중간값 검증.
  • 정책 변경 잦으면: LET, IFS, SWITCH규칙만 바꾸기 쉬운 형태로.
  • 성능: 대용량에서는 중복 계산 최소화(공통 논리 LET 변수화), 필요 시 계산 옵션 수동.

Troubleshooting

증상원인해결
조건이 맞는데 “대상 아님” 공백/오타/앞뒤 스페이스 TRIM, CLEAN 적용 또는 데이터 유효성(목록) 강제
#VALUE! / #N/A 발생 데이터형 혼재, 참조 범위 불일치 범위 길이 통일, IFERROR로 예외 처리
수식 너무 길고 관리 어려움 중첩 IF 난립 IFS / SWITCH / LET로 재작성
복사 시 참조 깨짐 절대/상대 참조 혼용 $ 고정 또는 테이블 구조적 참조 사용
필터링 보고서가 느림 중복 계산 다수 LET로 공통 논리 캐시, 365는 FILTER로 단일 추출

마무리 & 다음 추천

오늘 배운 IF 함수 다중조건의 핵심은 “AND/OR로 논리를 명시하고, IFS/LET/FILTER로 유지보수성과 가독성을 끌어올린다”입니다. 연습할 다음 주제로 아래 글을 추천합니다.

Leave a Reply

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