• 최초 작성일: 2002-04-23
  • 최종 수정일: 2026-09-29
  • 조회수: 27 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 백분율 순위 구하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

오래간만에 새로운 함수 하나를 살펴 보도록 하겠습니다. 아래와 같은 테이블이 있다고 할 때, 개인별 상대 순위를 구해야 할 경우가 있습니다. 내신 등급을 구한다거나 회사에서 사원 평가를 해야 한다거나 하는 경우가 이에 해당되겠지요.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

백분율 순위 구하기

핵심 요약

PERCENTRANK 함수를 사용하면 데이터 집합 내 특정 값의 상대적 순위를 백분율로 구할 수 있습니다.

  • PERCENTRANK(array,x,significance) 형태로 사용합니다.
  • RANK는 정수 순위를, PERCENTRANK는 백분율 순위를 구합니다.
  • Index, Match 함수와 조합하면 더 융통성 있는 자료를 만들 수 있습니다.

오래간만에 새로운 함수 하나를 살펴 보도록 하겠습니다. 아래와 같은 테이블이 있다고 할 때, 개인별 상대 순위를 구해야 할 경우가 있습니다. 내신 등급을 구한다거나 회사에서 사원 평가를 해야 한다거나 하는 경우가 이에 해당되겠지요.

[표 1]

성 명국어영어수학합계평균순위
갑돌이859080=SUM(C14:E14)=AVERAGE(C14:E14)=RANK(G14,$G$31:$G$44)
을돌이658580=SUM(C15:E15)=AVERAGE(C15:E15)=RANK(G15,$G$31:$G$44)
병돌이302025=SUM(C16:E16)=AVERAGE(C16:E16)=RANK(G16,$G$31:$G$44)
정돌이909585=SUM(C17:E17)=AVERAGE(C17:E17)=RANK(G17,$G$31:$G$44)
무돌이657595=SUM(C18:E18)=AVERAGE(C18:E18)=RANK(G18,$G$31:$G$44)
기돌이605590=SUM(C19:E19)=AVERAGE(C19:E19)=RANK(G19,$G$31:$G$44)
경돌이909090=SUM(C20:E20)=AVERAGE(C20:E20)=RANK(G20,$G$31:$G$44)
신돌이958595=SUM(C21:E21)=AVERAGE(C21:E21)=RANK(G21,$G$31:$G$44)
임돌이658550=SUM(C22:E22)=AVERAGE(C22:E22)=RANK(G22,$G$31:$G$44)
계동이808070=SUM(C23:E23)=AVERAGE(C23:E23)=RANK(G23,$G$31:$G$44)
갑순이957065=SUM(C24:E24)=AVERAGE(C24:E24)=RANK(G24,$G$31:$G$44)
을순이656575=SUM(C25:E25)=AVERAGE(C25:E25)=RANK(G25,$G$31:$G$44)
병순이806070=SUM(C26:E26)=AVERAGE(C26:E26)=RANK(G26,$G$31:$G$44)
정순이9050100=SUM(C27:E27)=AVERAGE(C27:E27)=RANK(G27,$G$31:$G$44)

[표 2]

