IF AND OR 주문 4행 검산: 출고와 알림 조건 구분하기

결제만 확인된 주문은 출고해도 될까요? 주소 확인이 없어도 알림 목록에는 올릴 수 있을까요? 두 질문의 조건이 다르면 같은 수식으로 처리해서는 안 됩니다. 이 실습에서는 둘 다 예일 때의 AND 출고와, 하나라도 예일 때의 OR 알림을 네 주문으로 나란히 비교합니다.

출고·알림은 가상 판정 문구입니다. 실제 물류 시스템을 호출하거나 고객에게 메시지를 보내지 않습니다. 첨부 주문 시트에는 원본 두 조건, 입력 검사, 두 판정, 고정 기대값과 대조가 있으며, 빈칸이나 철자 오류를 정상적인 아니오와 구분합니다.

네 가상 주문의 결제와 주소 조합에서 AND 출고와 OR 알림의 기대값을 비교한 도해
설명용 도해: 네 가상 주문의 결제와 주소 조합에서 AND 출고와 OR 알림의 기대값을 비교한 도해. 출고와 알림은 가상 판정 문구이며 실제 시스템 실행이나 고객 메시지 전송 결과가 아닙니다.

네 주문은 두 조건의 조합을 모두 포함합니다

행 주문 A 결제 B 주소 C AND 출고 기대 G OR 알림 기대 H
2 P-01 예 예 출고 알림
3 P-02 예 아니오 보류 알림
4 P-03 아니오 예 보류 알림
5 P-04 아니오 아니오 보류 대기

P-01과 P-04만 보면 AND와 OR의 결과를 구별하기 어렵습니다. 차이를 드러내는 행은 P-02와 P-03입니다. 조건 하나만 예인 두 행에서 AND는 보류, OR는 알림이어야 합니다. 고정 기대값 G:H는 이 네 조합을 보고 직접 작성한 값이며 판정 수식으로 만들지 않았습니다.

네 조합을 실행하는 순서

  1. 주문 A2:C5에 네 조합을 입력하고 G2:H5의 고정 기대값을 먼저 채웁니다.

  2. D2의 입력 검사, E2의 출고 판정, F2의 알림 판정을 각각 입력한 뒤 5행까지 채웁니다.

  3. I2:I5의 대조 결과가 모두 일치인지 확인하고 K2:K6을 1·3·4·4·0과 비교합니다.

  4. B3만 바꾸는 실패 실험은 사본에서 하고, 예로 복구했을 때 초기 집계가 돌아오는지 확인합니다.

D열에서 예·아니오 외의 입력을 멈추기

예 처럼 끝에 공백이 붙거나 한 조건이 비어 있으면, 이 실습에서는 입력 확인으로 남깁니다. D2의 수식을 D5까지 복사합니다.

=IFERROR(IF(AND(OR(B2="예",B2="아니오"),OR(C2="예",C2="아니오")),"입력 정상","입력 확인"),"원본 오류")

안쪽 OR 두 개는 각 셀이 허용 단어 중 하나인지를 검사하고, AND는 양쪽 입력이 모두 정상인지 확인합니다. 여기서 OR를 썼다고 알림 판정을 먼저 내린 것이 아닙니다. 입력의 종류 검사와 업무 조건의 결합은 다른 계산입니다.

IFERROR의 원본 오류는 B·C 중 실제 오류값이 있다는 표지입니다. =NA()를 넣은 셀을 빈칸이나 아니오로 덮지 않습니다. 원본 수식이 있는 업무 파일에서는 먼저 그 오류를 해결해야 합니다.

E열은 둘 다, F열은 하나 이상

E2의 출고 판정입니다. D2가 입력 정상이 아니면 그 확인 문구를 그대로 반환합니다.

=IF(D2<>"입력 정상",D2,IF(AND(B2="예",C2="예"),"출고","보류"))

F2의 알림 판정입니다.

=IF(D2<>"입력 정상",D2,IF(OR(B2="예",C2="예"),"알림","대기"))

두 수식을 5행까지 채웁니다. Microsoft AND 문서는 모든 인수가 참일 때 TRUE를 반환한다고 설명합니다. OR 문서는 하나 이상 참이면 TRUE라고 설명합니다. 텍스트 범위를 그대로 논리값이라고 가정하지 않고 B2="예"처럼 비교식을 쓰는 이유입니다.

허용 입력 검사와 출고 및 알림 판정, 고정 기대값 대조, 다섯 초기 집계를 설명한 도해
설명용 도해: 허용 입력 검사와 출고 및 알림 판정, 고정 기대값 대조, 다섯 초기 집계를 설명한 도해. 출고와 알림은 가상 판정 문구이며 실제 시스템 실행이나 고객 메시지 전송 결과가 아닙니다.

출고 1건과 알림 3건을 행별로 대조하기

