지난주 팀 평가표를 만들다가 점수 80점 이상이면서 출석률 90퍼센트 이상인 사람만 통과로 표시해야 했는데, IF 함수 하나로는 두 조건을 동시에 걸 방법이 없어서 한참 헤맸다.
엑셀 IF AND OR 함수를 같이 쓰면 조건이 몇 개든 한 번에 걸 수 있는데, 결론부터 말하면 AND는 조건을 모두 만족할 때, OR은 하나만 만족해도 될 때 쓰고 그 결과를 IF 안에 그대로 넣으면 끝난다.
성적표나 근태표, 매출 구간처럼 조건이 두 개 이상 겹치는 표를 만들어 본 적 있는 사람이라면 이 글에서 바로 가져다 쓸 수 있는 수식을 정리했다.
재고 관리표에서도 비슷한 상황이 나온다.
재고량이 10개 미만이면서 동시에 최근 30일간 판매량이 5개 이상인 품목만 “긴급 발주”로 표시하려면 =IF(AND(C2<10,D2>=5),”긴급 발주”,”정상”)처럼 조건 두 개를 AND로 묶으면 된다. 조건이 하나 추가될 때마다 AND나 OR 괄호 안에 쉼표로 이어 붙이기만 하면 되니 수식 구조 자체는 바뀌지 않는다.
IF AND OR 함수, 결론부터 보면 이 공식 하나면 된다
조건을 모두 만족시켜야 할 때는 IF(AND(조건1,조건2),”참일때”,”거짓일때”) 하나로 해결된다.
반대로 조건 중 하나만 맞아도 되는 상황이면 AND 자리에 OR을 넣으면 된다. 매출이 100만원 이상이거나 등급이 VIP면 할인을 주는 경우는 =IF(OR(A2>=1000000,B2=”VIP”),”할인”,”정가”)처럼 쓴다.
IF 안에 AND나 OR을 넣을 때는 참/거짓 결과를 텍스트로 바꿔서 돌려줄 수도 있고, 숫자나 다른 셀 참조, 심지어 다른 수식을 그대로 넣을 수도 있다.
예를 들어 =IF(AND(A2>=80,B2>=90),A2*1.1,A2)처럼 조건을 만족하면 점수에 10%를 가산하는 식으로 활용 범위를 넓힐 수 있다.
| 함수 | 조건 충족 기준 | 예시 수식 | 결과 |
|---|---|---|---|
| AND | 모든 조건이 TRUE | =IF(AND(A2>=80,B2>=90),”통과”,”미달”) | 80점 이상이고 출석 90% 이상일 때만 통과 |
| OR | 조건 중 하나만 TRUE | =IF(OR(A2>=1000000,B2=”VIP”),”할인”,”정가”) | 매출 100만원 이상이거나 VIP면 할인 |
| AND+OR 혼합 | 조건1이 TRUE이면서 조건2·조건3 중 하나 이상 TRUE | =IF(AND(A2>=80,OR(B2=”VIP”,B2=”프로모션”)),”할인”,”정가”) | 80점 이상이면서 VIP이거나 프로모션 대상일 때만 할인 |
엑셀에서 IF AND OR 함수는 어떤 순서로 입력하나요?
조건을 먼저 AND나 OR로 하나로 묶은 다음, 그 결과를 IF로 감싸는 순서로 입력하면 된다.
참고로 한국어 윈도우 엑셀에서는 조건을 쉼표(,)로 구분하지만, 일부 지역 설정이나 쉼표를 소수점 구분자로 쓰는 환경에서는 세미콜론(;)으로 구분해야 수식이 먹힌다. 수식을 입력했는데 바로 오류가 난다면 구분자부터 확인하자.
- 조건을 걸 셀을 클릭하고 등호(=)를 입력해 수식을 시작한다.
- 조건이 모두 맞아야 하면 AND(조건1,조건2,…)를, 하나만 맞아도 되면 OR(조건1,조건2,…)를 입력한다. 조건은 쉼표로 구분하며 최대 255개까지 넣을 수 있다.
- 완성한 AND 또는 OR 수식 전체를 IF의 첫 번째 괄호 안에 넣는다. 예: =IF(AND(A2>=80,B2>=90),”통과”,”미달”)
- 참일 때 표시할 값과 거짓일 때 표시할 값을 쉼표로 구분해 큰따옴표와 함께 적는다. 텍스트 대신 숫자나 다른 셀 참조를 넣어도 된다.
- 엔터를 눌러 수식을 완성한 뒤 셀 오른쪽 아래 채우기 핸들을 더블클릭하면 같은 조건이 아래 행까지 자동으로 복사된다.
- 상단 메뉴 수식 > 함수 라이브러리 > 논리 경로에서 IF, AND, OR을 마우스로 찾아 클릭해도 같은 함수를 넣을 수 있지만, 조건이 늘어나면 직접 타이핑하는 쪽이 더 빠르다.
- 조건이 있는 열에 이름(예: 점수, 출석률)을 정의해두면 =IF(AND(점수>=80,출석률>=90),”통과”,”미달”)처럼 셀 주소 대신 이름으로 수식을 읽을 수 있어 나중에 수식을 다시 볼 때 헤매지 않는다.
- 자주 틀리는 부분은 쉼표 개수다. AND(A2>=80,B2>=90)까지 입력한 뒤 IF로 감쌀 때 닫는 괄호를 하나 더 눌러 AND를 두 번 닫아버리는 실수가 잦으니, 수식을 다 쓴 뒤 괄호 색깔이 서로 짝지어 보이는지 확인한다.
실제 데이터로 한번 확인해보자. 아래처럼 점수와 출석률이 있는 표에 통과 여부 수식을 넣으면 결과가 바로 눈에 보인다.
| 이름 | 점수 | 출석률 | 수식 결과 |
|---|---|---|---|
| 김민수 | 85 | 92% | 통과 |
| 이서연 | 78 | 95% | 미달 |
| 박지훈 | 90 | 88% | 미달 |
박지훈처럼 점수는 높아도 출석률이 90%에 못 미치면 AND 조건에서 바로 미달로 걸린다는 걸 표로 보면 더 확실하게 이해된다.
Microsoft 공식 지원 문서에서도 AND와 OR을 IF 괄호 안에 넣는 방식을 기본 사용법으로 안내하고 있다. Microsoft 지원 문서 바로가기
메뉴 경로를 몰라서 막막한 건 한글 표 작업도 마찬가지다. 한글 표 만들기 단축키와 메뉴 경로 정리를 같이 봐두면 사무 프로그램 전반에서 헤매는 시간이 줄어든다.
수식을 그대로 넣었는데 결과가 이상하다면, 원인은 뭘까?
IF AND OR 함수를 조합했을 때 가장 흔한 원인은 괄호 짝이 안 맞거나 텍스트 조건에 큰따옴표를 빼먹은 경우다.
| 증상 | 원인 | 해결법 |
|---|---|---|
| #VALUE! 오류 | AND/OR 괄호 안 조건 개수나 범위 참조 오류 | 조건을 하나씩 따로 입력해 TRUE/FALSE 결과를 확인한 뒤 합친다 |
| 항상 거짓 값만 나옴 | AND로 묶었는데 조건 중 하나가 실제로 늘 FALSE | 각 조건을 별도 셀에 분리해 어떤 조건이 걸리는지 확인한다 |
| 텍스트 조건이 안 먹힘 | 큰따옴표 생략, 혹은 공백·대소문자 차이 | =”완료”처럼 큰따옴표로 감싸고 TRIM 함수로 공백을 제거한다 |
| 수식 자체가 입력 안 됨 | 괄호 짝이 맞지 않음 | IF( AND( ) , , ) 순서로 여는 괄호와 닫는 괄호 개수를 하나씩 센다 |
| 조건이 3개 넘어가며 헷갈림 | 중첩 구조가 복잡해짐 | IFS 함수로 바꾸거나 Alt+Enter로 줄을 나눠 수식을 눈으로 구분한다 |
| #NAME? 오류 | 함수 이름 오타(예: AND를 AMD로 입력) | 함수 이름을 다시 입력하거나 수식 입력줄에서 자동완성 목록으로 정확한 이름을 선택한다 |
원인을 눈으로 바로 못 찾겠다면 수식 입력줄에서 AND(A2>=80,B2>=90) 부분만 마우스로 드래그해 선택한 뒤 F9를 누르면 그 부분만 TRUE나 FALSE로 바로 계산돼 어느 조건에서 막히는지 확인할 수 있다.
확인 후에는 Esc를 눌러 수식을 원래대로 되돌려야 실수로 값이 고정되지 않는다.
VLOOKUP에서 자주 나는 #N/A 오류도 원인에 따라 해결법이 다른데, VLOOKUP #N/A 오류 원인별 해결법 5가지를 참고하면 수식 오류를 찾는 순서 자체가 비슷하다는 걸 알 수 있다.
같이 알아두면 좋은 팁, IFS 함수와 조건부 서식
조건이 3개를 넘어가면 IFS 함수를 쓰는 쪽이 중첩 IF보다 훨씬 읽기 편하다.
IFS 함수는 =IFS(조건1,결과1,조건2,결과2,…,TRUE,기본값) 형태로 쓰며, Microsoft 공식 문서 기준 최대 127개 조건까지 지원한다.
단 Excel 2019 이상이나 Microsoft 365에서만 쓸 수 있고, 그 이전 버전에서는 중첩 IF로 써야 한다.
예를 들어 점수대별로 등급을 매길 때는 IFS가 중첩 IF보다 한눈에 들어온다. =IFS(A2>=90,”A”,A2>=80,”B”,A2>=70,”C”,TRUE,”D”)로 쓰면 조건을 위에서부터 차례로 검사해 처음 TRUE가 나오는 조건의 결과를 돌려준다.
| 점수 | IFS 결과 | 판정 조건 |
|---|---|---|
| 95 | A | A2>=90 에서 TRUE |
| 82 | B | A2>=90은 FALSE, A2>=80에서 TRUE |
| 65 | D | 앞의 조건 모두 FALSE라 마지막 TRUE,”D”가 적용 |
같은 AND나 OR 수식을 조건부 서식에도 그대로 쓸 수 있다. 홈 > 조건부 서식 > 새 규칙 > 수식을 사용하여 서식을 지정할 셀 결정 메뉴 경로에서 IF 없이 =AND(A2>=80,B2>=90)만 입력하면 조건에 맞는 셀에 색을 자동으로 입힐 수 있다.
한 가지 주의할 점은 AND와 OR이 조건을 전부 평가한다는 것이다. 조건 중 하나가 TRUE로 이미 결과가 정해져도 나머지 조건에서 #DIV/0!나 #REF! 같은 오류가 나면 OR 전체가 오류로 바뀐다.
오류가 날 수 있는 조건은 IFERROR로 먼저 감싸주면 이런 상황을 피할 수 있다.
자주 묻는 질문
AND와 OR을 같이 섞어서 써도 되나요?
가능하다. =IF(AND(조건1,OR(조건2,조건3)),”참”,”거짓”)처럼 AND 안에 OR을 넣거나 반대로 넣어도 되고, 괄호 순서만 맞으면 조건을 원하는 대로 조합할 수 있다.
조건을 몇 개까지 넣을 수 있나요?
AND와 OR은 최대 255개까지 조건을 넣을 수 있고, IFS 함수는 최대 127개 조건까지 지원한다. 다만 실무에서는 가독성 때문에 보통 5개 이하로 묶는 경우가 많다.
엑셀 버전마다 사용법이 다른가요?
IF, AND, OR은 오래된 버전부터 지금의 Microsoft 365까지 동일한 문법으로 쓸 수 있다. 다만 IFS 함수는 Excel 2019 이상이나 Microsoft 365에서만 지원되니 이전 버전이라면 중첩 IF로 대신 써야 한다.
다음에는 VLOOKUP과 INDEX, MATCH로 조건에 맞는 값을 찾아오는 방법도 정리할 예정이다. 여러분은 조건을 몇 개까지 걸어봤나요? 어떤 수식에서 막혔는지 댓글로 남겨주면 다음 글에서 다뤄보겠다.
출처: Editlab, https://editlab.luvpp.com
글 Editlab 편집부 · 발행 전 자동 점검(중복·형식·규칙) · 정정 요청 · Google 검색에서 이 매체를 우선 출처로 등록
오래 쓴 사람의 요령이 따로 있습니다. 혼자 판단하기 애매하면 의견을 구해 보셔도 됩니다. 글은 누구나 읽을 수 있고, 질문을 남기려면 카페 가입이 필요합니다.
EDITLAB 뉴스레터
오늘의 한 가지
평일 아침, 오늘 꼭 알아야 할 정보 하나. 신청 마감이 코앞인 지원금, 검색해도 안 나오는 실제 절차와 후기.
생년월일을 넣으면 매주 월요일 내 주간 운세도 같이 받을 수 있습니다.
개인정보처리방침 · 문의 editlab204@gmail.com · 발행 Editlab

