본문 바로가기
업무 지식/엑셀 함수

[엑셀] 순위 구하기 (RANK, RANK.EQ, RANK.AVG 함수)

by 김억지 2023. 5. 5.

엑셀에서 순위를 구하는 데 사용되는 함수는 크게 3가지입니다. RANK, RANK.EQ, RANK.AVG 함수인데 예전에는 RANK 함수만 쓰이다가 RANK 함수가 RANK.EQ, RANK.AVG로 세분화되었다고 이해하시면 되겠습니다. 

 

RANK.EQ, RANK.AVG 두 개로 세분화되었지만 RANK 함수도 여전히 사용이 가능하며, 실질적으로 RANK 함수와 RANK.EQ 함수는 동일한 함수로 보셔도 됩니다.

 

RANK.EQ(RANK), RANK.AVG 함수의 구조는 동일하지만 약간의 차이가 있습니다. RANK.EQ(RANK) 함수는 순위를 구하려는 범위 내에 동일한 값이 있을 때는 동일한 값 모두 상위 순위를 반환합니다. 예를 들어 세 번째 순위의 값이 3개가 있을 때 1, 2, 3, 3, 3, 6, 7 순으로 순위가 나타납니다.

 

반면에 RANK.AVG 함수는 순위를 구하려는 범위 내에 동일한 값이 있을 때 동일한 값 모두 평균 순위를 반환합니다. 예를 들어 세 번째 순위의 값이 2개가 있을 때 1, 2, 3.5, 3.5, 5, 6, 7 순으로 순위가 나타납니다. RANK, RANK.EQ, RANK.AVG 함수의 구조는 아래와 같습니다.

 

=RANK, RANK.EQ, RANK.AVG(Number, Ref, Order)

 

첫 번째 인수 Number는 순위를 구하려는 수입니다.

 

두 번째 인수 Ref는 순위를 구하려는 수의 범위입니다. 수 이외의 값은 제외됩니다.

 

세 번째 인수 Order는 순위를 정할 방법을 지정하는 수입니다. 0이나 생략하면 내림차순(높은 수가 1위), 0이 아닌 값을 지정하면 오름차순(낮은 수가 1위)으로 순위가 정해집니다.

 

위와 같이 학생들의 중간고사 성적이 있는 표에서 평균점수에 따라 순위를 나타내보겠습니다.

 

F4셀에 '=RANK.EQ(E4,$E$4:$E$16,0)'을 입력합니다.('RANK.EQ' 대신 'RANK'를 입력해도 결과는 똑같습니다.)

 

첫 번째 인수 E4는 순위를 구하려는 수입니다. 평균점수가 있는 E4셀로 지정을 합니다.

 

두 번째 인수 $E$4:$E$16는 순위를 구하려는 수의 범위입니다. 학생들의 평균점수가 있는 수의 범위를 선택합니다. 여기서 주의할 점은 범위를 절대참조로 입력해야 한다는 것입니다. 수식이 입력된 F4셀을 드래그하여 채웠을 때 두 번째 인수인  $E$4:$E$16는 고정이 되어야만 정확한 순위를 구할 수 있기 때문입니다.

 

세 번째 인수 0은 순위를 내림차순으로 구하기 위해 입력하는 인수인데, 위와 같이 내림차순으로 순위를 구할 때는 세 번째 인수를 생략해도 됩니다. 하지만 순위를 오름차순으로, 즉 낮은 수가 1위로 하고자 할 때는 세 번째 인수에 0이 아닌 값을 입력해야 합니다.

 

이렇게 수식을 입력한 다음에 F4셀을 드래그하여 F16셀까지 채워보겠습니다.

평균점수의 내림차순으로 순위가 나타난 것을 확인할 수 있습니다. 앞서 설명드렸듯이 RANK.EQ 함수의 경우에는 범위에 동일한 값이 있을 때는 같은 값 모두 상위 순위를 반환합니다.(RANK 함수도 동일합니다.) 범위에서 가장 높은 점수가 97점인데 97점인 학생이 총 2명입니다. 2명 모두 순위는 '1'로 나타나고, 대신 2위는 생략한 다음 3위부터 시작을 합니다. 84점인 학생도 2명인데 2명 모두 순위가 '10'으로 나타나고 11위는 생략한 다음 12위부터 시작합니다.

 

이번에는 RANK.EQ 함수 대신 RANK.AVG 함수를 입력해 보겠습니다.

RANK.EQ 함수와 달리 RANK.AVG 함수는 범위 내의 같은 수가 평균 순위로 나타납니다. 97점인 학생이 2명이므로 2명 모두 1위와 2위의 평균값인 '1.5'로 나타나고 다음 점수는 3위부터 시작을 합니다.

 

순위를 구하는 함수는 실무에서 빈번하게 사용됩니다. 상황에 맞게 RANK.EQ, RANK.AVG 함수를 사용하시면 되겠습니다.

댓글