I2에 아래 수식을 넣고 I5까지 채웁니다.

=IF(AND(E2=G2,F2=H2),"일치","차이")

초기에는 네 행 모두 일치입니다. K2는 =COUNTIF(E2:E5,"출고")로 1, K3은 =COUNTIF(F2:F5,"알림")로 3입니다. K4의 일치 수와 K5의 대조 기록 수는 모두 4, K6의 입력 확인 수는 0이 기대값입니다.

K6의 =COUNTIF(D2:D5,"입력 확인")는 그 문구만 셉니다. B3을 비우면 K6은 1이지만, =NA()로 바꾸면 D3·E3·F3은 원본 오류이고 K6은 0입니다. 따라서 K6=0만으로 입력이 모두 정상이라고 판단하지 않습니다. D열 상태와 I열 대조도 함께 확인한 뒤, 다음 실험 전 B3을 예로 복원하세요.

출고 개수만 맞아도 다른 주문이 출고로 바뀌어 있을 수 있습니다. P-01만 출고인지, P-02·P-03은 보류/알림인지 확인합니다. I3을 지우면 차이라는 표시가 없어도 대조 기록은 3으로 줄어듭니다. 검산 수식을 지운 상태를 오류 없는 상태로 받아들이지 않습니다.

B3 하나만 바꾸어 세 실패를 나누기

아래 변경은 사본에서 각각 수행합니다. G3=보류와 H3=알림은 초기 기대값으로 그대로 남기며, 각 실험을 끝내면 B3을 예로 복원합니다.

B3 변경 D3 입력 상태 E3 출고 F3 알림 볼 점
실제 빈칸 입력 확인 입력 확인 입력 확인 미확인을 아니오로 취급하지 않음
아니오 입력 정상 보류 대기 두 조건 모두 아니오로 바뀜
=NA() 원본 오류 원본 오류 원본 오류 오류 원본을 먼저 해결

두 번째 사례에서 AND 결과는 여전히 보류지만 OR 결과만 대기로 바뀝니다. I3은 차이가 됩니다. 결과 둘 중 하나만 보고 수식 전체가 맞았다고 판단하지 않는 연습입니다. 세 변경의 계산 결과는 별도 파일에서 재계산해 저장값을 검산했으며, 실제 주문 시스템의 동작을 시험한 것은 아닙니다.

함수 선택 오류와 참조 오류의 복구

P-02와 P-03까지 출고가 된다면 E열에 OR를 썼는지 확인합니다. P-02가 대기라면 F열에 AND를 썼는지 봅니다. 3~5행이 첫 행과 모두 같은 결과라면 B·C 참조의 행까지 $B$2처럼 고정했는지 확인합니다. 각 행은 그 행의 두 조건을 읽어야 합니다.

입력 정상인데 기대값과 다를 때는 한 행에서 안쪽 비교식 두 개를 따로 계산합니다. P-02의 B3="예"는 TRUE, C3="예"는 FALSE입니다. 이 둘의 AND가 FALSE, OR가 TRUE인지 확인한 뒤 바깥 IF의 결과 문구를 봅니다. 수식을 전부 다시 쓰기보다 잘못된 한 단계부터 복구할 수 있습니다.

P-02 결제 입력의 빈칸과 아니오 및 원본 오류, K6 집계 한계와 복구 기대값을 비교한 도해
설명용 도해: P-02 결제 입력의 빈칸과 아니오 및 원본 오류, K6 집계 한계와 복구 기대값을 비교한 도해. 출고와 알림은 가상 판정 문구이며 실제 시스템 실행이나 고객 메시지 전송 결과가 아닙니다.

적용 한계: 실제 출고 승인으로 확대하지 않기

실제 출고에는 재고, 주소 유효성, 결제 취소 등 다른 규칙이 있을 수 있습니다. 여기서 예라고 입력했다고 외부 시스템의 검증을 마쳤다는 뜻은 아닙니다. 조건이 늘면 먼저 각 조건의 정의와 입력 누락 처리를 분리한 다음 최종 결합 규칙을 작성해야 합니다.

이번 결과는 합성 주문 네 행과 정해진 두 단어에 한정합니다. Microsoft Excel 앱은 실행하지 않았습니다. LibreOffice로 재계산한 합성 입력의 저장값을 Python으로 대조했습니다. Microsoft 문서는 함수 정의를 확인하는 데 사용했습니다. 마지막에는 B3=예를 복원하고 출고 1·알림 3·일치 4·대조 기록 4·입력 확인 0을 확인합니다. 점수 구간처럼 순서가 있는 조건은 중첩 IF의 경계값 실습과 구별해 사용하세요.

AND는 모든 인수가 참일 때 TRUE를 반환합니다. AND function | Microsoft Support

OR는 하나 이상의 인수가 참일 때 TRUE를 반환합니다. OR function | Microsoft Support

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

작성자 소개