엑셀 ifna 함수, 상황별로 주의할 점이 다르다
엑셀 ifna를 VLOOKUP·XLOOKUP과 쓸 때 상황별로 무엇을 확인해야 하는지 정리했다
7개 섹션
이 글의 차례 · 7개 섹션
엑셀 ifna는 VLOOKUP이나 XLOOKUP에서 찾는 값이 없을 때 #N/A 대신 원하는 값을 보여주는 함수다. VLOOKUP과 쓸 때는 범위를 절대참조로 고정한 뒤 전체 수식을 IFNA로 감싸야 하고, XLOOKUP에서는 대부분 IFNA 없이도 같은 효과를 낼 수 있다.
다른 오류인 #REF!나 #VALUE!까지 잡으려면 IFNA만으로는 부족하다. 상황별로 뭐가 다른지 아래에서 하나씩 짚는다.
엑셀 IFNA 함수란, 언제 써야 하나
IFNA는 결과값이 딱 #N/A 오류일 때만 다른 값으로 바꿔주는 함수다. VLOOKUP이나 MATCH에서 찾는 값이 없을 때 주로 쓴다.

IFERROR는 모든 종류의 오류를 잡지만 IFNA는 #N/A만 잡는다. 이 차이를 모르고 쓰면 다른 오류까지 가려져서 문제를 놓친다.
기본 문법과 입력 순서
문법은 IFNA(값, 값이_오류인_경우)로 인자를 두 개만 받는다. 첫 번째는 검사할 수식, 두 번째는 오류일 때 보여줄 값이다.
예를 들어 =IFNA(VLOOKUP(A2,표,2,0),"없음") 형태로 쓴다. 찾는 값이 없으면 #N/A 대신 "없음"이 화면에 표시된다.
- 검사할 수식 전체를 첫 번째 인자에 넣는다.
- 대체값은 따옴표로 감싼 텍스트나 고정 숫자로 넣는다.
- 수식을 다 쓴 뒤 괄호 개수가 맞는지 확인한다.
VLOOKUP과 쓸 때 주의할 점
VLOOKUP에 IFNA를 씌우면 찾는 값이 없을 때만 대체값이 나온다. 하지만 표 범위 자체가 잘못됐으면 다른 오류가 나도 못 잡는다.
참조 범위에 오타가 있으면 #REF! 오류가 뜨는데, IFNA는 이걸 그대로 통과시킨다. 화면에 원인 모를 오류가 남아 헷갈리는 이유가 여기 있다.
범위를 절대참조로 먼저 고정해야 하는 이유
VLOOKUP 범위를 아래로 채우기 할 때 $ 기호로 고정하지 않으면 범위가 밀린다. 이 상태에서 IFNA를 씌우면 오류 원인이 범위 밀림인지 값 없음인지 구분이 안 된다.
그래서 IFNA를 넣기 전에 F4로 범위를 절대참조로 고정하는 순서가 먼저다. 순서를 바꾸면 나중에 오류 원인을 찾기가 더 어려워진다.
IFERROR와 헷갈리면 안 되는 상황
수식 안에 나눗셈이나 텍스트 결합이 섞여 있으면 IFNA만으로는 부족하다. #DIV/0!나 #VALUE! 같은 오류는 IFNA가 그대로 화면에 남긴다.
이런 경우는 IFERROR를 쓰거나 IFNA와 IFERROR를 함께 중첩해야 한다. 무조건 IFNA로 통일하면 안 보이던 오류가 나중에 한꺼번에 드러난다.
실무에서 자주 갈리는 선택 기준
데이터를 검증하는 시트라면 오류 종류를 구분해야 하니 IFNA가 낫다. 반대로 보고서처럼 결과만 깔끔하면 되는 시트는 IFERROR가 편하다.
두 함수를 섞어 쓸 때는 안쪽에 IFNA, 바깥쪽에 IFERROR를 두는 순서가 안전하다. #N/A는 원하는 값으로, 나머지 오류는 공통 문구로 처리된다.
XLOOKUP에서는 IFNA가 왜 필요 없을까
XLOOKUP은 함수 안에 '찾을 값이 없을 때' 인자가 이미 들어 있다. 별도로 IFNA를 씌우지 않아도 같은 효과를 낼 수 있다.
예를 들어 =XLOOKUP(A2,범위1,범위2,"없음")처럼 네 번째 인자에 바로 대체값을 넣는다. 이 방식이 IFNA를 겹쳐 쓰는 것보다 수식이 짧다.
구버전 엑셀과 섞어 쓸 때 주의점
회사 PC나 공유 파일이 이전 버전 엑셀이면 XLOOKUP 자체가 안 열릴 수 있다. 이런 환경에서는 VLOOKUP과 IFNA 조합을 그대로 유지하는 게 안전하다.
파일을 여러 버전 엑셀 사용자와 같이 쓴다면 XLOOKUP 대신 VLOOKUP+IFNA를 쓰는 편이 호환성 문제를 줄인다.
중첩 수식에서 IFNA 위치가 틀리면 생기는 문제
IFNA는 감싸는 위치에 따라 결과가 완전히 달라진다. 전체 수식을 감싸야 하는데 일부만 감싸면 오류가 그대로 남는다.

