TodayPress
AI & 테크

엑셀 if 함수 오류, 상황별로 뭐가 다른가

엑셀 if 함수가 안 먹히는 이유를 조건 종류와 사용 환경별로 나눠 정리한다

7개 섹션

노트북 화면에 엑셀 함수식이 입력된 모습
이 글의 차례 · 7개 섹션

지금 "엑셀 if" 하나만 검색해서 여기 온 사람이라면, 함수 문법보다 특정 상황에서 안 먹히는 이유가 궁금한 경우가 많다. 이 글은 조건 종류와 사용 환경별로 IF가 다르게 반응하는 지점을 짚는다.

기본 구조부터 어긋난 경우

IF가 아예 안 먹는다면 대부분 괄호나 쉼표 위치 문제다. 함수 자체가 복잡해서가 아니라 순서 하나를 놓친 경우가 많다.

데이터가 정리된 엑셀 시트를 확인하는 모습

구문 순서 확인

=IF(조건, 참일 때 값, 거짓일 때 값) 순서를 벗어나면 오류가 뜬다. 조건식 뒤 쉼표를 빠뜨리거나 괄호를 하나 덜 닫는 실수가 흔하다.

참이나 거짓 자리에 텍스트를 넣을 때는 큰따옴표로 감싸야 한다. 따옴표 없이 문자를 그대로 넣으면 #NAME? 오류가 뜬다.

숫자 자리에는 따옴표를 쓰지 않는다. "60"처럼 따옴표로 감싼 숫자는 셀에 따라 텍스트로 인식돼 비교가 어긋난다.

바로 쓰는 기본형

  • =IF(A1>=60,"합격","불합격")
  • =IF(A1="","미입력","입력완료")
  • =IF(A1<0,"오류값",A1)

텍스트 조건에서 안 먹힐 때

텍스트 조건은 셀 서식이 원인인 경우가 가장 많다. 눈에는 같은 글자로 보여도 앞뒤에 공백이 숨어 있으면 조건이 어긋난다.

공백과 대소문자 문제

복사해온 데이터에는 셀 끝에 보이지 않는 공백이 붙어 있는 경우가 흔하다. =TRIM(A1)으로 감싸서 비교하면 이런 오차를 줄일 수 있다.

IF는 기본적으로 영문 대소문자를 구분하지 않는다. "OK"와 "ok"를 다르게 처리하려면 EXACT 함수를 조건식 안에 함께 써야 한다.

숫자를 텍스트로 저장한 셀도 문제가 된다. 셀 왼쪽 정렬로 표시되면 숫자가 아니라 텍스트로 들어가 있다는 신호다.

이럴 때는 =VALUE(A1)로 숫자로 바꾼 뒤 조건을 걸어야 한다. 그냥 비교하면 조건이 항상 거짓으로 나온다.

날짜 조건일 때 주의점

날짜 비교는 셀이 실제 날짜 형식인지부터 확인해야 한다. 화면에 날짜처럼 보여도 텍스트로 입력된 경우 비교 자체가 성립하지 않는다.

날짜 형식 확인 방법

셀을 선택했을 때 오른쪽 정렬로 표시되면 날짜로 인식된 상태다. 왼쪽 정렬이면 텍스트이므로 IF 조건이 제대로 작동하지 않는다.

텍스트로 입력된 날짜는 =DATEVALUE(A1)로 변환한 뒤 비교해야 한다. 변환 없이 바로 비교하면 결과가 뒤섞인다.

