안녕하세요?
RANK 함수를 이용한 동일순위의 순위를 재결정하는 방법을 알아 보도록 하겠습니다.
아래 그림과 같이 전체 총점기준으로 순위를 결정했을때 3등이 3명이 나오는데...
출석점수가 높은 사람이 높은순위를 주고 싶다고 설정합니다.
먼저 여기서 RANK 함수의 원리에 대해서 일단 생각을 하고 넘어가야 합니다.
RANK 함수는 나보다 점수가 높은 사람수 + 1 이라고 생각하면 됩니다.
그래서 위 그림에서 [K4]셀에...
=COUNTIF($J$4:$J$20,">"&J4)+1
로 입력후 아래로 드래그 하면...
=RANK.EQ(J4,$J$4:$J$20)
로 입력후 아래로 드래그 한것과 같은 결과를 나타냅니다.
여기까지는 모두 이해되셨죠?
그럼 특정조건(출석점수가 높은)에 맞는 데이터 숫자를 현재순위에 더해주면 원하는 결과를 얻을 수 있겠죠?
그 특정조건(출석점수가 높은)은 나와 총점이 같고, 그리고 출석점수가 높은 사람의 수가 될겁니다.
그러므로 이러한 경우 다중조건에 대한 갯수를 구할 수 있는 COUNTIFS함수를 이용하면 문제는 간단히 해결됩니다.
[M4]셀에...
=RANK.EQ(J4,$J$4:$J$20)+COUNTIFS($J$4:$J$20,J4,$C$4:$C$20,">"&C4)
로 입력후 아래로 드래그 하면 동일점수에 대해 출석점수가 높은 사람의 등수가 높게 나타나겠죠.
COUNTIFS함수의 첫번째 조건은 [J4:J20]셀에서 [J4]셀과 같고, [C4:C20]셀에서 [C4]셀값보다 큰 값의 갯수를 카운트 하라는 뜻이므로 카운트값에 RANK함수 결과를 더해주면 아래와 같이 원하는 결과를 얻으실 수 있습니다.
위 그림에서 [B6]의 진형식은 초기 순위는 3등이었지만 같은 3등이었던 박정훈, 양진식중 박정훈이 본인보다 출석점수가 높아 4등으로 순위가 결정되었고 마찬가지로 양진식은 진형식과 박정훈이 모두 본인보다 출석점수가 높아 5등이 된것을 확인할 수 있습니다.
그럼 또...!