엑셀 IFS·SWITCH: 주문 상태와 금액 구간을 나눠 검산하기

주문표에서 IF를 계속 겹쳐 쓰다 보면 같은 주문이 어떤 날에는 ‘진행중’, 어떤 날에는 ‘문제처리’로 분류되는 이유를 찾기 어려워집니다. 함수 이름만 바꾸기 전에 질문을 둘로 나누는 편이 낫습니다. 주문 상태는 정해진 단어와 일치하는가, 금액은 어느 구간에 들어가는가? 앞의 질문을 SWITCH, 뒤의 질문을 IFS로 처리한 뒤, 서로 다른 두 결과가 맞는지 주문 8건으로 검산합니다.

준비물은 IFS와 SWITCH를 실행할 수 있는 엑셀(Excel), 빈 통합 문서, 아래의 가상 주문표입니다. 실제 고객 이름·연락처·결제 정보는 필요하지 않습니다. 마지막에는 원본 주문 열을 그대로 둔 채 처리 상태와 금액 구간을 자동으로 채우고, 경계값이나 빈 상태가 들어왔을 때 어디를 고쳐야 하는지 판단할 수 있게 됩니다.

먼저 정할 것: 상태와 금액은 다른 판단이다

주문취소인데 금액이 크다는 이유로 정상 처리 목록에 넣으면 안 됩니다. 반대로 결제완료라는 상태만으로 어느 금액 구간에 속하는지 알 수도 없습니다. 이 예제에서는 D열에 처리 상태, E열에 금액 구간을 따로 둡니다. E열의 VIP·골드 같은 이름은 연습용 금액 구간 라벨일 뿐 실제 고객 등급이나 지급 자격을 뜻하지 않습니다. 취소·반품 주문에도 구간은 계산되지만, 그 결과를 그대로 혜택 지급에 사용하지 않는 것이 이 표의 전제입니다.

가상 주문1006의 반품처리중 상태는 SWITCH로 문제처리, 금액150,000은 IFS로VIP를 기대하며 두 판단을 분리하는 도해
설명용 도해: 주문1006의 B7 반품처리중은 D7 문제처리, C7 150,000은 E7 VIP를 기대합니다. VIP는 가상 연습용 금액 구간이며 실제 고객 등급이나 혜택 지급 판단이 아닙니다. 설명용 도해로 실제 Excel 실행 화면이 아닙니다.

주제 개요와 전체 흐름

판단 대상 입력 예 적용할 방식 먼저 확인할 점
상태 단어 결제완료, 배송중 SWITCH로 값 일치 여부 비교 원본 단어와 비교 문자열이 같은가
금액 구간 120000, 55000 IFS로 큰 기준부터 조건 평가 경계값을 어느 구간에 포함하는가
예외 입력 빈 상태, 새로운 상태 기본 결과로 확인필요 표시 담당자가 확인할 행이 남는가

SWITCH는 비교할 값과 대응 결과를 나란히 놓습니다. IFS는 조건과 결과를 나란히 놓고 처음 참인 조건의 결과를 돌려줍니다. 이 차이는 Microsoft IFS 함수 설명과 Microsoft SWITCH 함수 설명에서 확인할 수 있습니다. 함수를 바꾼다고 계산 속도가 반드시 빨라지는 것은 아니며, 여기서는 분기 규칙을 읽고 수정하기 쉬운 형태로 분리하는 것을 목표로 합니다.

1. 원본 주문 8건을 A1부터 입력하기

새 시트 이름을 Orders로 지정하고 A1:C9에 다음 값을 입력합니다. A열은 주문ID, B열은 상태, C열은 금액입니다. 표의 ‘빈칸’은 그 글자를 입력하라는 뜻이 아니라 B8을 비워 두라는 뜻입니다. 금액은 120000처럼 숫자로 입력합니다. 120000원처럼 단위를 붙인 문자열은 이 실습의 입력 형식이 아닙니다.

Orders의 가상 주문1001~1008 여덟 건에서 원본 상태·금액과 처리 상태·금액 구간의 독립 기대값을 나란히 보여 주는 표
설명용 도해: 원본 주문8건의 상태와 금액을 별도 결과로 대조합니다.1007의 상태는 문자 빈칸이 아닌 실제 빈 셀이며 확인필요·골드를 기대합니다. 모든 결과는 가상 데이터의 설명용 기대값이며 실제 앱 실행 증빙은 아닙니다.

단계별 실행 절차

