IFERROR 함수: 구문, 예제, 오류 해결
2026-10-13 업데이트 · 무료 · Excel 및 Google Sheets 지원
구문
=IFERROR(value, value_if_error)빠른 답변
IFERROR는 수식을 감싸고 오류가 나면 대체 값을 반환합니다: =IFERROR(A2/B2, 0)는 #DIV/0! 대신 0을 표시합니다. 모든 오류를 잡기 때문에 결과를 다듬는 데는 좋지만, 끊어진 참조까지 깨끗한 데이터처럼 보이게 하는 위험이 있습니다. 구조적 오류는 숨기지 말고 고쳐야 합니다.
구문
=IFERROR(value, value_if_error)| 인수 | 의미 |
|---|---|
| value | 계산할 수식이나 식: A2/B2 같은 나눗셈, VLOOKUP(...) 같은 조회, 오류를 반환할 수 있는 모든 수식. |
| value_if_error | value에서 오류가 발생했을 때 반환할 내용 — 0, 빈 것처럼 보이는 "", 따옴표로 묶은 텍스트 메시지, 또는 다른 수식. |
지역 설정에 따라 인수가 쉼표 대신 세미콜론으로 구분됩니다: =IFERROR(A2/B2; 0). 쉼표를 소수점으로 쓰는 국가에서는 이것이 표준입니다.
기본 예제
=IFERROR(A2/B2, 0)클래식한 0으로 나누기 가드: B2가 비어 있거나 0이면 나눗셈은 #DIV/0!을 반환하고, IFERROR는 이를 0으로 바꿉니다. 대시보드의 비율과 백분율이 열 전체에 오류 코드를 뿌리지 않고 깨끗하게 유지됩니다.
=IFERROR(VLOOKUP(E2, $A$2:$C$50, 3, FALSE), "찾을 수 없음")더 친절한 조회: E2가 표에 없으면 VLOOKUP은 #N/A를 반환하고, 대체 값이 대신 “찾을 수 없음”을 표시합니다. 조회 미스 전용이라면 IFNA도 같은 역할을 하면서 다른 오류는 그대로 드러냅니다.
=IFERROR(VALUE(A2), A2)“123” 같은 텍스트를 숫자 123으로 변환하고, A2에 변환할 수 없는 텍스트(또는 이미 문자가 포함된 값)가 있으면 #VALUE! 대신 원래 내용을 반환합니다. 섞인 열을 한 셀에서 구하는 방법입니다.
=IFERROR(A2/B2, "")오류 대신 빈 것처럼 보이는 셀을 표시합니다. 차이에 주의: ""는 아무것도 표시하지 않지만 여전히 텍스트 값이므로, AVERAGE와 차트는 그 셀을 건너뛸 수 있는 빈칸이 아니라 텍스트로 취급합니다.
IFERROR는 예상한 오류뿐 아니라 모든 오류를 잡습니다: =IFERROR(A2/B2, 0)는 열 삭제로 인한 #REF!마저 깔끔한 0으로 바꿔 버립니다. 가능한 한 좁은 식만 감싸고, 구조적 오류는 꾸미지 말고 고치세요.
자주 발생하는 오류와 해결 방법
| 증상 | 가장 흔한 원인 | 해결 방법 |
|---|---|---|
| #NAME? | IFERROR를 잘못 입력했거나 — 또는 Excel이 다른 언어 버전으로 설정되어 함수 이름이 현지화된 경우(SI.ERROR, SIERREUR, WENNFEHLER). | =IF를 입력하고 자동 완성으로 함수 이름을 완성하거나, 해당 언어 버전의 Excel에서 파일을 여세요. |
| 오류가 여전히 표시됨 | 실패하는 부분이 래퍼 밖에 있거나 대체 값 자체가 오류: =IFERROR(A2/B2, C2/D2)는 D2가 0이면 다시 #DIV/0!을 표시합니다. 대체 값이 깨진 것이기 때문입니다. | 대체 값도 감싸세요 — =IFERROR(A2/B2, IFERROR(C2/D2, 0)) — 또는 그 안의 오류 원인을 고치세요. |
| 진짜 오류가 사라짐 | IFERROR가 구조적 오류를 삼켰습니다: 삭제된 열의 #REF!가 이제 0을 반환해서 표가 깨진 것을 아무도 눈치채지 못합니다. | 래퍼는 좁게 유지하고 원인을 고치세요. 조회 미스에는 IFNA를 쓰면 #REF! 같은 오류가 계속 보입니다. |
| 0과 빈칸이 다른 수식으로 흘러들어감 | 대체 값 0은 AVERAGE에 실제 값으로 참여하고, ""는 아래쪽 산술에서 #VALUE!를 일으킵니다. | 목적지에 맞게 대체 값을 고르세요: 합계에는 0, 텍스트가 안전한 곳에만 "", 또는 NA()로 진짜 빈틈을 평균에서 제외. |
| 절반은 숫자, 절반은 텍스트인 열 | =IFERROR(VALUE(A2), A2)의 대체 값이 원래 텍스트를 반환해서 열에 숫자와 텍스트가 섞입니다. | 먼저 원본을 정리하세요 — 불필요한 공백을 제거하고 텍스트 형태 숫자를 변환하면 — 그다음엔 대체 값 없이 순수 VALUE만으로 동작합니다. |
보이지 않는 공백도 조회 미스의 원인입니다: VLOOKUP은 뒤에 공백이 붙은 “지급됨 ”에 #N/A를 보고하고, IFERROR가 이를 “찾을 수 없음”으로 가려서 진짜 원인은 묻힌 채 남습니다. 열을 먼저 정리하면 대체 값이 발동하는 일은 드물어집니다.
IFERROR vs IF+ISERROR
| IFERROR | IF + ISERROR | |
|---|---|---|
| 인수 개수 | 두 개 — 식과 대체 값 | 세 개 — 검사, 대체 값, 그리고 다시 쓴 식 |
| 사용 가능 버전 | Excel 2007 이상(및 Google Sheets) | 2003까지 모든 Excel 버전(및 Google Sheets) |
| 계산 비용 | 식을 한 번만 계산 | 식을 두 번 계산 — ISERROR 안에서 한 번, 결과로 한 번 — 넓은 범위에서는 체감됨 |
=IF(ISERROR(A2/B2), 0, A2/B2)=IFERROR(A2/B2, 0)의 구식 등가물입니다. IFERROR가 Excel 2007 이전에는 없었기 때문입니다 — 아주 오래된 버전과 공유하는 파일에는 여전히 이 형태가 필요합니다. 최신 Excel이나 Google Sheets에서는 IFERROR가 더 짧고 한 번만 계산되는 기본 선택입니다.
Google Sheets에서 IFERROR
Google Sheets는 Excel과 같은 두 인수, 같은 동작의 IFERROR를 지원하므로 위의 수식을 그대로 붙여넣을 수 있습니다.
- 같은 오류 집합을 잡습니다: #DIV/0!, #N/A, #VALUE!, #REF!, #NAME?, #NUM!, #NULL!.
- 쉼표를 소수점으로 쓰는 지역 설정(유럽과 라틴아메리카 대부분)에서는 인수 사이에 세미콜론을 입력합니다: =IFERROR(A2/B2; 0). Excel도 같은 동작입니다.
- Sheets에도 IFNA가 있으며 #N/A만 잡습니다 — 구조적 오류는 여전히 보여주고 싶은 VLOOKUP 등의 조회에는 더 나은 가드입니다.
- 결과 전체를 오류 방지하려면 Sheets의 IFERROR는 배열 수식으로도 쓸 수 있습니다: 래퍼 하나로 출력 범위 전체를 한 번에 커버합니다.
한계와 고급 팁
- IFERROR는 오류 종류를 가립니다: #N/A, #REF!, #DIV/0! 모두 같은 대체 값으로 뭉개집니다. 먼저 맨 수식으로 진단하고, 올바른지 확인한 뒤 감싸세요.
- 조회 미스만 문제라면 IFNA를 쓰세요 — #REF! 등이 계속 보여서 깨진 범위가 “찾을 수 없음”으로 위장할 수 없습니다.
- 대체 값은 빈칸이 아니라 값입니다: ""는 비어 보여도 텍스트이고, 0은 평균을 밀어냅니다. 다음에 일어날 일에 맞는 대체 값을 고르세요.
- 반사적으로 열 전체를 감싸지 마세요: 수천 개의 IFERROR는 감사를 느리게 하고 데이터 문제를 묻어 버립니다. 원본을 고치고 가드는 좁게 유지하세요.
- 신호를 보존하는 대체 값으로는 0 대신 NA()를 반환하세요: =IFERROR(VLOOKUP(...), NA())는 진짜 미스가 차트와 통계에서 계속 보이게 합니다.
IFERROR는 수리가 아니라 윤색입니다. 먼저 수식을 안정시키고, 그다음 최종 보고서를 깨끗하게 유지하는 데 쓰세요 — 그리고 남은 빈칸을 채워 다듬은 영역이 완성된 데이터처럼 보이게 하세요.
관련 도구
관련 함수
자주 묻는 질문
Excel에서 IFERROR는 무슨 역할을 하나요?
수식을 계산하고 결과가 오류일 때 대체 값을 반환합니다: =IFERROR(A2/B2, 0)는 #DIV/0! 대신 0을 표시합니다. 수식이 성공하면 정상 결과가 그대로 통과합니다 — IFERROR는 올바른 값을 절대 바꾸지 않습니다.
IFERROR는 어떤 오류를 잡나요?
모두입니다: #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!. 이 폭넓음이 강점이자 위험입니다 — 잡으려던 무해한 #N/A와 구조적 오류가 함께 숨겨집니다.
IFERROR를 VLOOKUP과 어떻게 쓰나요?
조회 전체를 감쌉니다: =IFERROR(VLOOKUP(E2, $A$2:$C$50, 3, FALSE), "찾을 수 없음"). E2에 일치가 없으면 셀은 #N/A 대신 “찾을 수 없음”을 표시합니다. 이 용도에는 IFNA를 권합니다 — #N/A만 잡고 다른 오류는 계속 드러냅니다.
IFERROR와 IFNA의 차이는 무엇인가요?
IFERROR는 모든 오류를, IFNA는 #N/A만 잡습니다. 조회에는 보통 IFNA가 맞습니다: 미스는 “찾을 수 없음”이 되지만, 끊어진 참조(#REF!)는 계속 표시되어 고칠 수 있습니다.
IFERROR 수식이 여전히 오류를 표시하는 이유는?
실패하는 부분이 래퍼 밖에 있거나 대체 값 자체가 오류입니다: =IFERROR(A2/B2, C2/D2)는 D2가 0이면 #DIV/0!을 표시합니다. 대체 값도 감싸거나 그 안의 오류를 고치세요.
IFERROR는 빈 셀을 반환할 수 있나요?
빈 것처럼 보이는 셀은 반환할 수 있습니다: =IFERROR(A2/B2, "")는 아무것도 표시하지 않습니다. 하지만 ""는 텍스트 값이지 진짜 빈칸이 아닙니다 — AVERAGE, COUNT, 차트 모두 텍스트로 취급합니다. 아래 수식이 빈틈을 구분해야 하면 0이나 NA()를 쓰세요.
IFERROR는 Google Sheets에서도 되나요?
네 — 같은 이름, 같은 두 인수, 같은 동작입니다. 인수 구분자가 바뀌는 것은 쉼표를 소수점으로 쓰는 지역 설정뿐이며, 거기서는 세미콜론을 입력합니다: =IFERROR(A2/B2; 0). Sheets에도 Excel과 같은 의미의 IFNA가 있습니다.
내 파일로 직접 해볼 준비가 되셨나요?
Excel 빈 셀 채우기 열기 — 무료