Editlab

IF AND OR 함수로 여러 조건 한번에 확인, 안 되면 이유는?

IF AND OR 함수

지난주 팀 평가표를 만들다가 점수 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이거나 프로모션 대상일 때만 할인

AND 조건 판정 흐름도조건1: 점수 80점 이상조건2: 출석률 90% 이상AND: 두 조건 모두 TRUE?TRUE → 통과FALSE → 미달

엑셀에서 IF AND OR 함수는 어떤 순서로 입력하나요?

조건을 먼저 AND나 OR로 하나로 묶은 다음, 그 결과를 IF로 감싸는 순서로 입력하면 된다.

참고로 한국어 윈도우 엑셀에서는 조건을 쉼표(,)로 구분하지만, 일부 지역 설정이나 쉼표를 소수점 구분자로 쓰는 환경에서는 세미콜론(;)으로 구분해야 수식이 먹힌다. 수식을 입력했는데 바로 오류가 난다면 구분자부터 확인하자.

  1. 조건을 걸 셀을 클릭하고 등호(=)를 입력해 수식을 시작한다.
  2. 조건이 모두 맞아야 하면 AND(조건1,조건2,…)를, 하나만 맞아도 되면 OR(조건1,조건2,…)를 입력한다. 조건은 쉼표로 구분하며 최대 255개까지 넣을 수 있다.
  3. 완성한 AND 또는 OR 수식 전체를 IF의 첫 번째 괄호 안에 넣는다. 예: =IF(AND(A2>=80,B2>=90),”통과”,”미달”)
  4. 참일 때 표시할 값과 거짓일 때 표시할 값을 쉼표로 구분해 큰따옴표와 함께 적는다. 텍스트 대신 숫자나 다른 셀 참조를 넣어도 된다.
  5. 엔터를 눌러 수식을 완성한 뒤 셀 오른쪽 아래 채우기 핸들을 더블클릭하면 같은 조건이 아래 행까지 자동으로 복사된다.
  6. 상단 메뉴 수식 > 함수 라이브러리 > 논리 경로에서 IF, AND, OR을 마우스로 찾아 클릭해도 같은 함수를 넣을 수 있지만, 조건이 늘어나면 직접 타이핑하는 쪽이 더 빠르다.
  7. 조건이 있는 열에 이름(예: 점수, 출석률)을 정의해두면 =IF(AND(점수>=80,출석률>=90),”통과”,”미달”)처럼 셀 주소 대신 이름으로 수식을 읽을 수 있어 나중에 수식을 다시 볼 때 헤매지 않는다.
  8. 자주 틀리는 부분은 쉼표 개수다. 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 뉴스레터

오늘의 한 가지

평일 아침, 오늘 꼭 알아야 할 정보 하나. 신청 마감이 코앞인 지원금, 검색해도 안 나오는 실제 절차와 후기.

생년월일을 넣으면 매주 월요일 내 주간 운세도 같이 받을 수 있습니다.

무료 사주 운세랩
사주팔자, 오늘의 운세, 궁합, 토정비결, 일주론 전부 무료
무료로 보러 가기
Google 검색에서 이 매체의 새 글을 먼저 보려면
위로 스크롤