주문ID 상태 금액
1001 결제완료 120000
1002 배송중 55000
1003 주문취소 30000
1004 배송완료 250000
1005 결제대기 80000
1006 반품처리중 150000
1007 빈칸 70000
1008 배송중 10000

D1에는 처리상태, E1에는 금액구간을 적습니다. 입력 열과 계산 열을 나누면 잘못된 결과가 나왔을 때 B·C열의 원본을 보존하면서 D·E열 수식만 고칠 수 있습니다. 실습을 기존 업무 파일에 적용할 때도 원본 열에 결과를 덮어쓰지 말고 옆에 새 열을 만드는 이유입니다.

정해 둔 처리 규칙은 결제완료·배송중을 진행중, 배송완료를 완료, 주문취소·반품처리중을 문제처리, 결제대기를 대기중으로 묶는 것입니다. 목록에 없는 상태는 확인필요로 남깁니다. 예를 들어 ‘교환접수’가 새로 들어와도 임의로 진행중에 포함하지 않고 규칙을 추가해야 한다는 신호를 남길 수 있습니다.

2. SWITCH로 처리 상태를 한 열에 모으기

D2에 아래 수식을 넣고 D9까지 채웁니다. 비교할 값 B2를 맨 앞에 한 번 쓰고, 그 뒤에는 ‘원본 상태, 돌려줄 결과’의 쌍을 이어 붙입니다. 마지막 "확인필요"는 어느 상태와도 일치하지 않았을 때 사용할 기본 결과입니다.

금액0부터250,000까지 열 가지 경계 기대 구간과 큰 기준부터 평가하는IFS 순서, 빈 상태의 확인필요 및 독립 정답 열 보존을 정리한 도해
설명용 도해: Boundaries의10개 입력은 일반·실버·골드·VIP·VVIP 경계 포함 여부를 검사합니다.200,000을10000이상부터 검사하면 실버로 잘못 분류됩니다.Orders D8의확인필요는 의도된 상태이며 정답F·G열은 결과D·E열과 독립적으로 보존합니다. 가상 기대값 도해입니다.

점검 체크리스트

=SWITCH(B2,"결제완료","진행중","배송중","진행중","배송완료","완료","주문취소","문제처리","반품처리중","문제처리","결제대기","대기중","확인필요")

첫 주문의 B2는 결제완료이므로 D2의 예상 결과는 진행중입니다. B5는 배송완료이므로 D5는 완료, 빈 상태인 B8은 어느 문자열과도 같지 않으므로 D8은 확인필요가 됩니다. 수식을 아래로 채운 뒤 D8을 선택해 참조가 B2에 고정되지 않고 B8로 바뀌었는지도 확인합니다. 모든 행이 진행중으로 나오면 상태 값보다 먼저 셀 참조를 살펴볼 필요가 있습니다.

이 수식에는 >= 같은 범위 조건을 넣지 않았습니다. SWITCH의 첫 인수가 하나의 상태 문자열이기 때문입니다. SWITCH(TRUE, 조건, 결과,...)처럼 쓰는 방법도 있지만, 이 예제에서는 상태 매핑과 금액 구간을 구분해 읽을 수 있도록 범위 판단을 IFS에 맡깁니다. 함수 하나로 모든 판단을 몰아넣는 것이 목적은 아닙니다.

3. IFS는 큰 금액 기준부터 내려오기

금액 규칙은 200000 이상 VVIP, 100000 이상 VIP, 50000 이상 골드, 10000 이상 실버, 나머지 일반으로 정합니다. 이 기준은 가상 실습용이며 어떤 회사의 실제 운영 규정도 아닙니다. E2에 아래 수식을 입력하고 E9까지 채웁니다.

=IFS(C2>=200000,"VVIP",C2>=100000,"VIP",C2>=50000,"골드",C2>=10000,"실버",TRUE,"일반")

C2의 120000은 첫 조건에서는 거짓, 두 번째 조건에서는 참입니다. 따라서 E2는 VIP입니다. 뒤의 50000 이상 조건도 참이지만 이미 앞에서 결과가 결정됐으므로 골드로 바뀌지 않습니다. 이 점이 기준 순서를 지켜야 하는 이유입니다. 만약 10000 이상을 앞에 놓으면 250000도 그 첫 조건에서 참이 되어 실버로 분류됩니다.

끝의 TRUE,"일반"은 앞 조건이 모두 거짓일 때의 결과를 명시합니다. 기본 결과가 없으면 어느 조건도 맞지 않는 입력에서 #N/A가 생길 수 있습니다. 그렇다고 잘못된 입력을 모두 일반으로 받아도 된다는 뜻은 아닙니다. 음수·빈 금액·문자가 섞인 금액은 먼저 원본을 정리할 대상입니다. 이 글의 정상 입력 범위는 0 이상의 숫자 금액이며, 범위를 벗어난 값에 대한 업무 판단까지 위 수식이 대신하지는 않습니다.

