• 최초 작성일: 1999-07-23
  • 최종 수정일: 2026-09-29
  • 조회수: 27 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: Rank 함수

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

거의 매일 보내드리는 자료들을 여러 곳에 계신 분들이 잘들 보시는 것 같아 한편으로는 기쁘고 다른 한편으로는 부담이 갑니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

Rank 함수

핵심 요약

  • RANK 함수는 원본 데이터의 배열을 바꾸지 않고 순위만 별도로 구해 주는 함수입니다.
  • Number에는 순위를 구할 셀, Ref에는 비교할 전체 범위를 지정하고 Order에 0을 입력하거나 생략하면 내림차순으로 순위가 매겨집니다.
  • 수식을 아래로 복사하기 전에 Ref 범위를 절대주소로 바꾸어야 하며 F4 키로 편리하게 전환할 수 있습니다.

감질나게 하루 하나씩 올리지 말고 정리했다가 한꺼번에 달라는 분들도 계시더군요. ^^ Exceller가 처음 글을 올릴 때에는 작은 기능이지만 지치지 않고 재미있게, 하루 하나씩 즐기면서 익히는데 주안점을 두었습니다. 지금도 그 생각에는 변함이 없습니다.

오늘은 Rank() 함수에 대해 알아보도록 하겠습니다.

아래와 같은 거래처별 판매 순위표가 있습니다

Rank 함수 예제 화면 1
아이엑셀러

여기서 거래처별 판매 달성율순으로 보고자 할 경우, 대개는

- 데이터-정렬 메뉴에서 "달성율/내림차순(또는 오름차순)"으로 지정하여 사용하거나

Rank 함수 예제 화면 2
아이엑셀러
Rank 함수 예제 화면 3
아이엑셀러

- 셀 포인터를 달성율 중 임의의 위치로 이동시킨 후 또는 아이콘을 사용하여 Sorting을 하게 됩니다

그러면 오름차순 또는 내림차순으로 정리가 되긴 하는데… 원본 데이터의 모양도 함께 변해 버립니다. 경우에 따라서는 원본 데이터는 그대로 둔 상태에서 순위만 별도로 보고 싶을 경우가 있을 것입니다. 이런 경우에는 Rank 함수를 사용하면 소기의 목적을 달성할 수 있습니다. 즉 아래와 같은 결과를 얻게 되는 것이지요.

거래처명 목표 판매 달성율 순위
신서울 1000 950 0.95 6
영등포 1000 1250 1.25 2
종로 1000 880 0.88 7
마포 1000 760 0.76 8
서대문 1000 1500 1.5 1
동대문 1000 1000 1 3
동인천 1000 980 0.98 4
남서울 1000 750 0.75 9
서인천 1000 660 0.66 10
중앙 1000 530 0.53 11
남부 1000 960 0.96 5

이같은 결과를 얻기 위해서는,

Step 1: 순위 셀 선택하기

참고: 본문의 F50(신서울의 순위)과 E50(신서울의 달성율)은 원본 워크시트 기준 셀 주소입니다. 직접 적용하실 때에는 자신의 표에서 해당하는 셀로 바꿔 지정하시기 바랍니다.

(1) "신서울"의 순위 부분에 셀포인터를 위치시킵니다(F50 셀)

Step 2: RANK 함수 입력하기

(2) =Rank라고 입력한 상태에서 Ctrl + A키를 탁 칩니다(왜 치냐고요? Rank라는 함수의 성질머리(즉 구성요소)를 잘 모르니까요).

Step 3: 함수 인수 대화상자 열기

(3) 그러면 아래와 같은 대화상자가 나타납니다(이런 모양의 상자를 대화상자라고 합니다. 사용자와 컴퓨터가 이 상자를 통해 조건을 주고받는 즉, 대화를 한다고 해서 대화상잔가? 암튼…)

Rank 함수 예제 화면 4
아이엑셀러

Step 4: Number와 Ref 지정하기

(4) 이 대화상자에서 Number란에는 신서울의 달성율이 들어있는 E50 셀을 클릭합니다. Ref란에는 신서울~남부 특약점의 달성율 항목 전체를 드래깅하고, Order란에는 0(Zero)을 입력(이 란을 입력하지 않거나 0을 입력하면 내림차순으로 순위가 매겨지고 그 이외 값을 입력하면 오름차순으로 순위가 매겨집니다)

Step 5: 순위 결과 확인하기

(5) 각 항목들에 대한 입력이 끝났으면 "확인"버튼 클릭합니다.

참고: 최신 Excel에는 RANK와 같은 동작을 하는 RANK.EQ 함수가 있으며, RANK 함수도 호환성을 위해 계속 사용할 수 있습니다.

이렇게 하면 첫번째 특약점에 대한 순위가 표시됩니다. 원본 데이터는 물론 그대로 있는 상태로 말입니다. 여기까지 되었으면 그 셀을 아래로 공식복사하면… 될까요? 아직은 안되겠지요? 절대 주소로 지정해 주어야 할 부분이 있기 때문이지요. 위의 표를 참고로 그 부분을 직접 지정해 보세요.

상대주소/절대주소/혼합주소 입력시 F4 키를 사용하면 편리하게 전환할 수 있는 것은 다들 아시지요? 다음 시간에는 여러가지 문자열 함수들에 대해 설명을 드립니다. 무더운 날씨입니다. 날도 더운데 열받지 말고 일하시기를…

오늘은 이만…

정리 — Rank 함수

구분내용
RANKRANK(Number, Ref, Order): 원본 데이터의 모양을 바꾸지 않고 순위만 따로 구함
Number순위를 구할 값이 있는 셀(예제에서는 신서울의 달성율 셀)
Ref순위를 비교할 전체 범위(신서울부터 남부 특약점까지의 달성율 항목 전체)
Order0을 입력하거나 생략하면 내림차순, 그 이외의 값을 입력하면 오름차순으로 순위 결정
복사할 때Ref 범위를 절대주소로 지정한 뒤 아래로 수식을 복사(F4 키로 전환)

자주 묻는 질문 (FAQ)

Q1. 원본 데이터의 순서를 바꾸지 않고 순위만 보려면 어떻게 하나요?

정렬 대신 RANK 함수를 사용합니다. 원본 데이터는 그대로 두고 순위만 별도의 열에 표시할 수 있습니다.

Q2. RANK 함수의 인수는 어떻게 지정하나요?

Number에는 순위를 구할 셀, Ref에는 비교할 전체 범위를 지정하고 Order에는 0을 입력하거나 생략합니다. 0이거나 생략하면 내림차순이고 그 이외의 값이면 오름차순으로 순위가 매겨집니다.

Q3. 순위 수식을 아래로 복사하기 전에 무엇을 해야 하나요?

비교 범위인 Ref가 복사해도 바뀌지 않도록 절대주소로 지정해야 합니다. 상대주소, 절대주소, 혼합주소는 F4 키로 편리하게 전환할 수 있습니다.

마치며

정렬과 달리 원본을 그대로 유지하면서 순위를 구하는 RANK 함수를 실무 표에 적용해 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.