오늘 날짜와 비교할 때는 TODAY() 함수를 조건식 안에 넣는다. =IF(A1

연도만 다르고 월일이 같은 날짜를 비교할 때는 오류가 잦다. 이때는 =YEAR나 =MONTH로 값을 따로 뽑아 비교하는 편이 안전하다.

빈 셀 조건일 때 주의점

빈 셀처럼 보이는 셀도 실제로는 빈 값이 아닐 수 있다. 수식 결과로 빈 문자열이 들어간 셀은 겉보기와 조건 판정이 다르다.

진짜 빈 셀 구분하기

사람이 직접 지운 빈 셀은 =IF(A1="","값없음",A1)로 잡힌다. 하지만 다른 수식이 ""를 반환해 채운 셀은 이 조건에 걸리지 않을 때가 있다.

이런 경우 =ISBLANK(A1) 함수로 다시 확인하는 게 정확하다. ISBLANK는 정말 아무것도 없는 셀만 참으로 인식한다.

빈 셀을 0으로 착각하는 경우도 있다. 빈 셀과 숫자 0은 IF 안에서 완전히 다르게 취급된다는 점을 기억해야 한다.

여러 셀을 한 번에 검사할 때는 COUNTBLANK로 먼저 개수를 확인하는 편이 낫다. 그다음 IF로 개별 조건을 거는 순서가 오류를 줄인다.

중첩 IF, 상황별 체크리스트

중첩 IF는 조건이 3개를 넘어가는 순간부터 관리가 어려워진다. 이럴 때는 IF 대신 다른 함수로 바꾸는 게 더 빠를 수 있다.

스마트폰으로 엑셀 앱을 사용하는 모습

중첩 대신 쓸 수 있는 함수

조건이 3개 이하라면 중첩 IF로도 충분하다. =IF(A1>=90,"A",IF(A1>=70,"B","C")) 정도가 관리 가능한 수준이다.

조건이 4개 이상이면 IFS 함수를 쓰는 게 실수를 줄인다. =IFS(A1>=90,"A",A1>=70,"B",TRUE,"C") 형태로 괄호 개수 걱정이 줄어든다.

여러 조건을 동시에 만족해야 할 때는 AND를 함께 쓴다. =IF(AND(A1>=60,B1>=60),"합격","불합격") 식이다.

하나라도 만족하면 되는 조건은 OR을 쓴다. AND와 OR을 헷갈리면 결과가 정반대로 나오니 조건식을 다시 읽어보는 게 좋다.

PC와 모바일 앱에서 다른 점

같은 파일이어도 PC 엑셀과 모바일 앱에서 IF가 다르게 보일 때가 있다. 함수 자체가 다른 게 아니라 화면 표시와 입력 방식 차이가 원인이다.

모바일 앱에서 막히는 지점

모바일 앱은 화면이 좁아서 긴 IF 수식을 한눈에 확인하기 어렵다. 괄호가 어디서 닫혔는지 놓치기 쉬워 오류를 찾는 데 시간이 걸린다.

구글 시트로 열었을 때도 IF 자체는 동일하게 작동한다. 다만 IFS나 일부 최신 함수는 버전에 따라 지원 여부가 다를 수 있다.

PC에서 만든 수식을 모바일에서 수정하면 자동완성 방식이 달라 괄호가 중복 입력되는 경우가 있다. 수정 후에는 결과값을 다시 확인하는 게 안전하다.

공유 파일을 여러 기기에서 돌아가며 쓸 때는 날짜·통화 형식이 기기별로 다르게 설정된 경우가 있다. 이 차이가 IF의 날짜·숫자 조건 오류로 이어지기도 한다.

자주 묻는 질문

Q1. IF 함수를 넣었는데 결과가 항상 거짓 값으로만 나옵니다.
조건식에 쓴 셀이 텍스트로 저장된 숫자일 가능성이 높다. 셀 정렬을 확인하고 필요하면 VALUE 함수로 변환한 뒤 다시 시도한다.

Q2. IF와 IFERROR를 같이 써야 하나요?
조건식 자체에서 오류가 날 가능성이 있으면 함께 쓰는 게 안전하다. 예를 들어 나누기가 포함된 조건이라면 0으로 나누는 경우를 IFERROR로 감싸는 편이 좋다.

Q3. 중첩 IF에서 괄호 개수가 자꾸 헷갈립니다.
조건이 3개를 넘어가면 중첩 대신 IFS 함수로 바꾸는 걸 권한다. 괄호 하나로 조건과 값을 순서대로 나열하면 되므로 실수가 줄어든다.

Q4. 같은 파일인데 PC와 스마트폰에서 결과가 다르게 나옵니다.
기기별 날짜나 숫자 형식 설정 차이가 원인인 경우가 많다. 두 기기에서 같은 셀의 서식을 비교해보는 게 먼저다.

Q5. IF 함수 결과에 색깔을 다르게 표시하고 싶습니다.
이는 IF 함수 자체가 아니라 조건부 서식으로 처리하는 영역이다. IF로 값을 만든 뒤 조건부 서식 규칙에서 그 값을 기준으로 색을 지정하면 된다.