엑셀 IF 재고 판정: 0·빈칸·텍스트 입력을 구분하기
재고표의 빈칸은 아직 세지 않은 수량일 수 있습니다. 이를 숫자 0과 같은 뜻으로 처리하면 입력 누락이 재주문 목록에 섞입니다. 여기서는 원래 예제의 SKU 다섯 행을 유지하면서, 단순 비교와 빈칸 우선 비교의 차이를 먼저 확인합니다. 이어서 숫자처럼 보이는 텍스트와 오류를 분리합니다. 결과물은 재고IF검산, 입력형식, 품목기준 시트가 있는 실습 통합문서입니다.
예제의 SKU와 수량은 모두 가상입니다. 실제 발주 시스템과 연결하지 않으며 재주문은 이 연습의 조건부 표시에 불과합니다. 음수 재고를 정상 재고로 승인하거나 자동 주문하는 기능도 없습니다. Microsoft Excel 앱을 실행해 얻은 실적이 아니라, 저장된 수식을 LibreOffice에서 재계산하고 Python으로 조건과 기대값을 별도 검산한 자료입니다.
1. 원본 다섯 행을 바꾸지 않고 두 판정 열 만들기
첨부의 재고IF검산 A1:H6을 엽니다. 가상 실습표 재고IF검산!A1:H6을 직접 만들 때는 A열에 SKU, B열에 현재고를 입력하고 C:D를 계산 열, E:F를 고정 기대값, G:H를 대조 열로 둡니다. B6은 공백 문자나 수식 없이 실제로 비워 둡니다.
| 행 | SKU | B 현재고 | C 기대값 | D 기대값 |
|---|---|---|---|---|
| 2 | S-01 | 4 | 유지 | 유지 |
| 3 | S-02 | 0 | 재주문 | 재주문 |
| 4 | S-03 | 2 | 유지 | 유지 |
| 5 | S-04 | -1 | 재주문 | 재주문 |
| 6 | S-05 | 실제 빈 셀 | 재주문 | 입력 필요 |

C2에 다음 수식을 넣고 C6까지 채웁니다. 이 식은 0 이하인가만 묻기 때문에 입력이 비었는지 별도로 검사하지 않습니다. 가상 표에서는 C3·C5·C6이 재주문이며 B9의 집계 결과가 3입니다.
=IF(B2<=0,"재주문","유지")
IF는 조건이 참일 때와 거짓일 때 서로 다른 결과를 반환합니다. 이 기능 설명과 실제 발주 기준은 구분해야 합니다. 식이 계산된다는 사실만으로 빈칸을 0으로 취급하는 업무 규칙이 옳아지지는 않습니다.

