- 최초 작성일: 2014-03-25
- 최종 수정일: 2026-09-21
- 조회수: 83 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 0(Zero)을 제외한 평균 계산하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
얼마 전 강좌에서 "0 값을 화면 상에서 숨기는 몇 가지 방법"에 대해 소개드린 적이 있었는데
그 이후에 이런 질문을 주신 중국 직원이 있습니다.
"화면 상으로만 숨기게 되면 나중에 평균을 구하거나 할 때 제대로 된 결과값이 안 나오는데,
숨기는 방법 말고 0을 아예 없애는 방법은 없나요?"
엑셀 0(Zero)을 제외한 평균 계산하기
핵심 요약: 0을 제외한 평균을 구하는 방법
원본 데이터는 그대로 두고 0을 제외한 값들의 평균을 구하려면 AVERAGEIF 함수를 쓰거나, 이전 버전에서는 SUMIF와 COUNTIF를 나누는 수식을 씁니다.
-
0을 아예 없애기:
Ctrl+H로 '찾을 내용'에 0, '바꿀 내용'은 비우고 '모두 바꾸기'를 누릅니다. -
AVERAGEIF:
=AVERAGEIF(B26:B45,"<>0")— Excel 2007 이후 버전에서 사용할 수 있습니다. -
SUMIF ÷ COUNTIF:
=SUMIF(B26:B45,"<>0")/COUNTIF(B26:B45,"<>0")— 이전 버전에서도 사용할 수 있습니다. -
배열 수식:
=AVERAGE(IF(B26:B45<>0,B26:B45))을Ctrl+Shift+Enter로 입력합니다.
1. 0을 아예 없애는 방법 — 찾기/바꾸기
그래서 알려드린 방법은 "찾기/바꾸기" 기능을 사용하는 것이었습니다.
Ctrl + H 키를 누른 다음,
"찾을 내용" 부분에는 0을,
"바꿀 내용" 부분에는 아무 것도 입력하지 않고
"모두 바꾸기" 버튼을 누르는 것이지요.
주의: '전체 셀 내용 일치'
'찾을 내용'에 0만 입력하고 바꾸면 10, 20, 100처럼 0이 들어 있는 다른 숫자의 0까지 지워집니다. '옵션' 버튼을 눌러 '전체 셀 내용 일치'를 체크한 뒤 '모두 바꾸기'를 누르세요.
2. 원본은 그대로 두고 0을 제외한 평균 구하기
그런데 원본 데이터는 그대로 둔 채로 0을 제외한 평균을 구해야 하는 경우가 있습니다.
| 번호 | 값(B26:B45) |
|---|---|
| 1 | 7 |
| 2 | 7 |
| 3 | 5 |
| 4 | 7 |
| 5 | 0 |
| 6 | 2 |
| 7 | 5 |
| 8 | 9 |
| 9 | 9 |
| 10 | 8 |
| 11 | 2 |
| 12 | 8 |
| 13 | 1 |
| 14 | 0 |
| 15 | 1 |
| 16 | 6 |
| 17 | 9 |
| 18 | 1 |
| 19 | 1 |
| 20 | 1 |
위와 같은 표에서 0을 제외한 나머지 값들의 평균을 구해야 한다면 어떻게 해야 할까요?
이럴 때에는 아래와 같이 하면 됩니다.
=AVERAGEIF(B26:B45,"<>0")
결과: 4.944444…(0이 아닌 값 18개의 합 89 ÷ 18)
Averageif 함수는 Excel 2007 이후 버전부터 제공되는 함수로
그 이전 버전을 사용하신다면 아래와 같이 할 수도 있습니다.
=SUMIF(B26:B45,"<>0")/COUNTIF(B26:B45,"<>0")
결과: 4.944444…
우리가 아주 잘 알고 있는 Sumif와 Countif 함수를 이용하였군요.
그런가 하면 이렇게 할 수도 있겠습니다.
{=AVERAGE(IF(B26:B45<>0,B26:B45))}
결과: 4.944444…
수식 앞과 뒤에 { }가 붙은 것을 보니 뭐 생각나는 것 없습니까?
그렇지요. 바로 "배열 수식(Array Formula)"입니다.
{ }은 손으로 직접 입력하는 것이 아니라 =AVERAGE(IF(B26:B45<>0,B26:B45))까지 입력하고Ctrl + Shift + Enter 키를 함께 치면 자동으로 생깁니다.
참고: 최신 Excel에서는
Excel 365와 Excel 2021 이후 버전은 동적 배열을 지원하므로 Ctrl + Shift + Enter 없이 Enter만 눌러도 이 수식이 계산됩니다. 이전 버전에서는 위처럼 Ctrl + Shift + Enter로 입력해야 합니다.
B26:B45<>0
이 부분이 의미하는 것은, B26:B45 셀의 값이 0인지를 하나씩 확인하는 것입니다.
그래서 0이 아닌 경우에는 Average를 계산할 때 반영하라는 의미입니다.
3. 예제 표에 들어 있는 수식 — RANDBETWEEN
참고로 위의 표에는 이런 수식이 들어 있습니다.
=RANDBETWEEN(0,10)
Randbetween은 사용자가 지정한 범위 내에 있는 임의의 숫자를 만들어주는 함수입니다.
위와 같이 Randbetween(0, 10)이라고 하면, 0 ~ 10 사이에 있는 임의의 숫자를 만들어줍니다.
💡 TIP: 잘 챙겨두세요
별 희안한 함수가 다 있지요? 이 함수도 언젠가 유용하게 써먹을 데가 있을테니 잘 챙겨두시기 바랍니다.
정리 — 0을 제외한 평균 구하는 방법 비교
| 방법 | 수식 | 특징 |
|---|---|---|
| AVERAGEIF | =AVERAGEIF(B26:B45,"<>0") |
가장 간단함. Excel 2007 이후 버전 |
| SUMIF ÷ COUNTIF | =SUMIF(B26:B45,"<>0")/COUNTIF(B26:B45,"<>0") |
이전 버전에서도 사용 가능 |
| 배열 수식 | {=AVERAGE(IF(B26:B45<>0,B26:B45))} |
Ctrl+Shift+Enter로 입력(최신 Excel은 Enter만으로 가능) |
자주 묻는 질문 (FAQ)
Q1. 엑셀에서 0을 제외하고 평균을 구하려면 어떻게 하나요?
AVERAGEIF 함수를 사용해 =AVERAGEIF(B26:B45,"<>0")처럼 조건을 '0이 아닌 값'으로 지정하면 됩니다. Excel 2007 이전 버전에서는 =SUMIF(B26:B45,"<>0")/COUNTIF(B26:B45,"<>0")를 사용할 수 있습니다.
Q2. 배열 수식 =AVERAGE(IF(B26:B45<>0,B26:B45))는 어떻게 입력하나요?
수식 앞뒤의 { }는 직접 입력하는 것이 아니라 =AVERAGE(IF(B26:B45<>0,B26:B45))까지 입력한 뒤 Ctrl + Shift + Enter 키를 함께 누르면 자동으로 생깁니다. IF 함수가 B26:B45의 값이 0인지 하나씩 확인해서 0이 아닌 값만 평균에 반영합니다.
Q3. 찾기/바꾸기로 0을 지울 때 주의할 점은 무엇인가요?
'찾을 내용'에 0을 입력하고 '모두 바꾸기'를 누르면 기본 설정에서는 10, 20처럼 0이 들어 있는 다른 숫자의 0까지 지워집니다. '옵션'에서 '전체 셀 내용 일치'를 체크한 뒤 바꾸어야 값이 0인 셀만 지워집니다.
마치며
오늘은 여기까지…