
엑셀 COUNTIFS 함수로 2열 조건별 순위 구하는 방법
엑셀에서 두 개 열을 하나의 조건으로 묶은 뒤, 각 행의 순위를 구해야 할 때가 많습니다. 예를 들어 지점+상품, 부서+사원, 카테고리+모델처럼 2열이 함께 기준이 되는 경우입니다.
이럴 때는 RANK 함수보다 COUNTIFS 함수가 더 실무적입니다. COUNTIFS는 여러 조건을 동시에 만족하는 행을 셀 수 있어서, 2열 조건별 그룹 순위를 계산하기에 적합합니다.
빠른 해결: 바로 쓰는 수식
아래와 같이 데이터가 있다고 가정하겠습니다.
| A열 | B열 | C열 | D열 |
|---|---|---|---|
| 지역 | 상품 | 매출 | 순위 |
D2 셀에 아래 수식을 입력한 뒤 아래로 복사하세요.
=COUNTIFS($A$2:$A$100,A2,$B$2:$B$100,B2,$C$2:$C$100,">"&C2)+1
이 수식은 A열 값이 같고, B열 값도 같으면서, 현재 C열 값보다 큰 값의 개수를 센 다음 1을 더해 순위를 반환합니다.
왜 COUNTIFS로 2열 조건별 순위를 구할까?
일반적인 RANK 함수는 전체 범위 안에서 순위를 구합니다. 하지만 실무에서는 전체 순위보다 같은 그룹 안에서의 순위가 더 중요할 때가 많습니다.
- 같은 지역 안에서 상품별 매출 순위
- 같은 부서 안에서 직원별 실적 순위
- 같은 브랜드 안에서 옵션별 판매 순위
즉, 두 개 열이 동시에 기준이 될 때는 COUNTIFS로 조건을 묶어서 계산하는 방식이 가장 직관적입니다.
실무 예제로 이해하기
| 지역 | 상품 | 매출 | 예상 순위 |
|---|---|---|---|
| East | A | 950 | 1 |
| East | A | 700 | 2 |
| East | A | 500 | 3 |
| East | B | 850 | 1 |
| East | B | 600 | 2 |
| West | A | 900 | 1 |
| West | A | 400 | 2 |
위 예제에서 East + A 그룹 안에서는 950, 700, 500 순으로 1위, 2위, 3위가 됩니다. 반면 East + B는 별도의 그룹이므로 850가 1위, 600이 2위가 됩니다.
수식 해석
=COUNTIFS($A$2:$A$100,A2,$B$2:$B$100,B2,$C$2:$C$100,">"&C2)+1
- $A$2:$A$100, A2 : 현재 행과 같은 지역만 셉니다.
- $B$2:$B$100, B2 : 현재 행과 같은 상품만 셉니다.
- $C$2:$C$100, “>”&C2 : 현재 매출보다 큰 값만 셉니다.
- 마지막에 +1 : 큰 값이 0개면 1위, 1개면 2위가 됩니다.
동점이 있을 때는?
COUNTIFS 방식은 기본적으로 동점이면 같은 순위를 반환합니다.
예를 들어 같은 그룹 안에 700이 두 개라면 두 행 모두 같은 순위가 됩니다. 이 방식은 매출, 점수, 실적처럼 동률을 허용하는 데이터에 적합합니다.
동점을 강제로 나누고 싶다면
동점을 순서대로 1, 2, 3처럼 나누려면 보조 기준이 하나 더 필요합니다. 예를 들어 등록일, 행번호, 입력순서 같은 열을 추가해서 두 번째 정렬 기준으로 사용하면 됩니다.
자주 하는 실수
| 증상 | 원인 | 해결 방법 |
|---|---|---|
| 순위가 전부 1로 나옴 | 비교 범위와 조건 값이 잘못 연결됨 | 각 범위 길이와 참조 셀이 같은지 확인 |
| 순위가 엉뚱하게 나옴 | 숫자가 텍스트로 저장됨 | C열을 숫자 형식으로 변환 |
| 복사했을 때 결과가 깨짐 | 절대참조가 빠짐 | 범위는 $ 기호로 고정 |
| 동점이 구분되지 않음 | 현재 수식은 공동 순위 방식 | 보조열을 추가해 tie-break 기준 생성 |
이런 상황에서 특히 유용합니다
- 지점별 상품 판매 순위를 보고 싶을 때
- 부서별 직원 실적 순위를 자동 계산할 때
- 카테고리별 점수 상위 항목을 찾을 때
- 피벗테이블 없이 원본 데이터에서 바로 순위를 만들고 싶을 때
마무리
COUNTIFS 함수로 2열 조건별 순위를 구하는 핵심은 간단합니다. 같은 A열, 같은 B열, 더 큰 C열 값의 개수 + 1 구조만 이해하면 대부분의 그룹 순위 문제를 해결할 수 있습니다.
실무에서는 전체 순위보다 조건별 순위를 구해야 하는 경우가 훨씬 많습니다. 따라서 이 수식 하나만 익혀도 판매 데이터, 인사 데이터, 재고 데이터 정리에 바로 활용할 수 있습니다.