어제 오늘 내일

[Excel] 엑셀에서 랭크함수(RANK)로 석차(순위) 구하기 본문

Tools/Excel

[Excel] 엑셀에서 랭크함수(RANK)로 석차(순위) 구하기

hi.anna 2016. 11. 5. 20:14


엑셀에서 성적표의 석차 또는 순위를 구하는 방법을 알아보도록 하겠다.


엑셀에서 석차를 구하기 위해서는 RANK함수를 사용해야 한다.


RANK(number, ref, [order])

주어진 목록의 숫자의 크기 순위를 반환하는 함수이다.


number : 필수 입력값. 순위를 구하려는 숫자

ref : 필수 입력값. 순위를 구하기 위한 전체 범위

order : 선택 입력값. 

  - 0또는 생략하는 경우 : 내림차순으로 순위를 지정한다. 즉, 가장 큰 숫자가 1위.

  - 0이 아닌 경우 : 오름차순으로 순위를 지정한다. 즉, 가장 작은 숫자가 1위.


이 함수는 엑셀 2010 버전 이후부터 RANK.EQ 함수로 대체되었지만, 

2010 버전은 그 이전 버전과의 호환성을 위해서 여전히 이 함수를 지원하고 있다.

하지만, 향후에 나오는 새 버전에서는 이 함수를 사용할 수 없을지도 모르니 가급적이면 RANK.EQ 함수를 사용하라고 하지만,

이것에 대한 판단은 이 엑셀파일을 공유하여 사용할 다른 사용자들이 어떤 버전을 사용하는지에 따라 다르게 판단하여야 한다고 생각한다.


예를 들어, 이 파일의 주요 사용자가

엑셀 2010 이전버전을 주로 사용한다면 RANK.EQ 함수를 사용하면,

엑셀 2007에는 RANK.EQ함수가 없으므로, 제대로 함수가 동작하지 않을 것이다.

그러므로, 이 때에는 RANK 함수를 사용해야 한다고 생각한다.


하지만, 반대로

이 파일의 주요 사용자가

항상 최신 버전의 엑셀 프로그램을 사용한다면

향후 버전에서 RANK 함수를 지원하지 않게되면, 그 버전에서는 수식이 제대로 동작하지 않게 될 것이다.

그러므로, 이 때에는 RANK.EQ함수를 사용해야 한다고 생각한다.


판단은 각자의 몫 ㅎㅎ


일단, 여기서는 RANK함수를 사용하여 설명하도록 하겠다.





1. 아래와 같은 성적 목록의 '합계' 항목을 이용하여 석차를 구해보도록 하겠다.


2. RANK(석차를 구할 값, 석차를 계산할 전체 범위)

RANK(G3, $G$3:$G$)

여기서는 order항목은 입력하지 않았다. 

석차는 점수가 가장 높은 사람을 1등으로 산출하기 때문에.

석차를 구할 값에는 G3(김지연 학생의 과목 합계 점수)를 지정하였고,

석차를 계산할 전체 범위는 G3~G8(6명 학생)을 지정하였다.

'G3' -> '$G$3', 'G8' -> '$G$8'로 적은 것은, 

이 값은 어느 학생의 석차를 계산하더라도 변경되어서는 안되는 값이기 때문이다.

이를 절대참조라고 하는데, 

대상 영역을 지정한 후, F4키를 누르면 자동으로 셀에 $ 표시가 붙으며 절대참조 값으로 지정된다.

절대참조로 지정된 항목은, 

김지연 학생의 석차를 드래그 하여 나머지 학생들의 석차란을 채우더라도 변경되지 않는다.

즉, 김지연 학생의 석차 수식을 드래그하여, 나머지 학생의 석차를 구하면, 

나머지 학생들의 석차 수식이 자동으로 생성되게 되는데,

김정호 학생의 석차 수식은 '=RANK(G4, $G$3:$G$8)'로 첫번째 인자만 G3->G4로 변경되고, 

두번째 인자는 절대참조로 지정되었기 때문에 변경되지 않게 된다.


3. 김지연 학생의 석차를 드래그 하여 나머지 학생들의 석차도 구한다.

이수연 학생과 정은주 학생은 점수가 같고, 이 경우 동일한 석차로 표시된다.

대신 4등이 2명이므로 5등은 없는 걸로 처리된다.


4. 석차를 점수가 낮은 순서대로 산출하려면 아래와 같이

RANK(숫자, 범위, 1)을 입력한다.



[랭크(RANK) 함수를 이용한 순위 적용하기]


지금까지 엑셀에서

RANK함수를 이용하여 순위, 석차를 적용하는 방법을 알아보았다.

다음번에는 엑셀의 2010버전에서 새로 추가된 RANK.EQ 함수와 RANK.AVG함수에 대해서 알아보도록 하겠다.



반응형
Comments