엑셀 RANK 함수는 주어진 범위( 배열 )내에서 원하는 값의 통계적 순위를 구하여 반환한다. 전달된 목록안에 중복값이 있다면 이들은 중복 순위로 구해진다.
엑셀 2010 에서는 RANK 함수가 RANK.EQ 로 함수명이 변경되었다. 하지만, 호환 함수 목록의 RANK 함수명을 사용한다면 엑셀 2010 이전 버전과 호환이 가능하다.
참고1 : RANK 함수가 말하는 통계적 순위란 정렬 기준에 따라 참조 범위의 숫자를 배치하고 각 값의 위치를 숫자로 지정하는 것이다. 이 모든 처리는 RANK 함수의 내부적으로 진행되고 결과만이 반환된다.
참고2 : 엑셀 2010 에서 RANK 함수가 RANK.EQ 와 RANK.AVG 함수로 세분화된 이유는 이 중복 순위 때문이다. RANK.EQ 는 낮은 순위를 반환하고 RANK.AVG 함수는 중복값들의 평균 순위를 반환한다. RANK.AVG 함수로 예제3의 수식을 작성하면 결과는 (4+5) / 2 = 4.5 가 반환된다.
동일한 범위를 참조하여 범위내 각 셀 값의 순위를 구하는 수식을 작성할 때는 ref 인수를 절대 참조하는 것이 핵심이다.
[엑셀] 상대 참조, 절대 참조, 혼합 참조의 차이 배우기 :
http://secstart.tistory.com/154
언제까지 엑셀에서 RANK 함수를 호환 함수 목록으로 제공한다는 보장은 없다. 엑셀 2010 이상 버전에서는 이제 변경된 함수명인 RANK.EQ 를 사용하는 습관을 들이도록 하자.
게시물 관련 링크 :
[엑셀 함수] 통계 RANK 함수로 순위 구하기 + 컴활 기출 :
http://secstart.tistory.com/165
[함수] 컴활 3급 실기 엑셀 통계 RANK 함수 + 기출 풀이 :
http://secstart.tistory.com/110
컴활 2급 실기 2006년 2회 A형 기출 문제 풀이 - 계산작업 :
http://secstart.tistory.com/198
컴활 2급 실기 2006년 1회 A형 기출 문제 풀이 - 계산작업 :
http://secstart.tistory.com/202
마늘빵.
엑셀 2010 에서는 RANK 함수가 RANK.EQ 로 함수명이 변경되었다. 하지만, 호환 함수 목록의 RANK 함수명을 사용한다면 엑셀 2010 이전 버전과 호환이 가능하다.
엑셀 RANK 함수 기본 설명
설명 : RANK 함수는 지정 범위( 배열 )안에서 요구 값의 순위를 계산하여 반환한다. RANK 와 RANK.EQ 는 중복값이 있을 경우 낮은 순위를 결과로 반환한다.
구문1 : RANK( number, ref, [order] )
구문2 : RANK( 순위 계산 값, 순위 참조 범위, [정렬기준] )
인수 :
number : 순위 구하기를 원하는 값
ref : number 인수를 포함하는 값들의 참조 범위( 배열 )
[order] : ref 인수를 어떻게( 오름차순/내림차순 ) 정렬하여 순위를 구할지 지정. 옵션 인수
0 : 내림차순 정렬, 생략시 기본값
1 : 오름차순 정렬, 모든 0 아닌 값은 1 로 처리
구문1 : RANK( number, ref, [order] )
구문2 : RANK( 순위 계산 값, 순위 참조 범위, [정렬기준] )
인수 :
number : 순위 구하기를 원하는 값
ref : number 인수를 포함하는 값들의 참조 범위( 배열 )
[order] : ref 인수를 어떻게( 오름차순/내림차순 ) 정렬하여 순위를 구할지 지정. 옵션 인수
0 : 내림차순 정렬, 생략시 기본값
1 : 오름차순 정렬, 모든 0 아닌 값은 1 로 처리
참고1 : RANK 함수가 말하는 통계적 순위란 정렬 기준에 따라 참조 범위의 숫자를 배치하고 각 값의 위치를 숫자로 지정하는 것이다. 이 모든 처리는 RANK 함수의 내부적으로 진행되고 결과만이 반환된다.
엑셀 RANK 함수 사용 예제
[그림1] RANK 함수로 순위를 구하는 예제
[그림1] 의 ref 인수를 정렬해 나열해 봅니다.
- 0 ( 내림차순 ) : 20, 12, 10, 7, 7, 5, 3
- 1 ( 오름차순 ) : 3, 5, 7, 7, 10, 12, 20
- 0 ( 내림차순 ) : 20, 12, 10, 7, 7, 5, 3
- 1 ( 오름차순 ) : 3, 5, 7, 7, 10, 12, 20
사용 예제1 : =RANK( A4, A4:A10 )
사용 결과1 : 3
A4 셀의 순위를 구하기 위해 RANK 함수를 사용한다. 순위를 비교할 범위는 A4:A10 이다. A4 셀의 값, 10 을 범위에서 비교하여 그 순위를 구하는 것이다. 순위를 구하는 기준은 내림차순이다. 세 번째 인수가 생략되어 있기에 기본값인 0 ( 내림차순 )이 적용되는 것이다.
ref 인수를 내림차순으로 나열하면 10 은 3 번째에 위치한다. 따라서 결과( 순위 )는 3 이 반환된다.
사용 결과1 : 3
A4 셀의 순위를 구하기 위해 RANK 함수를 사용한다. 순위를 비교할 범위는 A4:A10 이다. A4 셀의 값, 10 을 범위에서 비교하여 그 순위를 구하는 것이다. 순위를 구하는 기준은 내림차순이다. 세 번째 인수가 생략되어 있기에 기본값인 0 ( 내림차순 )이 적용되는 것이다.
ref 인수를 내림차순으로 나열하면 10 은 3 번째에 위치한다. 따라서 결과( 순위 )는 3 이 반환된다.
사용 예제2 : =RANK( 20, A4:A10, 1 )
사용 결과2 : 7
20 의 순위를 A4:A10 의 ref 값들과 비교하여 구한다. 그 기준은 3 번째 인수가 1 이기에 오름차순이 된다. 따라서, A4:A10 범위의 값은 3, 5, 7, 7, 10, 12, 20 으로 내부 정렬되고 20 의 위치인 7 이 순위로 반환된다.
사용 결과2 : 7
20 의 순위를 A4:A10 의 ref 값들과 비교하여 구한다. 그 기준은 3 번째 인수가 1 이기에 오름차순이 된다. 따라서, A4:A10 범위의 값은 3, 5, 7, 7, 10, 12, 20 으로 내부 정렬되고 20 의 위치인 7 이 순위로 반환된다.
사용 예제3 : =RANK( 7, A4:A10, 0 )
사용 결과3 : 4
순위를 계산할 범위인 A4:A10 의 값을 내림차순( 3번째 인수 0 ) 정렬하여 7 의 위치를 반환한다. 그런데 A4:A10 을 내림차순 정렬하면 7 이 4 번째와 5 번째에 2번 중복하여 위치한다. 이때 반환되는 순위는 ???
ref 범위안에 중복값이 존재하고 그 값의 순위를 구한다면 RANK 나 RANK.EQ 함수는 낮은 순위를 반환한다. 7 의 위치인 4 번째와 5 번째 중에서 낮은 값인 4 를 중복값 모두의 순위로 지정한다는 것이다.
사용 결과3 : 4
순위를 계산할 범위인 A4:A10 의 값을 내림차순( 3번째 인수 0 ) 정렬하여 7 의 위치를 반환한다. 그런데 A4:A10 을 내림차순 정렬하면 7 이 4 번째와 5 번째에 2번 중복하여 위치한다. 이때 반환되는 순위는 ???
ref 범위안에 중복값이 존재하고 그 값의 순위를 구한다면 RANK 나 RANK.EQ 함수는 낮은 순위를 반환한다. 7 의 위치인 4 번째와 5 번째 중에서 낮은 값인 4 를 중복값 모두의 순위로 지정한다는 것이다.
참고2 : 엑셀 2010 에서 RANK 함수가 RANK.EQ 와 RANK.AVG 함수로 세분화된 이유는 이 중복 순위 때문이다. RANK.EQ 는 낮은 순위를 반환하고 RANK.AVG 함수는 중복값들의 평균 순위를 반환한다. RANK.AVG 함수로 예제3의 수식을 작성하면 결과는 (4+5) / 2 = 4.5 가 반환된다.
사용 예제4 : =RANK( A6, A4:A10 )
사용 결과4 : 6
A6 셀의 값, 5 로 A4:A10 의 범위에서 순위를 계산한다. order 인수는 생략되어 있다. 따라서, 정렬 기준은 기본값인 내림차순( 0 )으로 지정된다. 내림차순 20, 12, 10, 7, 7, 5, 3 으로 내부 정렬하면 5 의 순위는 6 이 된다. 중복값 7 의 위치가 4 번째와 5 번째이기 때문이다.
사용 결과4 : 6
A6 셀의 값, 5 로 A4:A10 의 범위에서 순위를 계산한다. order 인수는 생략되어 있다. 따라서, 정렬 기준은 기본값인 내림차순( 0 )으로 지정된다. 내림차순 20, 12, 10, 7, 7, 5, 3 으로 내부 정렬하면 5 의 순위는 6 이 된다. 중복값 7 의 위치가 4 번째와 5 번째이기 때문이다.
엑셀 RANK 함수 오류
RANK 함수에서 발생하는 대부분의 오류는 다음과 같다.- RANK 함수에 전달된 number 인수가 ref 인수 범위에 존재하지 않는다면 #N/A 오류를 발생한다.
- ref 인수의 값이 텍스트로 표현된 수치라면 이를 해석하지 못한다. 이로 인한 #N/A 오류도 주의하자.
- ref 인수의 값이 텍스트로 표현된 수치라면 이를 해석하지 못한다. 이로 인한 #N/A 오류도 주의하자.
같은 범위를 참조하여 각 셀 순위 구하기
A4:A10 범위를 ref 인수로 놓고 각 셀을 number 인수로 하여 B4:B10 범위에 내림차순 순위를 구해보자.1) B4 셀에 셀 포인터를 놓는다.
2) =RANK( A4, $A$4:$A$10 ) 수식을 입력한다.
3) A4 셀의 값으로 A4:A10 범위에서 순위를 구한다. ref 인수를 절대 참조한 이유는 B4 셀의 수식을 아래로 수식 복사할 때 ref 인수가 바뀌지 않게 하려는 것이다.
4) B4 셀의 채우기 핸들을 B10 까지 당겨 수식을 복사한다.
2) =RANK( A4, $A$4:$A$10 ) 수식을 입력한다.
3) A4 셀의 값으로 A4:A10 범위에서 순위를 구한다. ref 인수를 절대 참조한 이유는 B4 셀의 수식을 아래로 수식 복사할 때 ref 인수가 바뀌지 않게 하려는 것이다.
4) B4 셀의 채우기 핸들을 B10 까지 당겨 수식을 복사한다.
동일한 범위를 참조하여 범위내 각 셀 값의 순위를 구하는 수식을 작성할 때는 ref 인수를 절대 참조하는 것이 핵심이다.
[엑셀] 상대 참조, 절대 참조, 혼합 참조의 차이 배우기 :
http://secstart.tistory.com/154
언제까지 엑셀에서 RANK 함수를 호환 함수 목록으로 제공한다는 보장은 없다. 엑셀 2010 이상 버전에서는 이제 변경된 함수명인 RANK.EQ 를 사용하는 습관을 들이도록 하자.
게시물 관련 링크 :
[엑셀 함수] 통계 RANK 함수로 순위 구하기 + 컴활 기출 :
http://secstart.tistory.com/165
[함수] 컴활 3급 실기 엑셀 통계 RANK 함수 + 기출 풀이 :
http://secstart.tistory.com/110
컴활 2급 실기 2006년 2회 A형 기출 문제 풀이 - 계산작업 :
http://secstart.tistory.com/198
컴활 2급 실기 2006년 1회 A형 기출 문제 풀이 - 계산작업 :
http://secstart.tistory.com/202
마늘빵.
'엑셀 컴활 함수' 카테고리의 다른 글
[엑셀 모바일] COUNTA 함수로 비공백 셀 카운트하기 (0) | 2016.10.05 |
---|---|
[엑셀 모바일] AVERAGEA 함수로 모든 값의 평균 구하기 (2) | 2016.10.04 |
[엑셀 모바일] COUNT 함수로 숫자 셀의 개수 세기 (0) | 2016.09.30 |
[엑셀 모바일] MODE 함수로 빈도수가 가장 높은 값 얻기 (1) | 2016.09.29 |
[엑셀 모바일] MEDIAN 함수로 중간값 계산하기 (0) | 2016.09.28 |