2. 빈칸 검사를 먼저 두고 숫자 0을 남기기
D2에는 아래 수식을 넣고 D6까지 채웁니다. 먼저 B2=""를 검사한 다음, 값이 있을 때만 0 이하 비교를 합니다.
=IF(B2="","입력 필요",IF(B2<=0,"재주문","유지"))
초기 다섯 행에서는 D3·D5만 재주문, D6은 입력 필요입니다. B10의 D 재주문 수는 2, B11의 D 입력 필요 수는 1입니다. 숫자 0을 지우는 것이 아니라, 아직 입력하지 않은 상태를 별도 결과로 남긴 것입니다. 문자열 ""와의 비교로 빈 입력을 먼저 처리하는 방법은 Microsoft의 빈 셀 확인 문서에도 설명되어 있습니다.
E2:F6의 기대값은 계산 열을 복사해서 만든 값이 아닙니다. 위 표에 적은 정답을 따로 입력해 두었습니다. G2에는 다음 식, H2에는 C·E 대신 D·F를 비교하는 식을 넣어 각각 6행까지 채웁니다. G2:H6이 모두 일치이고 B12:B13의 확인 건수가 각각 0이어야 초기 입력과 공식이 맞습니다.
=IFERROR(IF(C2=E2,"일치","확인"),"확인")
이 대조 열의 IFERROR는 오류를 정상값으로 바꾸지 않습니다. 계산 오류도 확인으로 남겨 사람이 멈춰 볼 수 있게 합니다. 업무 결과에 쓰는 수식과 연습 정답을 검사하는 수식의 역할이 다릅니다.
3. 한 셀을 바꾼 뒤 정답 표와 어긋나는지 확인하기
사본에서 B3을 0에서 1로 바꿉니다. C3·D3은 둘 다 유지가 되고, 기존 기대값을 보존한 G3·H3은 확인이 됩니다. 계산이 잘 바뀌었어도 이 연습의 고정 정답과는 달라졌다는 뜻입니다. 기대값까지 같이 바꾸면 이 변형 검사를 할 수 없습니다. B3을 다시 0으로 돌리면 C3·D3은 재주문, G3·H3은 일치로 돌아와야 합니다.
B6에 숫자 0을 입력하면 D6이 재주문으로 바뀌고 H6은 확인입니다. B6의 내용만 지우면 D6은 입력 필요, H6은 일치로 복구됩니다. 행 전체나 기대값 열을 삭제하지 마세요. 입력과 기준을 같이 지우면 무엇을 복구해야 하는지 알 수 없습니다.

4. 숫자처럼 보이는 값까지 정수 재고로 인정하지 않기
입력형식 시트에는 같은 비교식을 더 넓은 입력에 적용하기 위한 열 가지 반례가 있습니다. 이 연습은 낱개 수량을 세므로 정수만 허용합니다. 무게나 길이처럼 소수 수량이 정상인 재고표에는 이 정수 규칙을 그대로 적용하지 않습니다.
C2에 저장한 전체 수식은 아래와 같습니다. C11까지 같은 상대 참조로 채워져 있습니다. 빈 입력, 논리값 제외, 숫자 여부, 정수 여부, 재주문 조건 순으로 나누고 원본 오류는 마지막에 별도로 표시합니다.
=IFERROR(IF(B2="","입력 필요",IF(ISLOGICAL(B2),"숫자 확인",IF(ISNUMBER(B2),IF(MOD(B2,1)=0,IF(B2<=0,"재주문","유지"),"정수 확인"),"숫자 확인"))),"원본 오류")
| B 입력 | C 기대값 | 확인할 차이 |
|---|---|---|
| 실제 빈 셀 | 입력 필요 | 수량을 아직 적지 않음 |
| 숫자 0 | 재주문 | 입력된 영 재고 |
| 숫자 4 | 유지 | 양의 정수 |
| 숫자 -1 | 재주문 | 음수 원인도 별도 조사 |
텍스트 0 |
숫자 확인 | 숫자와 모양만 같음 |
| 공백 한 칸 | 숫자 확인 | 빈 셀과 다름 |
| 숫자 1.5 | 정수 확인 | 이 실습의 정수 범위 밖 |
=""의 결과 |
입력 필요 | 화면은 비지만 수식이 있음 |
=NA()의 결과 |
원본 오류 | 오류를 0으로 바꾸지 않음 |
=TRUE()의 결과 |
숫자 확인 | 논리값은 수량으로 받지 않음 |
ISNUMBER는 값이 숫자인지 검사하며 텍스트 숫자를 자동으로 숫자로 바꾸지 않습니다. 이 때문에 B6의 텍스트 0은 숫자 확인으로 남습니다. 자동 변환보다 원래 입력의 잘못을 찾는 편이 이 연습의 목적에 맞습니다. 실제 자료에서 변환이 필요하다면 원본을 보존한 보조 열에서 변환한 뒤 변환 실패 건수를 따로 확인합니다.
F열은 =AND(ISNUMBER(B2),NOT(ISLOGICAL(B2)))를 내려 채워 논리값을 제외한 숫자 여부를 확인합니다. 첨부의 논리값은 =TRUE()로 넣어 논리형임을 명시했습니다. 숫자 1과 논리값을 같은 재고 입력으로 받지 않도록 판정식에서도 ISLOGICAL로 먼저 제외합니다. G열은 실제 빈 셀 여부입니다. 입력형식!G2는 TRUE지만 빈 문자열 수식이 있는 G9는 FALSE입니다. ISBLANK는 실제 빈 셀을 참으로 반환합니다. 따라서 화면에 아무것도 안 보인다는 이유만으로 그 셀에 수식도 없다고 판단하지 마세요. E2:E11이 모두 일치이고 B13이 0인지 확인합니다. 원본 오류 예제 B10의 #N/A는 의도된 입력이며, C10의 합격 표시는 원본 오류입니다.
5. 품목마다 기준이 다른 경우는 별도 열로 두기
모든 SKU의 기준이 0은 아닐 수 있습니다. 품목기준에는 가상 입력 T-01의 현재고/기준 4/5, T-02의 0/0, T-03의 2/1을 넣었습니다. D2의 식은 다음과 같고 D4까지 채웁니다.
=IF(B2<=C2,"재주문","유지")
결과는 순서대로 재주문·재주문·유지입니다. 기준을 수식 안에 숨기지 않아 어떤 수량과 비교했는지 볼 수 있습니다. 이 시트는 B:C가 유효한 숫자라는 전제만 보여 줍니다. 입력형식 시트의 검증을 두 열에 모두 적용한 완성 재고 시스템은 아닙니다. 기준이 누락되거나 소수 허용 여부가 정해지지 않았다면 계산 결과로 발주하지 말고 기준부터 확인합니다.

