파트너스 활동의 일환으로 이에 따른 수수료를 제공 받습니다.
엑셀 RANK 순위 함수에 대한 모든것
엑셀 RANK는 통계 함수로 실전 작업에 기본이 되는 함수 입니다.
순위를 결정할 때 주로 사용하지만
다른 수식과 연동하여 다른 용도로도 유용하게 사용할 수 있습니다.
오름차순 정렬과 내림차순 정렬에 대해 알아보고 중복값에 대한 해결방법도 알아 보겠습니다.
[RANK] [순위] [RANK오류] [RANK오름차순] [RANK 중복값] [엑셀순위함수]
순위를 결정할 때 주로 사용하지만
다른 수식과 연동하여 다른 용도로도 유용하게 사용할 수 있습니다.
오름차순 정렬과 내림차순 정렬에 대해 알아보고 중복값에 대한 해결방법도 알아 보겠습니다.
[RANK] [순위] [RANK오류] [RANK오름차순] [RANK 중복값] [엑셀순위함수]
엑셀 RANK 함수 사용 예시
[C3] 셀에 =rank(B3,$B$3:$B$11) 입력 합니다.
수식을 복사하여 아래 빈칸 까지 완성합니다.
수식 복사 할 경우 절대참조($)를 입력해야 합니다.단축키(F4)
수식 복사 할 경우 절대참조($)를 입력해야 합니다.단축키(F4)

매출이 높은 순서대로 순위가 지정된 모습입니다.
엑셀 RANK 함수 내림차순 정렬
동일 하게 수식 입력 후 세 번째 인수를 입력 합니다.
복사 붙여 넣기 하여 수식을 완성합니다.
복사 붙여 넣기 하여 수식을 완성합니다.
RANK 함수는 총 3가지 인수가 필요합니다.
첫 번째 인수 : 순위를 지정할셀
두 번째 인수 : 순위 전체 범위
세 번째 인수 : 오름차순, 내림차순 결정 0혹은 생략시 오름차순
0제외 다른 숫자 입력시 내림차순 표시
첫 번째 인수 : 순위를 지정할셀
두 번째 인수 : 순위 전체 범위
세 번째 인수 : 오름차순, 내림차순 결정 0혹은 생략시 오름차순
0제외 다른 숫자 입력시 내림차순 표시
매출, 이익 등 높은 데이터가 1순위로 표시하게 하려면
오름차순을 이용하고 컴플레인 건수, 달리기 기록등 낮은 데이터가 1순위로 표시 하려면
내림차순을 이용하여 수식을 입력 합니다.
오름차순을 이용하고 컴플레인 건수, 달리기 기록등 낮은 데이터가 1순위로 표시 하려면
내림차순을 이용하여 수식을 입력 합니다.
엑셀 RANK 함수 중복값, 중복 등수 순위 해결
RANK 함수 사용 시 동일한 값의 등수를 매길 경우
순위가 공동 순위로 나타나 1,2,3… 4 4 4 7 같이 5,6이 생략된 채로 입력이 됩니다.
같은 값이라도 공동 순위 말고 일반적인 순위가 나오는 방법을 알아 보겠습니다. 방법은 여러가지가 있지만 두가지 정도로 정리하도록 하겠습니다.
[COUNTIF 활용], [RAND 활용]
순위가 공동 순위로 나타나 1,2,3… 4 4 4 7 같이 5,6이 생략된 채로 입력이 됩니다.
같은 값이라도 공동 순위 말고 일반적인 순위가 나오는 방법을 알아 보겠습니다. 방법은 여러가지가 있지만 두가지 정도로 정리하도록 하겠습니다.
[COUNTIF 활용], [RAND 활용]
RANK 중복값 제거 COUNTIF 함수 활용 중복 등수 해결
다음과 같은 데이터 에서 순위를 구해 보겠습니다.
매장별로 리뷰점수가 입력 되어 있으며 점수가 같은 매장이 몇군데 있습니다.
중복순위를 없애는 가장 흔한 방법으로 COUNTIF를 사용하여 마치 공식처럼 해결하는 방법이 있습니다.
=RANK(값,$범위)+COUNTIF($시작셀:시작셀,값)-1 입니다.
매장별로 리뷰점수가 입력 되어 있으며 점수가 같은 매장이 몇군데 있습니다.
중복순위를 없애는 가장 흔한 방법으로 COUNTIF를 사용하여 마치 공식처럼 해결하는 방법이 있습니다.
=RANK(값,$범위)+COUNTIF($시작셀:시작셀,값)-1 입니다.


