
엑셀 RANK 그룹별 순위: COUNTIFS로 완성하는 전체·부분 랭킹 레시피
보고서에서 전체 순위와 그룹별(부분) 순위가 모두 필요하다면, RANK.EQ / RANK.AVG로 전체를 계산하고, COUNTIFS로 그룹 내 비교 건수를 세어 순위를 만드는 방식이 가장 안정적입니다. Microsoft 공식 정의도 함께 확인하세요.
Quick Fix — 그룹별 순위 1줄
=COUNTIFS($B:$B,B2, $D:$D, ">" & D2) + 1
RANK.EQ vs RANK.AVG
- RANK.EQ: 동률은 같은 순위, 다음 순위 건너뜀
- RANK.AVG: 동률은 평균 순위
order0/생략=내림차순, 1=오름차순
전체 순위
=RANK.EQ(D2, $D:$D, 0)
=RANK.EQ(D2, $D:$D, 1)
그룹별 순위(예: DIV)
=COUNTIFS($B:$B,B2, $D:$D, ">"&D2) + 1
=COUNTIFS($B:$B,B2, $D:$D, "<"&D2) + 1
동률 타이브레이커(점수>날짜>이름)
=LET(grp,$B:$B, sc,$D:$D, dt,$C:$C, nm,$A:$A,
COUNTIFS(grp,B2, sc, ">"&D2)
+COUNTIFS(grp,B2, sc, D2, dt, ">"&C2)
+COUNTIFS(grp,B2, sc, D2, dt, C2, nm, "<"&A2) + 1)
동적 배열과 결합
=LET(u,UNIQUE(B2:B1000),
MAP(u,LAMBDA(d, TAKE(SORTBY(FILTER(A2:D1000, B2:B1000=d), D2:D1000, -1), 3))))
Troubleshooting
| 증상 | 원인 | 해결 |
|---|---|---|
| 순위가 0/음수 | 연산자/문자열 결합 오류 | “>”&셀 형태 확인 |
| 동률 처리 기대와 다름 | RANK.EQ vs RANK.AVG 혼동 | 평균순위면 RANK.AVG 사용 |
| 그룹별 순위 뒤섞임 | COUNTIFS 범위 길이 불일치 | 모든 조건 범위 길이 동일 |
| 날짜 비교 오류 | 텍스트 날짜 | DATE/숫자화 후 비교 |
| 느려짐 | 전체열 과다 참조 | 표(Table)/구조화 참조 사용 |