Excel 에서 동적 상위 10 개 또는 n 개 목록을 만드는 방법은?
많은 프로젝트 및 비즈니스 프로세스에서 성과나 수치에 따라 개인, 조직, 제품 또는 기타 항목을 순위 매기는 것이 종종 필요합니다. 「상위 목록」은 성적이 가장 높은 학생, 최고의 영업 직원, 매출이 가장 많은 부서 등 최고 성과를 달성한 항목을 강조 표시하는 데 사용됩니다. 예를 들어, 학생 성적표가 있고 시상, 분석 또는 교육 성과 모니터링을 위해 상위 10 명의 고득점자를 동적으로 추출하고자 할 수 있습니다(아래 스크린샷 참조). Excel 에서 동적 상위 10 개 또는 상위 N 개 목록을 만들면 데이터가 변경될 때마다 결과가 자동으로 업데이트되어 수동 순위 매기기로 인한 시간 소모와 오류를 줄일 수 있습니다。 이 가이드에서는 다양한 데이터 분석 요구사항을 효율적으로 충족할 수 있도록 수식, PivotTable, VBA 매크로 등 여러 실용적인 솔루션을 소개합니다。
Excel 에서 동적 상위 10 개 목록 만들기
Excel 2019 및 이전 버전에서는 동적 상위 10 개(또는 상위 N 개) 목록을 만들기 위해 상위 값과 해당 이름 또는 ID 를 동시에 추출하는 수식을 조합해야 합니다。 이 솔루션은 데이터 변경 시 목록이 자동으로 업데이트되도록 하려는 상황에 널리 사용되며 적합합니다。 다음 절차는 클래식 Excel 수식을 사용하여 이를 구현하는 방법을 설명합니다。 이러한 수식은 유연성을 제공하며 특별한 Excel 애드인을 필요로 하지 않지만, 일부 최신 동적 배열 함수에 비해 설정 과정이 다소 복잡합니다。
동적 상위 10 개 목록을 생성하는 수식
1. 먼저 값 범위에서 상위 10 개 값을 추출해야 합니다. 빈 셀(예: G2 셀)에 다음 수식을 입력하세요. 수식 입력 후 채우기 핸들을 아래로 끌어 동적 상위 10 개 값 목록을 생성합니다。 스크린샷 참조:

2。 다음으로 추출된 상위 값과 연결된 해당 이름(또는 ID)을 표시하려면 F2 셀에 다음 수식을 입력하세요。 이는 배열 수식이므로 입력 후Ctrl + Shift + Enter를 눌러 확인하세요。 이 수식은 방금 추출한 상위 값에 해당하는 이름을 찾습니다:
-A2:A20은 이름을 가져올 범위입니다;
-B2:B20은 점수 또는 값 범위입니다;
-G2은 위 수식에서 도출된 상위 값입니다;
-B1은 값 목록의 머리글로, ROW 계산 시 오프셋 용도로 사용됩니다。
이 수식은 최고값을 해당 이름과 동적으로 연결합니다。 값 범위에 중복이 있는 경우, COUNTIF 함수가 동일한 점수를 가진 모든 이름이 한 번만 표시되도록 보장합니다。

3. 첫 번째 결과 추출 후 F2 셀의 수식을 선택하고 채우기 핸들을 아래로 끌어 필요한 만큼 수식을 복사합니다。 그러면 해당 점수와 일치하는 모든 상위 항목의 이름이 동적으로 표시됩니다。 스크린샷 참조:


KUTOOLS AI 와 함께 엑셀의 마법을 경험하세요
- 스마트 실행: 간단한 명령어로 셀 작업을 수행하고, 데이터를 분석하며, 차트를 생성하세요。
- 사용자 지정 수식: 워크플로우를 간소화할 맞춤형 수식을 생성하세요。
- VBA 코딩: VBA 코드를 손쉽게 작성하고 적용하세요。
- 수식 해석: 복잡한 수식도 쉽게 이해하세요。
- 텍스트 번역: 스프레드시트 내에서 언어 장벽을 허물어 보세요。
조건을 적용하여 동적 상위 10 개 목록을 생성하는 수식
일부 분석 작업에서는 특정 그룹, 팀 또는 카테고리에 속하는 항목만 표시하는 상위 목록이 필요할 수 있습니다. 예를 들어, 여러 반의 성적을 포함한 전체 데이터 시트에서 「1반」에 속하는 상위 10 개 점수만 식별하고자 할 수 있습니다。 이 시나리오에 대한 수식 사용 방법은 다음과 같습니다:

1. 지정한 조건(예: 「1반」)을 충족하는 상위 10 개 값을 데이터셋에서 추출합니다。 대상 셀(예: J2 셀)에 이 수식을 입력하세요:
2。 수식 입력 후Ctrl + Shift + Enter를 눌러 배열 수식으로 확인한 다음 채우기 핸들을 아래로 끌어 다른 셀을 채우세요. 이 수식은 선택한 조건(예: 「1반」의 모든 점수)과 일치하는 상위 10 개 값을 반환합니다。

3. 기준에 따라 상위 값에 해당하는 이름을 나열하려면 아래 수식을 셀 I2 에 복사하여 붙여넣고Ctrl + Shift + Enter키를 눌러 배열 수식으로 입력하세요。 그런 다음 필요에 따라 아래로 채우기를 적용하여 전체 이름 목록 목록을 생성합니다。

수식 내 범위를 실제 데이터 설정과 일치하도록 조정해야 합니다。 배열 수식과 함께 대규모 범위를 사용하면 성능이 저하될 수 있으니 주의하세요。 상위 10 결과에 중복 값가 포함된 경우, 해당 수식은 동일한 점수를 가진 여러 학생의 이름을 적절히 처리하여 모두 표시합니다。
Office 365 에서 동적 상위 10 목록 만들기
Excel 이전 버전에서는 배열 수식과 여러 함수를 결합해야 했지만, Office 365(및 Excel 2021)에서는 INDEX, SORT, SEQUENCE, FILTER 와 같은 동적 배열 함수를 도입하여 작업 흐름을 크게 단순화했습니다。 이러한 함수는 동적 상위 10 목록 작성을 더 쉽게 해주고 오류를 줄이며, 특히 자주 확장되거나 변경되는 테이블에 유용합니다。 지속적으로 데이터가 업데이트되는 환경에서 작업할 경우, 이러한 함수를 통해 분석을 간소화하고 보다 빠르게 비즈니스 의사결정을 내릴 수 있습니다。
동적 상위 10 목록을 생성하는 수식
Office 365 을 사용하여 동적 상위 10 목록을 추출하고 표시하려면 원하는 출력 셀에 아래 수식을 입력하세요。 범위와 숫자만 요구사항에 맞게 조정하면, 데이터가 변경될 때마다 수식이 자동으로 최신 상위 10 결과를 표시합니다。
간단히Enter키를 누르기만 하면 됩니다。 완전한 상위 10 목록이 즉시 표시되며 동적으로 유지되어 추가 데이터나 수정된 점수가 실시간으로 순위에 반영됩니다。

SORT 함수:
=SORT(배열, [sort_index], [sort_order], [by_col])
- 배열: 정렬하려는 범위입니다。
- [sort_index]: 정렬 기준이 되는 열 번호입니다。 일반적인 성적표에서는 보통 두 번째 열입니다。
- [sort_order]: 오름차순은 1 을, 내림차순은 -1 를 사용합니다. 상위 점수를 얻으려면 -1 를 사용하세요。
- [by_col]: 열 기준 정렬(TRUE) 또는 행 기준 정렬(FALSE 또는 생략) 여부입니다。
예:SORT(A2:B20,2,-1)는 A2:B20 범위를 두 번째 열 기준으로 내림차순 정렬합니다。
SEQUENCE 함수:
=SEQUENCE(행 수, [열 수], [시작], [단계])
- 행 수: 반환할 행 수입니다(예: 상위 10 개 목록의 경우 10)。
- [columns]: (선택 사항) 반환할 열 수입니다。
- [start]: (선택 사항) 시작 값입니다。
- [step]: (선택 사항) 증가 단위 값입니다。
SEQUENCE(10)는 1 부터 10 까지의 숫자를 생성하여 INDEX 함수가 상위 10 개의 정렬된 결과를 선택할 수 있게 합니다。
이를 결합하면,=INDEX(SORT(A2:B20,2,-1),SEQUENCE(10),{1,2})는 동적인 두 열 구성의 상위 10 개 목록을 제공합니다。
조건을 적용한 동적 상위 10 목록을 생성하는 수식
특정 그룹(예: "Class 1")에 대한 상위 10 를 추출해야 하는 경우, 이러한 고급 Office 365 함수를 사용하면 조건을 충족하는 행만 포함하여 상위 N 목록을 생성할 수 있습니다。 아래 수식을 원하는 위치에 배치하고 범위 및 조건 셀을 필요에 따라 조정하세요:
수식 입력 후 간단히Enter키를 누르세요。 지정한 조건에 따라 필터링되고 순위가 매겨진 상위 10 목록이 즉시 표시되며, 데이터나 조건을 수정할 때마다 자동으로 업데이트됩니다。

