
Excel에서 데이터를 정렬하는 것은 정보를 정리, 분석 및 이해하는 데 필수적인 기술입니다. 고객 목록, 재무 보고서 또는 대규모 데이터 세트를 다룰 때 정렬을 사용하면 패턴, 추세 및 이상치를 빠르게 파악할 수 있습니다.
이 가이드에서는 단일 열 정렬, 다중 열 정렬, 동적 수식 기반 정렬, Python을 사용한 자동화를 포함하여 Excel에서 데이터를 정렬하는 5가지 실용적인 방법을 배웁니다.
빠른 탐색
- 방법 1: Excel에서 단일 열로 데이터 정렬 (빠르고 필수적인 방법)
- 방법 2: Excel에서 여러 열로 데이터 정렬 (사용자 지정 정렬)
- 방법 3: 수식을 사용하여 Excel 데이터 정렬 (SORT 및 SORTBY)
- 방법 4: Excel에서 필터링된 데이터 정렬 (유연한 탐색)
- 방법 5: Python을 사용하여 Excel 데이터 정렬 (자동화 및 확장성)
시작하기 전에
Excel에서 데이터를 정렬하기 전에 다음 사항을 확인하세요:
- 데이터 세트에 머리글 행이 포함되어 있는지 확인합니다.
- 중간에 완전히 비어 있는 행이나 열이 없어야 합니다.
- 각 열에는 일관된 데이터 형식(예: 숫자, 날짜, 텍스트)이 포함되어야 합니다.
이러한 확인 작업은 정렬 오류와 데이터 불일치를 방지하는 데 도움이 됩니다.
방법 1: Excel에서 단일 열로 데이터 정렬 (빠르고 필수적인 방법)
내장된 정렬 도구는 단일 열을 기준으로 데이터를 정렬하는 가장 빠른 방법입니다. 이름을 가나다순으로 정렬하거나 숫자를 오름차순/내림차순으로 정렬하는 등의 간단한 작업에 이상적입니다.
단계별 지침:
- 정렬하려는 단일 열을 선택합니다.
- Excel 리본 메뉴의 데이터 탭으로 이동합니다.
- 텍스트 오름차순 정렬(A→Z, 1→100) 또는 텍스트 내림차순 정렬(Z→A, 100→1)을 클릭합니다.

- 팝업 창이 나타나면 선택 영역 확장을 선택합니다. 이 옵션을 체크 상태로 유지하세요.

- 정렬을 클릭하여 프로세스를 완료합니다.
전문가 팁:
- 선택 영역 확장 옵션을 사용하면 인접한 열의 모든 관련 데이터가 선택한 열과 함께 정렬됩니다. 대부분의 경우 데이터 관계가 깨지지 않도록 이 옵션을 체크 상태로 유지해야 합니다.
- 데이터에 머리글 행(예: "이름", "이메일")이 있는 경우 팝업 창에서 내 데이터에 머리글 포함 상자를 체크하세요. 이렇게 하면 Excel이 머리글 자체를 정렬하는 것을 방지할 수 있습니다(예: "이름"이 열의 맨 아래로 이동하지 않음).
방법 2: Excel에서 여러 열로 데이터 정렬 (사용자 지정 정렬)
더 복잡한 데이터 세트의 경우 단일 열 정렬로는 충분하지 않습니다. 예를 들어, 판매 데이터를 먼저 "지역"(오름차순)별로 정렬한 다음 "판매 금액"(내림차순)별로 정렬하여 각 지역의 상위 실적자를 확인하고 싶을 수 있습니다. 이때 '사용자 지정 정렬'이 필요합니다.
단계별 지침:
- 데이터 세트 내의 아무 셀이나 선택합니다(이렇게 하면 Excel이 전체 표를 인식합니다).
- 데이터 탭으로 이동하여 정렬을 클릭합니다(A→Z/Z→A 버튼이 아님).

- 사용자 지정 정렬 창에서:
- 첫 번째 열(예: "지역")을 선택하고 정렬 기준을 텍스트 오름차순으로 설정합니다.

- 기준 추가를 클릭하여 다른 열(예: "판매 금액")을 추가하고 정렬 기준을 숫자 내림차순으로 설정합니다.