우선 이 방법은 데이터가 정렬이 되어 있어야 합니다. 리뷰점수는 높을 수록 좋은 것이니 내림차순으로 정렬을 해주었습니다. 이후 수식을 입력 합니다
[C2]셀에 =RANK(B2,$B$2:$B$21)+COUNTIF($B$2:B2,B2)-1 입력 합니다.
입력 후 자동 채우기 혹은 복사 붙여넣기를 통해 데이터를 완성 해줍니다.
[C2]셀에 =RANK(B2,$B$2:$B$21)+COUNTIF($B$2:B2,B2)-1 입력 합니다.
입력 후 자동 채우기 혹은 복사 붙여넣기를 통해 데이터를 완성 해줍니다.

그림과 같이 중복 순위 없이 순위가 입력이 되었습니다.
COUNTIF($B$2:B2,B2) 함수를 첫 칸에 입력 하여 아래로 내려 갈 수록
범위가 확장 되는것을 이용하여
해당 범위에 중복되는 값이 몇개 인지 찾아내는 원리 입니다. 범위를
$시작셀$:시작셀 로 지정 [앞부분에만 절대참조]를 씌워 범위를 지정한 후 -1을 하여 정상적인 순위가 나오게 하는 방법 입니다.
범위가 확장 되는것을 이용하여
해당 범위에 중복되는 값이 몇개 인지 찾아내는 원리 입니다. 범위를
$시작셀$:시작셀 로 지정 [앞부분에만 절대참조]를 씌워 범위를 지정한 후 -1을 하여 정상적인 순위가 나오게 하는 방법 입니다.

절대참조를 잘 입력 하였을 경우 COUNTIF 범위가
한칸씩 내려 갈 수록 범위가 한칸씩 확장 되는것을 볼 수 있습니다.
한칸씩 내려 갈 수록 범위가 한칸씩 확장 되는것을 볼 수 있습니다.
COUNTIF 방법은 데이터가 정렬이 되지 않으면 쓸 수 없습니다. 데이터를 정렬 할수 없는상황에서 쓸 수 있는 다른 방법을 알아보겠습니다.
RANK 중복값 제거 RAND 함수 활용 중복 등수 해결
이런 상황에 정렬 없이 중복 등수를 없애 보겠습니다. =RAND()를 빈칸에 입력 하면 0과 1사이의 난수가 입력이 됩니다. 이점을 이용하여 정렬을 유지하면서 해보겠습니다.

RAND 를 입력하여 난수를 만들어 줍니다. 그리고 리뷰점수에 더해 줄것 인데 리뷰점수가 소수점이 있다보니 점수에 영향을 줄수 있어 *0.01을 해줍니다. 어쩌면 데이터 자체를 변경하게 하는것이라 중복등수를 완전히 해결한다고 볼 수 는 없지만 변동이 없는 데이터라면 사용이 가능합니다.

이렇게 난수를 이용하여 중복 순위를 없앨 수 있습니다. 그러나 행추가가 있기 때문에 이것이 없어야 한다면 숨기기 혹은 값 붙여넣기를 해야 합니다.

데이터의 변동이 필요하다면 그림과 같이 행 전체 숨기기를 이용하여 깔끔하게 만들수 있습니다.

데이터 변동이 없고 수식이 없어져도 된다면 값 붙여넣기를 한 후 난수와 이전 순위 함수 가 들어 있는 행은 삭제를 하여 깔끔하게 만들 수 도 있습니다.