IF문 안에 VLOOKUP이 있을 때 VLOOKUP만 IFNA로 감싸고 IF 조건은 그대로 두면 원하는 결과가 안 나올 수 있다.
막히는 상황과 해결
상황 1: IFNA를 썼는데도 #N/A가 계속 뜬다면 괄호 위치부터 확인한다. 수식 전체를 감싸지 않고 일부만 감싼 경우가 대부분이다.
상황 2: 대체값 자리에 넣은 수식이 오류가 나면 화면에 #N/A가 다시 뜬다. 이때는 대체값도 오류 없는 고정값으로 바꿔야 한다.
여러 시트·외부 데이터 참조할 때 체크리스트
다른 시트나 외부 파일을 참조하는 수식에 IFNA를 쓰면 원본 파일이 닫혀 있을 때도 오류처럼 보인다. 이 경우는 값이 없는 게 아니라 연결이 끊긴 게 원인이다.
상황 3: 어제까지 잘 되던 수식이 오늘 전부 #N/A로 바뀌었다면 원본 파일 경로나 이름부터 확인한다. IFNA는 이 문제를 가려줄 뿐 고쳐주지 못한다.
저장 전 확인할 순서
- 참조 범위가 절대참조로 고정됐는지 확인한다.
- IFNA 대체값이 다른 수식 없이 고정 텍스트나 숫자인지 확인한다.
- 외부 파일 참조라면 파일 경로와 이름이 그대로인지 확인한다.
- VLOOKUP인지 XLOOKUP인지에 따라 IFNA가 필요한지 다시 판단한다.
이 네 가지를 저장 전에 확인하면 나중에 오류 원인을 찾는 시간이 줄어든다. 여러 사람이 같이 쓰는 파일이면 더 중요하다.
확인 순서를 매번 지키면 IFNA가 진짜 필요한 자리와 아닌 자리가 구분된다. 불필요한 IFNA를 걷어내면 수식도 가벼워진다.
자주 묻는 질문
IFNA와 IFERROR 중 뭘 먼저 배워야 하나요?
VLOOKUP을 쓴다면 IFNA부터 익히는 게 낫다. 오류 종류를 구분해서 처리하는 습관이 나중에 더 큰 수식에서도 도움이 된다.
IFNA를 썼는데 계속 #N/A가 뜨는 이유는?
수식 전체가 아니라 일부만 IFNA로 감쌌을 가능성이 크다. 괄호 위치를 다시 확인하고 IFNA가 맨 바깥을 감싸는지 본다.
XLOOKUP이 있는데도 IFNA를 써야 하나요?
XLOOKUP 자체에 대체값 인자가 있어서 대부분은 필요 없다. 다만 구버전 엑셀과 파일을 같이 쓴다면 VLOOKUP과 IFNA 조합을 유지하는 게 안전하다.
IFNA 대체값 자리에 다른 함수를 넣어도 되나요?
넣을 수는 있지만 그 함수마저 오류가 나면 #N/A가 다시 뜬다. 가능하면 고정 텍스트나 숫자처럼 오류가 안 나는 값을 넣는 게 안전하다.
여러 시트를 참조하는 수식에서 IFNA가 오류를 계속 가리는데 어떻게 하나요?
원본 파일 경로나 이름이 바뀌었는지 먼저 확인한다. IFNA는 화면에 보이는 오류만 가릴 뿐 연결 자체를 고쳐주지는 못한다.