6. 다른 결과가 나오면 입력과 참조부터 복구하기
빈칸이 재주문으로 보인다면 C열과 D열 중 어디를 읽었는지 확인합니다. D6도 재주문이라면 B6의 내용이나 D6 참조가 달라졌는지 수식 입력줄에서 대조합니다. 텍스트 0이 재주문으로 나오는 경우에는 입력형식 C열의 전체 검증식 대신 기본식을 복사했는지 확인하세요. 수식을 고친 뒤 고정 기대값 D열과 E열의 대조가 다시 일치하는지 봅니다.
소수를 허용하는 실제 업무라면 정수 확인을 무시하지 말고 먼저 단위를 확정합니다. 낱개가 아닌 kg 단위라면 허용 소수 자릿수와 반올림 규칙을 정한 별도 사본이 필요합니다. 또한 가상 실습표 재고IF검산!D5의 음수 재고 분류는 입출고 누락, 반품, 재고 조정의 원인을 설명하지 않습니다. 원인을 확인하기 전에는 자동 주문으로 연결하지 않습니다.
첨부의 Python 검산은 다섯 행 결과, 열 가지 입력, 품목 기준, 변형 후 복구를 독립 계산하고 실제 XLSX에 저장된 수식·입력·계산 캐시를 대조합니다. Microsoft Excel의 실제 UI, 지역 설정에 따른 입력 방법, 실시간 발주 연동은 실행하지 않았습니다. 자신의 Excel에서 수식과 입력을 다시 확인할 때도 업무 원본 대신 이 가상 사본을 사용하세요.
본문과 같은 입력으로 연습하기
실습 XLSX에는 본문에서 지정한 셀과 수식이 들어 있습니다. 검산 자료 ZIP에는 같은 XLSX와 입력·수식 CSV, 실습 설명, README 및 오프라인 Python 검산 코드가 있습니다. 원본 업무 파일을 덮어쓰지 말고 사본으로 연습하세요. Microsoft Excel 앱의 실제 실행 결과로 제공하는 파일은 아닙니다.
공식 자료
IF function | Microsoft Support
IS functions | Microsoft Support
출처 원문 수집일: S1 2026-09-24; S2 2026-09-24.