- 첫 번째 열(예: "지역")을 선택하고 정렬 기준을 텍스트 오름차순으로 설정합니다.
- 확인을 클릭하여 정렬을 적용합니다. 이제 데이터가 "지역" 열을 기준으로 정리되며, 값이 같을 경우 "판매 금액" 열을 기준으로 정렬됩니다.
핵심 통찰:
Excel은 계층적으로 정렬을 적용합니다. 즉, 첫 번째 열을 기준으로 정렬한 다음, 다음 열을 사용하여 동일한 값을 해결합니다.
사용 사례:
- 판매 보고서 (지역 → 수익)
- 직원 목록 (부서 → 직책)
- 재고 (카테고리 → 재고 수준)
방법 3: 수식을 사용하여 Excel 데이터 정렬 (SORT 및 SORTBY)
데이터가 자주 업데이트되는 경우 수동 정렬은 비효율적입니다. SORT 및 SORTBY와 같은 Excel 수식을 사용하면 동적으로 자동 업데이트되는 정렬된 목록을 만들 수 있습니다.
기존 정렬과 달리 이러한 함수는 원본 데이터를 수정하지 않습니다. 대신 자동으로 업데이트되는 동적으로 정렬된 복사본을 생성합니다.
SORT 함수 사용 (최신 Excel에서 가장 간단함)
SORT 함수는 데이터 범위를 정렬하고 새로운 정렬된 배열을 반환합니다. 구문: =SORT(범위, [정렬_열], [정렬_순서], [열_기준])
- 빈 셀(예: J1)에 다음 수식을 입력합니다: =SORT(A1:H11, 1, -1, FALSE)
- A1:H11: 정렬하려는 전체 데이터 세트.
- 1: 정렬할 열 번호.
- -1: 정렬 순서 (1 = 오름차순, -1 = 내림차순).
- FALSE: 행 기준 정렬 (기본값; 열 기준으로 정렬하려면 TRUE 사용).
- Enter 키를 누릅니다. Excel이 J1부터 시작하는 범위에 동적으로 정렬된 목록을 생성합니다. 원본 데이터를 업데이트하면(예: 판매 금액 변경) 정렬된 목록도 자동으로 업데이트됩니다.
SORTBY 함수 사용 (더 유연함)
=SORTBY(A1:H11, G1:G11, -1)
SORTBY 함수는 하나 이상의 별도 범위에 있는 값을 기준으로 데이터 세트를 정렬합니다. 열 위치에 의존하는 SORT 함수와 달리, SORTBY를 사용하면 정렬 순서를 제어할 범위를 정확하게 정의할 수 있습니다.
작동 방식:
- A1:H11 → 반환할 데이터 세트 (전체 표)
- G1:G11 → 정렬 키로 사용되는 범위 (예: "판매 금액")
- -1 → 정렬 순서 (1 = 오름차순, -1 = 내림차순)
예시 사용 사례:
원본 데이터 세트를 변경하지 않고 수익별로 판매 표를 정렬합니다.
방법 4: Excel에서 필터링된 데이터 정렬 (유연한 탐색)
필터를 사용하면 원본 데이터 세트를 영구적으로 변경하지 않고도 특정 데이터 하위 집합을 빠르게 탐색하고 정렬할 수 있습니다. 이는 특정 지역이나 기간의 판매 분석과 같은 대규모 데이터 세트를 다룰 때 특히 유용합니다.
단계별 지침:
- 머리글 행을 포함하여 데이터 세트를 선택합니다.
- 데이터 탭으로 이동하여 필터를 클릭합니다(또는 단축키 Ctrl+Shift+L 사용). 각 머리글 셀에 작은 드롭다운 화살표가 나타납니다.

- 정렬하려는 열(예: "지역")의 드롭다운 화살표를 클릭하고 필요 없는 지역(예: "East", "North", "South")의 체크를 해제한 다음 확인을 클릭합니다.

- 판매 금액 열의 드롭다운 화살표를 클릭하고 숫자 오름차순 정렬 또는 숫자 내림차순 정렬을 선택합니다. 이렇게 하면 필터링된(표시된) 행만 정렬됩니다.

