재고 수량에 따라 충분, 보통, 부족으로 표시하거나 존 코드에 따라 구역명을 붙이는 작업은 흔하다. 처음에는 IF를 겹쳐 쓰게 되는데, 조건이 늘수록 괄호가 쌓여 수식을 읽기도 고치기도 어려워진다.
IFS와 SWITCH는 이런 겹침을 줄여 주는 함수다. 다만 둘은 쓰임새가 달라서 상황에 맞게 골라야 한다. 이 글에서는 세 함수의 구조와 선택 기준을 정리한다.
1. 세 함수의 구조
IF는 조건 하나를 검사해 참과 거짓에 따라 두 가지 결과를 돌려준다. IFS는 조건과 결과를 짝지어 여러 개 나열하고, SWITCH는 기준값이 어떤 값과 같은지에 따라 결과를 고른다.
| 함수 | 구조 | 적합한 경우 |
|---|---|---|
| IF | =IF(조건, 참일 때, 거짓일 때) | 조건이 하나이고 결과가 둘 |
| IFS | =IFS(조건1, 결과1, 조건2, 결과2, …) | 범위 조건이 여러 개 |
| SWITCH | =SWITCH(기준값, 값1, 결과1, 값2, 결과2, 기본값) | 기준값이 특정 값과 같은지 비교 |
2. 범위 조건은 IFS로
재고 수량을 등급으로 나누는 예다. IFS는 위에서부터 차례로 조건을 검사해 처음 참이 되는 조건의 결과를 돌려준다. 어느 조건에도 맞지 않으면 #N/A 오류가 나므로 마지막에 TRUE를 두어 기본값을 지정한다.
| 수량 | 수식 | 결과 |
|---|---|---|
| 120 | =IFS(C2>=100,”충분”,C2>=30,”보통”,TRUE,”부족”) | 충분 |
| 50 | 같은 수식 | 보통 |
| 10 | 같은 수식 | 부족 |
3. 값 일치는 SWITCH로
B열의 존 코드에 따라 구역명을 붙이는 경우처럼 기준값이 특정 값과 같은지만 비교할 때는 SWITCH가 간결하다. 같은 일을 IF로 쓰면 괄호가 세 개나 쌓이고, 코드가 하나 늘 때마다 수식 끝의 괄호도 함께 늘려야 한다.
| 방식 | 수식 |
|---|---|
| SWITCH | =SWITCH(B2,”A”,”1존”,”B”,”2존”,”C”,”3존”,”미분류”) |
| IF 중첩 | =IF(B2=”A”,”1존”,IF(B2=”B”,”2존”,IF(B2=”C”,”3존”,”미분류”))) |
4. AND·OR와 함께 쓰기
조건이 둘 이상 겹칠 때는 AND나 OR를 IF 안에 넣는다. 예를 들어 재고가 30 미만이면서 입고 예정이 없는 품목만 긴급으로 표시할 수 있다. 하나라도 해당되면 확인 대상으로 잡고 싶다면 OR를 쓴다.
| 함수 | 의미 | 예 |
|---|---|---|
| AND | 모든 조건이 참일 때 참 | =IF(AND(C2<30,D2=”없음”),”긴급”,”정상”) |
| OR | 하나라도 참이면 참 | =IF(OR(C2<30,D2=”지연”),”확인”,”정상”) |
5. 자주 나는 오류
조건 함수는 결과가 잘못 나와도 오류 표시 없이 엉뚱한 값을 돌려주는 경우가 많다. 아래 항목을 먼저 점검하면 대부분 원인을 찾을 수 있다.
| 증상 | 원인 | 해결 |
|---|---|---|
| #N/A가 나온다 | IFS에서 어떤 조건도 참이 아님 | 마지막에 TRUE, “기본값”을 추가한다 |
| 결과가 항상 같은 값이다 | 조건 순서가 잘못됨 | 큰 값부터 검사하도록 순서를 바꾼다 |
| 숫자 조건이 안 맞는다 | 수량이 텍스트로 저장됨 | 숫자로 변환한 뒤 비교한다 |
| SWITCH가 기본값만 나온다 | 기준값에 공백이 섞임 | TRIM으로 공백을 정리한다 |
핵심정리
- 결과가 둘이면 IF, 범위 조건이 여러 개면 IFS를 쓴다.
- 값이 정확히 같은지만 볼 때는 SWITCH가 가장 간결하다.
- IFS는 마지막에 TRUE로 기본값을 두고, 큰 값부터 검사한다.
- 조건이 겹치면 AND, OR로 묶되 너무 길어지면 보조 열로 나눈다.
다음 글에서는 중복값 제거와 TRIM, 텍스트 나누기로 데이터를 정리하는 방법을 다룬다. 막히는 수식이 있다면 댓글로 남겨 주면 예제로 다루겠다.
이 글의 표와 수식 예제에 쓰인 데이터는 설명을 위해 만든 가상 예시입니다.


