본문 바로가기
프로그래밍

엑셀, 팁(5) - 랭크 구하기

by 청청개구리 2022. 4. 24.
728x90

 

 

값에 대한 랭크를 구하고자 한다면, RANK.EQ(), RANK.AVG() 를 사용하자

일정한 조건에 따라 관계식을 통해서 나온 결과에 대한 평가를 할때,

과연 이 데이터 들 중에서 얼마나 상위(하위)의 결과 인건지 확인하고 싶을 때에 유용하다.

 

 

 

RANK.EQ()

https://support.microsoft.com/ko-kr/office/rank-eq-%ED%95%A8%EC%88%98-284858ce-8ef6-450e-b662-26245be04a40

설명

수 목록 내에서 지정한 수의 크기 순위를 반환합니다. 해당 크기는 목록의 다른 값과 상대적입니다. 두 개 이상의 값에 동일한 순위가 있는 경우 해당 값 집합의 상위 순위가 반환됩니다.

목록을 정렬하면 수의 위치와 순위가 같아질 수 있습니다.

구문

RANK.EQ(number,ref,[order])

RANK.EQ 함수 구문에는 다음과 같은 인수가 사용됩니다.

  • number     필수 요소입니다. 순위를 구하려는 수입니다.
  • ref     필수 요소입니다. 숫자 목록의 배열 또는 참조입니다. 숫자 이외의 값은 무시됩니다.
  • order     선택 요소입니다. 순위 결정 방법을 지정하는 수입니다.

 

 

 

RANK.AVG()


https://support.microsoft.com/ko-kr/office/rank-avg-%ED%95%A8%EC%88%98-bd406a6f-eb38-4d73-aa8e-6d1c3c72e83a

설명

수 목록에서 특정 수의 순위를 반환합니다. 수의 순위는 목록에 있는 다른 수와의 상대 크기를 말합니다. 순위가 같은 수가 여러 개이면 평균 순위가 반환됩니다.

구문

RANK.AVG(number,ref,[order])

RANK.AVG 함수 구문에는 다음과 같은 인수가 사용됩니다.

  • number     필수 요소입니다. 순위를 구하려는 수입니다.
  • ref     필수 요소입니다. 숫자 목록의 배열 또는 참조입니다. 숫자 이외의 값은 무시됩니다.
  • order     선택 요소입니다. 순위 결정 방법을 지정하는 수입니다.

주의

  • order가 0이거나 이를 생략하면 ref가 내림차순으로 정렬된 목록인 것으로 가정하여 number의 순위를 부여합니다.
  • order가 0이 아니면 ref가 오름차순으로 정렬된 목록인 것으로 가정하여 number의 순위를 부여합니다.

 

 

엇비슷해 보이는 EQ와 AVG의 차이를 아래에 그 예를 보인다.

역시 데이터는 'KRX금현물'

 

 

D열과 E열에 거래량에 대한 랭크를 구해보았다.

식은 아래에 보인다.

 

 

자 이제 EQ와 AVG의 차이를 보이기 위해 데이터를 바꾸어 본다.

 

1월5,6,7,8일의 거래량을 같은 값으로 바꾸었다. 랭크에 영향을 주었을터.

랭크1,2,3의 뒤로, 바꾼값 3000에 대해서 랭크 4,5,6,7이 동률이 된다.

여기서 EQ를 사용하면 4,5,6,7의 상위값 4 를 얻게 되고,

AVG를 사용하면 4,5,6,7의 산술평균 5.5를 얻게 된다.

 

 

 

과연 이 차이가 어떤 의미가 있는지?

언제 어떻게 다르게 사용해야할지,,, 

 

 

 

728x90