값에 대한 랭크를 구하고자 한다면, RANK.EQ(), RANK.AVG() 를 사용하자
일정한 조건에 따라 관계식을 통해서 나온 결과에 대한 평가를 할때,
과연 이 데이터 들 중에서 얼마나 상위(하위)의 결과 인건지 확인하고 싶을 때에 유용하다.
RANK.EQ()
설명
수 목록 내에서 지정한 수의 크기 순위를 반환합니다. 해당 크기는 목록의 다른 값과 상대적입니다. 두 개 이상의 값에 동일한 순위가 있는 경우 해당 값 집합의 상위 순위가 반환됩니다.
목록을 정렬하면 수의 위치와 순위가 같아질 수 있습니다.
구문
RANK.EQ(number,ref,[order])
RANK.EQ 함수 구문에는 다음과 같은 인수가 사용됩니다.
- number 필수 요소입니다. 순위를 구하려는 수입니다.
- ref 필수 요소입니다. 숫자 목록의 배열 또는 참조입니다. 숫자 이외의 값은 무시됩니다.
- order 선택 요소입니다. 순위 결정 방법을 지정하는 수입니다.
RANK.AVG()
설명
수 목록에서 특정 수의 순위를 반환합니다. 수의 순위는 목록에 있는 다른 수와의 상대 크기를 말합니다. 순위가 같은 수가 여러 개이면 평균 순위가 반환됩니다.
구문
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를 얻게 된다.
과연 이 차이가 어떤 의미가 있는지?
언제 어떻게 다르게 사용해야할지,,,
'프로그래밍' 카테고리의 다른 글
python, 주식() - 수수료 영향 (0) | 2022.05.07 |
---|---|
python, 데이터프레임(5) - 랭크 구하기 (0) | 2022.04.24 |
엑셀, 팁(4) - 다른 창에서 엑셀 열기 (0) | 2022.04.24 |
python, 데이터프레임(4) - 행을 리스트로 추출(열을 리스트로 추출) (0) | 2022.04.19 |
python, 데이터프레임(3) - 리스트를 열로 추가하기 (0) | 2022.04.19 |