- 필터를 제거하고 원본 데이터 세트로 돌아가려면 필터를 다시 클릭합니다(또는 Ctrl+Shift+L).
주요 장점:
필터를 사용하면 정렬과 데이터 필터링을 결합할 수 있어 원본 데이터 구조를 변경하지 않고도 특정 하위 집합(예: 특정 지역의 고가 판매 건만 정렬)을 쉽게 탐색할 수 있습니다.
방법 5: Python을 사용하여 Excel 데이터 정렬 (자동화 및 확장성)
대규모 데이터 세트(10,000행 이상)나 반복적인 정렬 작업(예: 일일 Excel 보고서 정렬)의 경우 Python 자동화가 매우 효과적입니다. 여기서는 Excel이 설치되어 있지 않아도 정렬을 포함한 Excel 파일 조작을 간소화하는 강력한 라이브러리인 Spire.XLS for Python을 사용합니다.
전제 조건:
- Spire.XLS for Python 설치: 터미널/명령 프롬프트에서 pip install Spire.XLS를 실행합니다.
- 정렬하려는 데이터가 포함된 입력 Excel 파일(예: "Input.xlsx")을 준비합니다.
단계별 Python 코드 (설명 포함):
from spire.xls.common import *
from spire.xls import *
# Workbook 인스턴스 생성
workbook = Workbook()
# 입력 Excel 파일 로드
workbook.LoadFromFile("Input.xlsx")
# 첫 번째 워크시트 가져오기
worksheet = workbook.Worksheets[0]
# 정렬 규칙 정의: B열(인덱스 1)을 값 기준으로 오름차순 정렬
workbook.DataSorter.SortColumns.Add(1, SortComparsionType.Values, OrderBy.Ascending)
# 정렬할 셀 범위 지정
workbook.DataSorter.Sort(worksheet["A1:H11"])
# 정렬된 데이터를 새 Excel 파일로 저장
workbook.SaveToFile("SortByColumns.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
코드 사용자 지정 방법:
- 다른 열 정렬: Add()의 첫 번째 매개변수를 변경합니다(예: A열은 0, B열은 1).
- 내림차순 정렬: OrderBy.Ascending을 OrderBy.Descending으로 바꿉니다.
- 더 큰 범위 정렬: worksheet["A1:H11"]을 수정합니다(예: 1000행, 7열의 경우 worksheet["A1:G1000"]).
- 여러 열 정렬: workbook.DataSorter.SortColumns.Add()로 두 번째 정렬 규칙을 추가합니다(예: A열 오름차순 정렬 후 B열 내림차순 정렬).
사용 사례:
이 방법은 매일 50개 이상의 Excel 파일을 정렬하거나 Excel에서 원활하게 처리할 수 없는 대규모 데이터 세트를 정렬하는 등 반복적인 작업을 자동화하는 데 완벽합니다.
데이터 정렬 외에도 Python을 사용하여 워크시트 서식 지정, 스타일 적용, Excel 파일을 PDF로 변환과 같은 다른 Excel 작업을 자동화할 수 있습니다. 이러한 기능을 통해 전체 문서 처리 워크플로를 쉽게 구축할 수 있습니다.
비교 표: 어떤 방법을 선택해야 할까요?
| 방법 | 최적 대상 | 장점 | 단점 |
|---|---|---|---|
| 내장 정렬 | 빠른 단일 열 정렬 | 사용하기 쉬움, 설정 불필요 | 기본 정렬로 제한됨, 수동 작업 |
| 사용자 지정 정렬 | 다중 열, 계층적 정렬 | 유연함, 복잡한 데이터 세트 처리 | 몇 가지 추가 단계 필요 |
| Excel 수식 | 동적, 자동 업데이트 정렬 목록 | 수동 재정렬 불필요, 데이터와 함께 업데이트 | SORT 함수는 최신 Excel에서만 사용 가능 |
| 필터 | 임시 정렬/하위 집합 탐색 | 비파괴적, 필터링과 결합 가능 | 영구적인 정렬에는 적합하지 않음 |
| Python (Spire.XLS) | 대규모 데이터 세트, 자동화 | 확장성, 반복 작업, Excel 불필요 | 기본적인 Python 지식 필요 |
마치며
Excel에서의 정렬은 단순히 데이터를 배열하는 것 이상으로, 정보를 유용하고 의미 있게 만드는 과정입니다.
- 빠른 작업에는 내장 정렬을 사용하세요.
- 구조화된 분석에는 사용자 지정 정렬을 사용하세요.
- 동적 결과에는 수식을 사용하세요.
- 유연한 탐색에는 필터를 사용하세요.
- 대규모 자동화에는 Python을 사용하세요.
이러한 방법을 마스터하면 간단한 스프레드시트부터 복잡한 데이터 워크플로까지 모든 것을 쉽게 처리할 수 있습니다.
자주 묻는 질문(FAQ)
Q1: 정렬 후 Excel 데이터가 어긋나는 이유는 무엇인가요?
이는 보통 선택 영역 확장이 선택되지 않았을 때 발생합니다. 정렬할 때는 항상 관련 열이 포함되어 있는지 확인하세요.
Q2: 셀 색상이나 글꼴 색상으로 정렬할 수 있나요?
네. 정렬 대화 상자의 "정렬 기준"에서 셀 색상 또는 글꼴 색상을 선택하세요.
Q3: 빈 셀이 있는 데이터를 정렬할 수 있나요?
네. Excel은 빈 셀을 맨 아래(오름차순) 또는 맨 위(내림차순)에 배치합니다. 필요에 따라 필터링하여 제외할 수 있습니다.
Q4: 정렬을 취소하려면 어떻게 하나요?
정렬 직후 Ctrl + Z를 누르세요. 다른 변경 사항을 이미 적용했다면 취소가 불가능할 수 있습니다.
Q5: Excel 정렬이 작동하지 않는 이유는 무엇인가요?
일반적인 원인은 다음과 같습니다:
- 혼합된 데이터 형식
- 숨겨진 행 또는 열
- 잘못된 선택 범위