FILTER 함수:
=FILTER(배열, include, [if_empty])
- 배열: 필터링할 셀 범위입니다。
- include: 포함 조건입니다(예: 특정 반과 일치하는 경우)。
- [if_empty]: (선택 사항) 조건을 충족하는 결과가 없을 때 표시할 내용입니다。
=FILTER(A2:C25,B2:B25=F2)는 B 열 값이 F2 셀 값과 일치하는 행만 반환합니다。
PivotTable 를 사용하여 동적 상위 10 목록 만들기
PivotTable: 상위 N 결과를 대화형으로 자동 표시
동적 상위 N 목록을 만드는 또 다른 방법은 Excel 의 PivotTable 기능을 사용하는 것입니다. 이 방법은 대규모 데이터셋, 대화형 분석(상위 항목 수를 빠르게 변경하거나 필터를 적용하는 경우 등), 또는 복잡한 수식을 피하고자 할 때 특히 적합합니다. PivotTable 는 사용하기 쉽고 데이터가 변경되면 자동으로 업데이트되어 대시보드나 공유 보고서에 이상적입니다。
PivotTable 을 사용하여 동적 상위 N 목록을 만들려면:
- 데이터 테이블 내 아무 셀이나 클릭한 후삽입>피벗테이블을 선택합니다。
- 피벗테이블 대화상자에서 PivotTable 을 배치할 위치를 선택하고확인을 클릭합니다。
- 「이름」(또는 유사 식별자) 필드를행영역으로 끌어다 놓습니다。
- 「점수」(또는 값 열) 필드를값영역으로 끌어다 놓습니다。 일반적으로 「합계」 또는 「개수」로 기본 설정되며, 상위 목록의 경우 일반적으로 「합계」 또는 「최대값」을 사용합니다。 필요 시 값을 마우스 오른쪽 버튼으로 클릭하고값 요약 기준을 선택하여 계산 방식을 변경하세요。
- 값 열을 내림차순으로 정렬하려면 값 위에서 마우스 오른쪽 버튼을 클릭하고정렬>가장 큰 값부터 가장 작은 값으로 정렬을 선택합니다。
- 상위 N 개 결과로 제한하려면 행 레이블의 드롭다운 화살표를 클릭하고값 필터>상위 10。。。을 선택한 후 숫자(예: 상위 10)와 필터 기준 필드를 설정한 다음확인을 클릭합니다。
PivotTable 에 이제 동적 상위 10(또는 지정한 임의의 N)이 표시됩니다. 상위 N 값을 변경하려면 필터 설정을 다시 확인하세요. 데이터가 변경되면 PivotTable 을 새로 고쳐 순위를 즉시 업데이트할 수 있습니다。
이 방법의 장점은 빠른 설정, 쉬운 정렬, 대화형 조정이 가능하다는 점입니다. 다만 PivotTable 은 행 또는 값 영역에 포함되지 않은 경우 다른 열의 해당 행을 자동으로 추가할 수 없습니다。 고급 사용자는 그룹화, 슬라이서 생성, 또는 대시보드에 상위 N 필터를 통합하여 보고서를 추가로 맞춤 설정할 수 있습니다。
VBA 를 사용하여 동적 상위 10 목록 만들기
VBA 매크로: 상위 N 개 목록을 자동으로 생성 및 새로 고침
VBA 매크로는 광범위하거나 자주 업데이트되는 데이터를 다루는 사용자가 동적 상위 N 목록의 추출 및 새로 고침을 자동화해야 할 때 적합합니다. 매크로는 반복 작업을 줄이고 일관성을 보장하는 데 이상적입니다. 데이터를 정렬한 후 매번 실행 시 상위 N 개 행만 특정 위치로 복사하는 루틴을 작성할 수 있습니다。
VBA 매크로를 사용하여 동적 상위 N 목록을 만들려면 다음 단계를 따르세요:
- 클릭하여개발자>Visual Basic을 열고VBA 편집기를 실행합니다。 (개발자 탭이 보이지 않으면 파일 > 옵션 > 리본 사용자 지정에서 「개발자」를 활성화하세요。)
- VBA 창에서삽입>모듈을 클릭하여 새 모듈을 추가합니다。
- 다음 VBA 코드를 모듈에 붙여넣으세요:
Sub ExtractTopNList()
'Updated by Extendoffice 2025/7/24
Dim DataRange As Range
Dim OutputRange As Range
Dim N As Integer
Dim ws As Worksheet, tempWS As Worksheet
Dim xTitleId As String
Dim LastCol As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
Set DataRange = Application.InputBox("Select the full data range to analyze (including headers)", xTitleId, ws.UsedRange.Address, Type:=8)
Set OutputRange = Application.InputBox("Select the top-left cell of the output area", xTitleId, "", Type:=8)
N = Application.InputBox("How many top items to extract? (Enter a positive integer)", xTitleId, 10, Type:=1)
If DataRange Is Nothing Or OutputRange Is Nothing Or N < 1 Then Exit Sub
' Create a temporary worksheet to avoid sorting original data
Set tempWS = Worksheets.Add(After:=Worksheets(Worksheets.Count))
DataRange.Copy tempWS.Range("A1")
' Determine last column for sorting key
LastCol = DataRange.Columns.Count
' Sort in temporary sheet
tempWS.UsedRange.Sort Key1:=tempWS.Cells(1, LastCol), Order1:=xlDescending, Header:=xlYes
' Copy headers and top N rows to output
tempWS.Rows(1).Copy Destination:=OutputRange
tempWS.Range("A2").Resize(N, LastCol).Copy Destination:=OutputRange.Offset(1, 0)
' Optional: Delete temporary sheet
Application.DisplayAlerts = False
tempWS.Delete
Application.DisplayAlerts = True
Application.CutCopyMode = False
End Sub 4. 매크로를 실행하려면 데이터가 머리글이 포함된 테이블 형식으로 올바르게 구성되어 있어야 합니다。 VBA 편집기에서F5키를 누르거나
단추를 클릭하세요。 그러면 다음을 묻는 메시지가 표시됩니다:
- 정렬을 위해 헤더를 포함한 데이터 범위을 선택하세요。
- 결과를 붙여넣을 출력 셀을 선택하세요。
- 숫자 N 을 입력하세요(예: 상위 10 개의 경우 10)。
매크로는 지정한 위치에 상위 N 개 항목(머리글 포함)을 복사합니다。
처음 테스트할 때는 백업 파일이나 워크북 사본에서 실행하는 것이 좋습니다。 범위를 잘못 선택하는 등의 오류가 발생하면 다시 실행하여 범위와 데이터 구조가 올바른지 확인하세요。
이 솔루션은 반복적인 보고 작업 자동화, 대시보드 생성, 또는 수동 수식이나 정렬 없이 상위 N 보고서를 신속하게 업데이트해야 할 때 이상적입니다。 더 복잡한 순위 논리(열 지정 기준 정렬 등)나 다른 워크북으로 결과 내보내기 등을 위해 VBA 스크립트를 추가로 맞춤 설정할 수도 있습니다。
문제 해결: 매크로가 예상대로 작동하지 않으면 데이터 테이블에 올바른 머리글이 포함되어 있는지 확인하고, 정렬 문제를 방지하기 위해 데이터 형식을 수정하며, 각 프롬프트에서 셀 참조가 정확히 선택되었는지 확인하세요。 매크로 실행 전에는 항상 작업 내용을 저장하여 실수로 인한 데이터 변경을 방지해야 합니다。
요약하자면, Excel 은 전통적인 수식부터 강력한 Office 365 함수, 대화형 분석을 위한 PivotTable, 고급 자동화를 위한 VBA 매크로에 이르기까지 다양한 방법으로 동적 상위 N 목록을 생성하고 유지할 수 있습니다. 워크플로와 데이터 규모에 가장 적합한 방법을 선택하세요. 대부분의 수동 분석에는 수식이 효과적이며, Office 365 함수는 가장 간단하면서도 강력한 기능을 제공합니다. PivotTable 는 빠르고 유연한 요약에 탁월하며, VBA 는 대규모 반복 순위 작업 자동화에 특히 유용합니다。 항상 수식이나 코드의 무결성을 검증하고 프로젝트 진행 과정에서 데이터 구조의 변경 사항에 맞춰 셀 참조를 조정하세요。
최고의 Office 생산성 도구
| 🤖 | KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행 | 코드 생성| 사용자 지정 수식 생성 | 데이터 분석 및 차트 생성| 향상된 함수 호출… |
| 인기 기능:찾기, 강조 표시 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 결합 또는 셀 제거 | 공식을 사용하지 않는 반올림... | |
| 슈퍼 LOOKUP:다중 조건 VLookup | 다중 값 VLookup | 여러 시트에서 VLookup | 퍼지 매치.... | |
| 고급 드롭다운 목록:드롭다운 목록 빠르게 생성 | 종속형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
| 열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교... | |
| 주요 기능:그리드 포커스 | 디자인 보기 |향상된 수식 표시줄 | 워크북 및 시트 관리자 | 자원 라이브러리(자동 텍스트)| 날짜 선택기 | 워크시트 병합 | 암호화/셀 해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。 | |
| 상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)| 50+차트유형(간트 차트, ...)| 40+ 실용적인수식(생일을 기준으로 나이 계산, ...)| 19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)| 12 변환도구(단어로 변환하기,환율 변환, ...)| 7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능 |
Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。
Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다
- Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
- 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
- 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 애드인。 하나의 설치 프로그램
Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。
- 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
- 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
- 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
- 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
- 최고의 가성비— 개별 애드인 구매 대비 절약
