Menu

엑셀 #DIV/0! 오류: 0으로 나누기 해결 방법

#DIV/0!은 C2가 비어 있을 때의 =B2/C2처럼 수식이 0이나 빈 셀로 나눌 때 나타납니다. =IF(C2=0,"",B2/C2)는 대신 빈 셀을 보여 주며, 숫자가 없는 범위의 AVERAGE도 이 오류를 반환합니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

#DIV/0!은 수식이 0이나 빈 셀(빈 셀은 0으로 셈)로 나눌 때 나타납니다. C2가 0이거나 비어 있으면 =B2/C2는 #DIV/0!을 반환합니다. =IF(C2=0,"",B2/C2)는 먼저 나누는 수를 검사하고 대신 셀을 비워 둡니다.

통화당 매출
D3
ABCDE
1RepSalesCallsPer callPer call (checked)
2Ana1200403030
3Ben9000#DIV/0!
4Cy600#DIV/0!
5Dee750253030
#DIV/0! 0이나 빈 셀로 나누고 있습니다.

D3과 D4는 #DIV/0!을 보여 줍니다. Ben은 통화가 0건이고 Cy의 셀은 비어 있습니다. E열은 Ana와 Dee에게 30과 30을 보여 주고 나머지 둘은 비워 둡니다. C4에 숫자를 입력하면 두 열이 모두 채워집니다.

이 오류는 맞는 경우가 많습니다. 0으로 나누면 답이 없으며, 여기서는 데이터가 아직 없다는 뜻입니다. 빈칸이나 0으로 바꾸면 시트가 깔끔해지지만 어느 쪽이 정직한지 정하세요. AVERAGE는 0은 세고 빈 텍스트 ""는 건너뜁니다.

#DIV/0!을 고치는 IF와 IFERROR

두 수식 모두 오류를 없앱니다. 다른 무엇을 숨기는지가 다릅니다.

나누는 수 검사와 모든 오류 잡기 비교
E5
ABCDE
1RepSalesCallsIF(C=0)IFERROR
2Ana1200403030
3Ben900000
4Cy60000
5Deen/a25#VALUE!0
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

Ben과 Cy에게는 둘 다 0을 보여 줍니다. Dee의 매출에는 데이터 오류인 텍스트 n/a가 있습니다. IF 방식은 #VALUE!를 보여 주며 그곳을 가리키고, IFERROR 방식은 Dee가 아무것도 팔지 않은 것처럼 0을 보여 줍니다. 0이 예상하는 유일한 문제라면 IF(C2=0,...)를, 어떤 오류든 같은 대체 값을 내야 한다면 IFERROR를 쓰세요. 이 선택은 IFERROR 페이지에 더 자세히 있습니다.

검사는 =IF(C2,B2/C2,0)로도 쓸 수 있습니다. 0이 아닌 숫자는 TRUE로 셉니다. 더 짧지만 읽기 어렵습니다.

AVERAGE와 AVERAGEIF의 #DIV/0!

AVERAGE는 합계를 개수로 나눕니다. 셀 숫자가 없으면 0으로 나누게 됩니다.

담당자 한 명의 평균
F2
ABCDEF
1RepSalesRepAverage
2Ana1200Dan#DIV/0!
3Ben900#DIV/0!
4Ana800
5Cy600
6Ben700
#DIV/0! 0이나 빈 셀로 나누고 있습니다.

Dan은 매출 행이 없으므로 F2의 AVERAGEIF는 평균을 낼 것이 없습니다. F3은 빈 C열의 평균을 내며 결과가 같습니다. E2를 Ana로 바꾸면 F2는 1200과 800의 평균인 1000을 보여 줍니다. 엑셀에서 빈 경우를 처리하는 방법은 두 가지입니다:

=IFERROR(AVERAGEIF(A2:A6,E2,B2:B6),0)
=IF(COUNTIF(A2:A6,E2)=0,"no sales",AVERAGEIF(A2:A6,E2,B2:B6))

두 번째는 결과가 없는 이유를 말해 줍니다. AVERAGEIFS와 그냥 쓴 =SUM(B2:B6)/COUNT(B2:B6)도 똑같이 동작합니다. 조건은 AVERAGEIF를 참고하세요.

증감률의 #DIV/0!

증감률은 이전 값으로 나눕니다. 이전 값이 0이면 변화를 나타낼 수 있는 퍼센트가 없습니다.

작년 대비 변화
D4
ABCDE
1Product20252026ChangeChange (labelled)
2Desk20024020%20%
3Chair150120-20%-20%
4Lamp080#DIV/0!new
5Shelf90900%0%
#DIV/0! 0이나 빈 셀로 나누고 있습니다.

책상은 20% 늘었고 의자는 20% 줄었습니다. 램프는 2025년에 판매가 없었으므로 D4는 #DIV/0!이고 E4는 new라고 합니다. 퍼센트 열 안의 텍스트는 텍스트로 남으므로 SUM과 AVERAGE가 건너뜁니다. 수식 자체는 증감률 페이지에서 다룹니다.

#DIV/0!을 보여 주는 평균 고치기

일치하는 행이 없는 평균
F2
ABCDEF
1RepSalesRepAverage
2Ana1200Dan
3Ben900
4Ana800
5Cy600
6Ben700
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: E2에는 매출이 없는 담당자가 있으므로 =AVERAGEIF(A2:A6,E2,B2:B6)는 #DIV/0!을 반환합니다. F2에 E2 담당자의 평균 매출을, 매출이 없으면 0을 반환하는 수식을 쓰세요.

확인은 E2에 Ana를 넣고도 수식을 실행하므로, 평균을 내지 않고 0을 반환하는 수식은 실패합니다. =IF(COUNTIF(A2:A6,E2)=0,0,AVERAGEIF(A2:A6,E2,B2:B6))도 통과합니다.

자주 묻는 질문

엑셀에서 #DIV/0!은 무슨 뜻인가요?

수식이 숫자를 0이나, 엑셀이 0으로 취급하는 빈 셀로 나눴다는 뜻입니다. C2가 0이거나 비어 있으면 =B2/C2는 #DIV/0!을 반환합니다. AVERAGE, AVERAGEIF, MOD도 결국 0으로 나누게 되면 이 오류를 반환합니다.

엑셀에서 #DIV/0! 대신 0을 표시하려면 어떻게 하나요?

먼저 나누는 수를 검사합니다: =IF(C2=0,0,B2/C2). 0 대신 빈 셀을 원하면 =IF(C2=0,"",B2/C2)를 쓰세요. =IFERROR(B2/C2,0)은 더 짧지만 수식의 다른 오류까지 모두 0으로 바꿉니다.

합계가 #DIV/0!을 보여 주는 이유는 무엇인가요?

더하는 셀 중 하나에 #DIV/0!이 있고 SUM은 오류를 그대로 넘기기 때문입니다. 그 셀의 나누기를 =IF(C2=0,"",B2/C2)로 고치거나, D2:D10을 더하면서 오류 값은 건너뛰는 =AGGREGATE(9,6,D2:D10)으로 오류를 피해 더하세요.

엑셀에서 빈 셀도 #DIV/0!을 일으키나요?

네. 빈 셀은 계산에서 0으로 세므로 C2가 비어 있으면 =B2/C2는 #DIV/0!을 반환합니다. 비교에서 빈 셀은 0과 같으므로 =IF(C2=0,"",B2/C2)는 0과 빈 셀을 모두 잡습니다.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기