성 명국어영어수학합계평균순위백분율 순위
갑돌이859080=SUM(C31:E31)=AVERAGE(C31:E31)=RANK(G31,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G31)
을돌이658580=SUM(C32:E32)=AVERAGE(C32:E32)=RANK(G32,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G32)
병돌이302025=SUM(C33:E33)=AVERAGE(C33:E33)=RANK(G33,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G33)
정돌이909585=SUM(C34:E34)=AVERAGE(C34:E34)=RANK(G34,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G34)
무돌이657595=SUM(C35:E35)=AVERAGE(C35:E35)=RANK(G35,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G35)
기돌이605590=SUM(C36:E36)=AVERAGE(C36:E36)=RANK(G36,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G36)
경돌이909090=SUM(C37:E37)=AVERAGE(C37:E37)=RANK(G37,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G37)
신돌이958595=SUM(C38:E38)=AVERAGE(C38:E38)=RANK(G38,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G38)
임돌이658550=SUM(C39:E39)=AVERAGE(C39:E39)=RANK(G39,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G39)
계동이808070=SUM(C40:E40)=AVERAGE(C40:E40)=RANK(G40,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G40)
갑순이957065=SUM(C41:E41)=AVERAGE(C41:E41)=RANK(G41,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G41)
을순이656575=SUM(C42:E42)=AVERAGE(C42:E42)=RANK(G42,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G42)
병순이806070=SUM(C43:E43)=AVERAGE(C43:E43)=RANK(G43,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G43)
정순이9050100=SUM(C44:E44)=AVERAGE(C44:E44)=RANK(G44,$G$31:$G$44)=PERCENTRANK($G$31:$G$44,G44)

I31 셀에는 아래와 같은 수식이 들어 있습니다.

=PERCENTRANK($G$31:$G$44,G31,3)

PercentRank라는 새로운 함수가 나왔군요. PercentRank는 데이터 영역 중에서 백분율 순위를 구해주는 함수입니다. 위의 예에서 볼 수 있듯이 이 함수를 사용하면 데이터 집합 내에서 특정 값의 상대적 순위를 알 수 있습니다.

PercentRank 함수는 세 가지 인수로 구성되어 있습니다.

PERCENTRANK(array,x,significance)

Array상대 순위를 구하고자 하는 배열 또는 범위
X순위를 구하고자 하는 값
Significance구한 백분율 값에 대한 유효 자릿수 개수. Default=세 자리(0.xxx)

주의

array가 비어 있으면 #NUM! 오류 값을 표시합니다. x와 일치하는 배열 값이 없으면 보간법을 사용하여 정확한 백분율 순위를 산출합니다. significance < 1이면 #NUM! 오류 값이 표시됩니다.

백분율 순위는 다른 작업(예를 들면 사원 평가나 내신 성적 산출 등)을 위한 기초 작업으로 사용되는 경우가 많습니다. 즉 PercentRank를 사용한 결과값을 Index, Match 함수와 조합하여 사용하면 보다 융통성 있는 자료를 만들 수 있게 됩니다. 많이 응용해 보세요.

정리 — RANK와 PERCENTRANK 비교

함수 결과 형태 수식 예
RANK정수 순위(1위, 2위…)=RANK(G31,$G$31:$G$44)
PERCENTRANK0~1 사이 백분율 순위=PERCENTRANK($G$31:$G$44,G31)

자주 묻는 질문 (FAQ)

Q1. PERCENTRANK 함수는 무엇을 계산하나요?

PERCENTRANK는 데이터 집합 내에서 특정 값의 상대적인 백분율 순위를 구해주는 함수입니다. RANK 함수가 몇 번째 순위인지를 정수로 알려준다면, PERCENTRANK는 그 순위를 0~1 사이의 백분율 값으로 환산해 줍니다.

Q2. PERCENTRANK 함수의 인수는 무엇을 의미하나요?

PERCENTRANK(array,x,significance)에서 array는 상대 순위를 구하고자 하는 배열 또는 범위, x는 순위를 구하고자 하는 값, significance는 구한 백분율 값의 유효 자릿수(기본값은 세 자리, 0.xxx)입니다.

Q3. PERCENTRANK 사용 시 주의할 점은 무엇인가요?

array가 비어 있으면 #NUM! 오류가 표시되고, x와 일치하는 배열 값이 없으면 보간법을 사용해 정확한 백분율 순위를 계산합니다. significance가 1보다 작으면 역시 #NUM! 오류가 표시됩니다.

마치며

PERCENTRANK는 단독으로도 유용하지만, Index·Match 함수와 조합하면 사원 평가나 성적 산출처럼 등급을 나누는 작업에 훨씬 유연하게 응용할 수 있습니다.