4. 기대값과 실제 결과를 나란히 비교하기

F1에는 기대상태, G1에는 기대구간, H1에는 검산을 적습니다. F·G열은 아래 표를 보고 직접 입력하는 정답 열입니다. D·E열을 복사해서 기대값을 만들면 잘못된 수식 결과까지 정답으로 복제하게 되므로 검산이 되지 않습니다.

행 주문ID F열 기대상태 G열 기대구간
2 1001 진행중 VIP
3 1002 진행중 골드
4 1003 문제처리 실버
5 1004 완료 VVIP
6 1005 대기중 골드
7 1006 문제처리 VIP
8 1007 확인필요 골드
9 1008 진행중 실버

H2에 =IF(AND(D2=F2,E2=G2),"일치","확인")를 넣고 H9까지 채웁니다. 초기 데이터의 합격 조건은 H2:H9가 모두 일치이며, 특히 D8의 확인필요도 의도된 정상 결과입니다. ‘확인필요’라는 상태와 ‘검산 실패’는 구분해야 합니다. 입력에 없는 상태가 들어왔다는 사실을 수식이 정확히 드러냈다면 처리 규칙대로 동작한 것입니다.

불일치가 나오면 H열만 보지 말고 같은 행의 B·C·D·E·F·G를 순서대로 대조합니다. B열이 예상한 상태인가, C열이 숫자인가, D·E가 같은 행을 참조하는가, 마지막으로 F·G의 기대값을 잘못 적지는 않았는가를 확인합니다. 수식 문제인지 정답 표 입력 문제인지 분리하면 멀쩡한 규칙을 다시 고치는 일을 줄일 수 있습니다.

5. 경계값과 잘못된 순서를 일부러 시험하기

정상 주문 8건만으로는 >와 >=를 혼동한 수식을 찾기 어렵습니다. 새 시트 Boundaries에 아래 금액과 기대구간을 입력하고 동일한 IFS 구간식을 적용합니다. 다운로드 파일에서는 A열이 금액, B열이 수식 결과, C열이 기대값, D열이 검산입니다. 따라서 이 시트의 수식은 C2가 아니라 A2를 참조합니다.

입력 금액 기대구간 이 값으로 확인하는 것
0 일반 마지막 기본 결과
9999 일반 첫 경계 바로 아래
10000 실버 첫 경계를 포함하는지
49999 실버 다음 경계 바로 아래
50000 골드 골드 시작점
99999 골드 VIP 경계 바로 아래
100000 VIP VIP 시작점
199999 VIP VVIP 경계 바로 아래
200000 VVIP VVIP 시작점
250000 VVIP 최상위 구간 내부

Boundaries의 B2에 =IFS(A2>=200000,"VVIP",A2>=100000,"VIP",A2>=50000,"골드",A2>=10000,"실버",TRUE,"일반")을 넣어 B11까지 채웁니다. D2에는 =IF(B2=C2,"일치","확인")을 넣고 D11까지 채웁니다. 초기 데이터에서는 D2:D11의 10칸이 모두 일치여야 합니다.

실패를 재현하려면 사본에서 첫 조건을 A2>=10000,"실버"로 옮겨 보세요. 200000 행이 실버로 바뀌고 기대값 VVIP와 어긋나는 것을 확인할 수 있습니다. 복구할 때는 큰 기준인 200000부터 내려오는 순서로 되돌린 뒤 10개 경계값을 다시 비교합니다. 특정 금액 하나가 맞는지만 보는 대신 전체 경계 표가 다시 일치하는지 확인하는 것이 완료 조건입니다.

6. 성적 구간에도 같은 원리를 적용해 보기

금액 대신 점수를 쓰더라도 조건의 우선순위 원리는 같습니다. Grades 시트 A1:C6에 점수·계산등급·기대등급 열을 만들고 점수 95, 82, 77, 65, 50을 입력합니다. 예상 결과는 순서대로 A, B, C, D, F입니다. B2에는 =IFS(A2>=90,"A",A2>=80,"B",A2>=70,"C",A2>=60,"D",TRUE,"F")를 넣습니다. 이 예에서는 점수 열이 A이므로 주문표의 C열 참조를 그대로 가져오면 안 됩니다.

