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로 값을 만든 뒤 조건부 서식 규칙에서 그 값을 기준으로 색을 지정하면 됩니다.