티스토리 뷰

반응형

엑셀에서 #DIV/0! 오류는 "어떤 숫자를 0으로 나누려고 했다"는 신호입니다. 수식에서 분모가 0이거나 빈 셀일 때 발생하며, IFERROR 또는 IF 함수로 간단히 처리할 수 있습니다.

📎 첨부한 실습 파일(DIV0오류_실습.xlsx)에 3가지 발생 상황을 시트별로 재현했습니다. 오류를 직접 확인하고 해결 수식을 적용해보세요.

엑셀 DIV0 오류 0으로나누기 IFERROR 해결법
출처 - 엑셀 DIV0오류_실습파일

이 글에서 답하는 질문

  • 분모가 분명히 있는데 #DIV/0!이 뜨는 이유
  • 매출 달성률, 불량률 계산에서 0이 들어올 때 대응 방법
  • 오류를 숨기는 것과 실제로 처리하는 것의 차이

왜 발생하는가

수학에서 어떤 수를 0으로 나누는 것은 정의되지 않습니다. 엑셀도 같은 이유로, 수식의 분모 위치에 0이나 빈 셀이 있으면 계산을 중단하고 #DIV/0!을 표시합니다.

원인 1: 분모가 0인 경우

=A2/B2에서 B2가 0이면 #DIV/0!이 납니다. 매출 달성률(실적÷목표)을 계산할 때 목표가 0으로 잘못 입력된 경우가 대표적입니다.

원인 2: 분모가 빈 셀인 경우

=A2/B2에서 B2가 아무것도 입력되지 않은 빈 셀이면 엑셀은 빈 셀을 0으로 인식해 동일하게 #DIV/0!을 냅니다. 데이터를 아직 입력하지 않은 행에 수식을 미리 채워뒀을 때 자주 발생합니다.

원인 3: AVERAGE 함수에서 모든 값이 빈 셀인 경우

=AVERAGE(A2:A10)에서 A2:A10이 모두 비어있으면 "0으로 나누기"와 같은 상황이 되어 #DIV/0!이 납니다.

해결 방법 1: IFERROR로 오류 시 대체값 표시 (가장 간단)

=IFERROR(A2/B2, 0) → 오류 시 0 표시
=IFERROR(A2/B2, "-") → 오류 시 - 표시
=IFERROR(A2/B2, "미입력") → 오류 시 "미입력" 표시

주의: IFERROR는 오류를 숨길 뿐 데이터 자체를 고치는 것이 아닙니다. 분모가 0인 이유가 잘못된 데이터라면 데이터를 먼저 수정해야 합니다.

해결 방법 2: IF로 분모가 0이면 아예 계산을 건너뛰기

=IF(B2=0, "-", A2/B2)
=IF(B2="", "-", A2/B2)

분모가 0이거나 비어있을 때 계산 자체를 하지 않도록 먼저 조건을 확인하는 방식입니다. IFERROR보다 의도가 명확하게 드러나는 수식입니다.

해결 방법 3: AVERAGE 오류는 AVERAGEIF로 대체

=AVERAGE(A2:A10) 대신 =AVERAGEIF(A2:A10,"<>","")를 쓰면 빈 셀을 제외하고 평균을 계산해 #DIV/0!을 피할 수 있습니다.

오류를 숨기는 것 vs 실제로 처리하는 것

방법 오류 표시 실제 데이터 권장 상황
IFERROR 숨김 변경 없음 보고서 출력용, 임시 처리
IF 조건 건너뜀 변경 없음 계산 로직 명확히 할 때
데이터 수정 오류 사라짐 실제 수정 근본 원인 해결

엑셀 오류 시리즈

  • #N/A → VLOOKUP이 값을 못 찾을 때
  • #REF! → 참조 범위가 이탈했을 때
  • #NAME? → 함수명을 인식 못 할 때 (어제 발행)
  • #VALUE! → 데이터 형식 불일치
  • #DIV/0! → 0으로 나누기 (이 글)

마무리

#DIV/0! 오류가 보고서에 뜨면 당장 IFERROR로 숨기는 것보다, 분모가 왜 0이 됐는지 먼저 확인하는 것이 더 중요합니다. 데이터 입력 오류라면 수정하고, 정상적으로 0이 들어올 수 있는 구조라면 IF나 IFERROR로 처리합니다.

DIV0오류_실습.xlsx
0.01MB

 


관련 글: 엑셀 #NAME? 오류 해결법 (어제 발행) | 엑셀 #REF! 오류 해결법

반응형
반응형