95를 넣었는데 D가 나오면 60 이상 조건을 맨 앞에 두었는지 살펴보세요. 95는 60 이상이기도 하므로 IFS 입장에서는 첫 참 조건을 제대로 반환한 것입니다. 고칠 부분은 함수 자체가 아니라 작성한 규칙의 순서입니다. 반대로 50에서 #N/A가 나오면 마지막 TRUE·F 쌍이 빠졌는지 확인합니다. 다운로드 파일의 Grades 시트에도 기대값과 비교하는 검산 열이 있어 주문 예제와 같은 방식으로 확인할 수 있습니다.

7. 업무 표로 옮기기 전에 실패 경로를 남기기

새 상태가 등장하는 경우를 먼저 시험합니다. Orders의 사본에서 B3을 교환접수로 바꾸면 D3은 확인필요가 되어야 합니다. 어떤 처리 상태로 묶을지 운영 규칙이 정해진 뒤에만 SWITCH에 새 쌍을 추가하세요. 규칙이 아직 없는데 기본 결과를 진행중으로 바꾸면 미정 상태가 정상 주문에 섞여 누락을 찾기 어려워집니다. 시험 후에는 B3을 배송중으로 복구하고 H3의 일치를 확인합니다.

입력 공백도 별도로 다룹니다. B2가 화면상 결제완료처럼 보이는데 결과가 다르면 수식 입력줄에서 앞뒤 공백을 확인하고 원본 값과 비교 문자열을 맞춥니다. 보이지 않는 문자까지 모두 같은 종류의 공백이라고 단정하지 말고, 원본을 보존한 사본에서 한 행씩 정상 문자열로 교체해 원인을 좁히세요. 여러 시스템에서 가져온 상태를 통일하는 작업과 SWITCH 분류는 구분해 진행하는 편이 추적하기 쉽습니다.

수식 이름을 인식하지 못하거나 계산 대신 오류가 표시되면 이용 중인 Excel에서 해당 함수가 지원되는지 공식 문서의 적용 대상부터 확인합니다. 함수가 지원되지 않는 환경에서는 중첩 IF를 유지하거나 지원되는 다른 매핑 방식으로 설계해야 합니다. 수식이 입력되지 않을 때는 지역 설정에 따른 인수 구분자, 큰따옴표, 복사 과정에서 빠진 괄호도 확인합니다. 이런 입력 문제를 정상적인 미분류 결과와 같은 값으로 덮어두지 않습니다.

처리 규칙이 자주 바뀌거나 수십 개 상태로 늘어나면 수식 안의 긴 대응 목록을 여러 사람이 직접 수정하는 방식은 부담이 됩니다. 그때는 상태와 결과를 별도 기준표로 관리하는 조회 방식도 검토할 수 있습니다. 여기의 SWITCH는 작고 명확한 목록을 보여 주는 예제이지 모든 크기의 주문 시스템을 대신하는 설계가 아닙니다. 기본 문법은 중첩 IF를 IFS·SWITCH로 나누는 설명을, 기존 수식의 오류를 찾을 때는 빈칸·문자·경계값으로 중첩 IF를 검산하는 방법을 함께 참고할 수 있습니다. 이 글에서 추가한 부분은 주문 8건과 경계값 10건, 성적 5건의 독립된 기대값으로 실제 결과를 검산하는 절차입니다.

오늘 바꿀 범위는 계산 열 두 개부터

기존 업무표 전체를 한 번에 바꾸지 말고 주문 8건을 넣은 사본에서 D·E열을 완성하세요. 초기 합격 기준은 Orders 8건, Boundaries 10건, Grades 5건의 검산이 모두 일치하는 것입니다. 다음으로 상태 변경과 조건 순서 오류를 한 번씩 재현하고, 원래 데이터와 수식으로 복구했을 때 같은 검산 결과가 돌아오는지 확인합니다. 그 후 원본의 작은 범위와 결과를 대조해 적용 범위를 넓힐 수 있습니다.

금액 구간 기준을 바꾸었다면 수식뿐 아니라 기대값도 새 규칙에 맞게 검토해야 합니다. 단, 기대값을 계산 결과에 맞춰 기계적으로 덮어쓰지는 마세요. 먼저 바뀐 규칙을 종이에 적거나 별도 표로 확정한 뒤, 그 규칙에서 기대값을 만들고 수식 결과와 비교합니다. 이렇게 해야 함수가 길어졌는지가 아니라 정한 업무 규칙을 정확히 실행하는지를 기준으로 수정 완료를 판단할 수 있습니다.

출처 원문 수집일: S1 2026-09-23; S2 2026-09-23.

작성자 소개