- 최초 작성일: 2002-06-04
- 최종 수정일: 2026-09-29
- 조회수: 24 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 최고 최저값을 제외한 평균구하기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
이번 시간에는 심사위원들이 채점을 할 때 흔히 쓰는 방식, 즉 최고점과 최저점을 제외하고 나머지 점수의 평균을 구하는 방법을 살펴봅니다. 기록 경기가 아닌 피겨 스케이팅, 다이빙, 체조 등에서 자주 볼 수 있는 채점 방식이지요.
최고 최저값을 제외한 평균구하기
핵심 요약: 최고·최저값을 제외한 평균 계산 3가지 방법
심사위원들이 채점을 할 때 최고 점수와 최저 점수를 제외한 평균을 구하는 상황을 엑셀 수식 세 가지 방법으로 풀어봅니다.
- 방법 1(고전적 방법): SUM, MAX, MIN, COUNT 함수를 조합한 수식
- 방법 2(배열 수식): LARGE, ROW, INDIRECT, COUNT 함수를 조합한 배열 수식
- 방법 3(TRIMMEAN 함수): 통계 함수 하나로 간단하게 처리하는 방법
질문 내용은 제목에 다 나와 있습니다. 즉, "심사위원들이 채점을 하였는데 최고, 최저 점수를 제외한 평균을 구하는 방법이 무엇인가?" 하는 것이었습니다. 기록 경기가 아닌 스포츠 중에서 피겨 스케이팅이나 다이빙, 체조 등을 보면 이런 식으로 채점을 하는 경우가 많이 있습니다.
[표] 심사위원별 점수와 세 가지 방법으로 구한 평균입니다.
| 점수 | 방법 | 수식 |
|---|---|---|
=ROUND(RAND()*100,-1) | ① | =(SUM(영역1)-MAX(영역1)-MIN(영역1))/(COUNT(영역1)-2) |
=ROUND(RAND()*100,-1) | ② | =AVERAGE(LARGE(영역1,ROW(INDIRECT(2&":"&COUNT(영역1)-1)))) |
=ROUND(RAND()*100,-1) | ③ | =TRIMMEAN(영역1,0.2) |
방법 ① 아주 고전적인(?) 방법
먼저, 우리가 흔히 알고 사용하는 SUM, MIN, MAX, COUNT 함수 등을 조합하여 사용하는 것입니다. 아래의 수식과 같이 하나도 어려운 것이 없습니다.
=(SUM(영역1)-MAX(영역1)-MIN(영역1))/(COUNT(영역1)-2)
여기서 '영역1'이라는 것은 B15:B24 영역으로 미리 이름을 정의해 둔 것입니다.
방법 ② 좀 덜(?) 고전적인 방법
방법 ①보다는 약간 덜 고전적인 배열 수식을 사용하여도 마찬가지 결과를 얻을 수 있습니다.
=AVERAGE(LARGE(영역1,ROW(INDIRECT(2&":"&COUNT(영역1)-1))))
오래간만에 ROW와 INDIRECT 함수를 사용하였군요. 이 함수들이 뭐하는 함수였더라 하는 생각이 드는 분은 X0188, X0197 강좌를 복습하고 오시기 바랍니다.
방법 ③ (새로운) 워크시트 함수를 이용하는 방법
'통계 함수' 범주에 있는 TRIMMEAN이라는 함수를 사용해도 동일한 결과를 얻을 수 있습니다. 일단 생긴 모양은 가장 심플하지요?
=TRIMMEAN(영역1,0.2)
TRIMMEAN 함수는 "데이터 집합의 내부 평균"을 구해주는 함수입니다. 다시 말해서 "데이터 영역 중에서 맨 위와 맨 아래에 있는 일정 비율의 데이터를 제외한 나머지 값들의 평균"을 구해주는 것입니다. TRIMMEAN 함수는 두 가지 인수로 구성되어 있습니다.
TRIMMEAN(array,percent)
array | 평균을 구하려는 데이터 영역(또는 배열) |
percent | 계산에서 제외할 데이터 요소 부분. 예를 들어 percent = 0.2이면 10요소로 된 데이터 집합 중 양끝에서 한 개씩 2요소를 제외합니다. |
주의
percent < 0거나 percent > 1이면 #NUM! 오류값이 표시됩니다. 또한 TRIMMEAN 함수는 가장 가까운 2의 배수로 내림하여 제외시킬 자료의 수를 결정합니다. 예를 들어 percent = 0.1이면 30개의 10%는 3개이나, 상하 대칭을 고려하여 각 1개씩만 제외합니다.
이상의 방법들 중에서 여러분의 구미에 맞는 것을 사용하시면 되겠습니다. 아마 찾아보시면 이것 이외에도 다른 방법도 많이 있을 것입니다.
정리 — 세 가지 방법 비교
| 방법 | 사용 함수 | 특징 |
|---|---|---|
| ① | SUM, MAX, MIN, COUNT | 가장 직관적이고 이해하기 쉬움 |
| ② | LARGE, ROW, INDIRECT, COUNT (배열 수식) | 제외 개수를 유연하게 조정하기 좋음 |
| ③ | TRIMMEAN | 수식이 가장 짧고 간단함 |
자주 묻는 질문 (FAQ)
Q1. 최고·최저값을 제외한 평균을 구하는 가장 쉬운 방법은 무엇인가요?
SUM, MAX, MIN, COUNT 함수를 조합한 =(SUM(영역)-MAX(영역)-MIN(영역))/(COUNT(영역)-2) 수식이 가장 직관적입니다. 전체 합계에서 최고값과 최저값을 뺀 다음, 개수에서 2를 뺀 값으로 나누면 됩니다.
Q2. TRIMMEAN 함수는 무엇을 하는 함수인가요?
TRIMMEAN 함수는 데이터 집합의 '내부 평균'을 구해주는 함수로, 데이터 영역 중 맨 위와 맨 아래에 있는 일정 비율의 값을 제외한 나머지 값들의 평균을 계산합니다. =TRIMMEAN(array,percent) 형태로 사용하며, percent는 계산에서 제외할 비율을 뜻합니다.
Q3. TRIMMEAN 함수는 제외할 개수를 정확히 어떻게 정하나요?
TRIMMEAN은 percent 값에 데이터 개수를 곱한 값을 가장 가까운 2의 배수로 내림하여 제외할 자료 수를 정합니다. 예를 들어 30개 데이터에서 percent가 0.1이면 10%인 3개가 아니라, 상하 대칭을 고려해 짝수로 내림한 2개(양끝에서 1개씩)를 제외합니다.
마치며
같은 결과를 얻는 방법도 여러 가지가 있다는 것, 그리고 그 중에서 상황에 맞는 방법을 고르는 안목을 기르는 것이 엑셀 실력 향상의 핵심입니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.