목차▾
엑셀 SORT 함수란?
엑셀 SORT 함수는 범위를 정렬해서 동적 배열로 반환하는 검색·참조 함수입니다. Excel 365 및 2021+ 전용. 원본은 그대로 두고 정렬된 결과가 자동으로 여러 셀에 확산(spill)됨.
구문은 =SORT(array, [sort_index], [sort_order], [by_col]). sort_order 1=오름차순(기본), -1=내림차순. by_col TRUE로 열 방향 정렬.
SORT vs SORTBY vs 정렬 메뉴
| 방식 | 기준 | 원본 | 자동 갱신 |
|---|---|---|---|
| SORT | 결과 안 열 | 유지 | ✅ |
| SORTBY | 결과 밖 배열 (여러 키 가능) | 유지 | ✅ |
| 정렬 메뉴 (Data → Sort) | 지정 컬럼 | 변경됨 | ❌ (일회성) |
→ 원본 유지·자동 갱신엔 SORT/SORTBY, 일회성 재배열엔 메뉴.
SORT vs SORTBY 예시
SORT (결과 안 열 기준):
=SORT(A1:B10, 2, -1)
→ B열 내림차순으로 A:B 정렬
SORTBY (결과 밖 배열 기준):
=SORTBY(A1:B10, C1:C10, -1)
→ C 기준 A:B 정렬 (C는 결과에 X)
SORTBY 여러 키 (Multi-level):
=SORTBY(A1:B10, C1:C10, -1, D1:D10, 1)
→ C 내림차순 후 D 오름차순
sort_index·sort_order·by_col 규칙
| 인수 | 값 | 의미 |
|---|---|---|
| sort_index | 1, 2, 3... | 정렬 기준 열/행 번호 (기본 1) |
| sort_order | 1 or -1 | 1 = 오름차순 (기본), -1 = 내림차순 |
| by_col | TRUE / FALSE | FALSE=행 정렬(기본), TRUE=열 정렬 (가로) |
동작 예시
=SORT({30, 10, 20}) → {10, 20, 30}
=SORT({30, 10, 20}, 1, -1) → {30, 20, 10}
이름·점수 데이터 A1:B5:
=SORT(A1:B5) → 이름 오름차순 (김,박,이,정,최)
=SORT(A1:B5, 2) → 점수 오름차순
=SORT(A1:B5, 2, -1) → 점수 내림차순
실전 사용 시나리오 8가지
- 이름 오름차순 —
=SORT(A1:A100) - 점수 내림차순 (2번째 열) —
=SORT(A1:B100, 2, -1) - 다중 기준 (SORTBY) —
=SORTBY(A:C, C:C, -1, A:A, 1) - UNIQUE + SORT —
=SORT(UNIQUE(A:A)) - FILTER + SORT —
=SORT(FILTER(A:B, B:B>50)) - 랜덤 셔플 —
=SORTBY(A:A, RANDARRAY(100)) - 열 방향 정렬 —
=SORT(A1:E1, 1, 1, TRUE) - 두 시트 통합 후 정렬 —
=SORT(VSTACK(Sheet1!A:B, Sheet2!A:B), 2, -1)
SORT + UNIQUE + FILTER 황금 조합
Excel 365의 강력한 동적 배열 조합:
=SORT(UNIQUE(FILTER(A1:A100, B1:B100="조건")))
해석 (안쪽부터 바깥으로):
- FILTER: B가 "조건"인 A만 추출
- UNIQUE: 중복 제거
- SORT: 오름차순 정렬
→ 한 수식으로 "조건 → 고유 → 정렬" 완성. 데이터 변경 시 자동 갱신.
응용: 상위 5개 정렬
=TAKE(SORT(A:B, 2, -1), 5)
→ 2번째 열 내림차순 정렬 후 앞 5개 (Excel 365 TAKE)
자주 발생하는 함정 6가지
- #SPILL! 오류 — 확산될 자리에 이미 값 있음. 확산 영역 비우기
- sort_index 범위 초과 — 열 수보다 큰 sort_index →
#VALUE!. 열 개수 정확히 - sort_order 값 — 1, -1만. 다른 값이면
#VALUE! - Excel 2019 이하 미지원 — 365, 2021+ 전용. 구버전은 정렬 메뉴 또는 SMALL+ROW
- 텍스트 + 숫자 혼합 — 텍스트 오름차순: 숫자 → 텍스트 순. 예상과 다를 수 있음
- 원본 갱신 반영 — 원본 지우면 SORT도 사라짐. 참조 유지 필수
자주 묻는 질문
Q. SORT 함수 사용법은?
=SORT(범위, [sort_index], [sort_order], [by_col]) 형식. 예: =SORT(A1:B10, 2, -1) → B열 내림차순 정렬. 결과는 동적 배열 (자동 확산). Excel 365, 2021+ 전용.
Q. SORT vs SORTBY 차이는?
SORT는 결과 안 열 기준, SORTBY는 결과 밖 배열 기준. SORT(A:B, 2)는 B열 기준, SORTBY(A:B, C:C)는 C열 기준(C는 결과에 X). 여러 키는 SORTBY만.
Q. SORT와 정렬 메뉴 차이는?
SORT는 원본 유지 + 자동 갱신, 정렬 메뉴는 원본 데이터 자체 재배열. 원본 유지가 필요하면 SORT, 일회성이면 메뉴.
Q. 다중 기준 정렬은?
SORTBY 사용. =SORTBY(A:B, C:C, -1, D:D, 1) → C 내림차순 후 D 오름차순. SORT는 단일 기준.
Q. UNIQUE·FILTER와 조합은?
황금 조합: =SORT(UNIQUE(FILTER(A:A, B:B="조건"))). 필터 → 중복 제거 → 정렬 한 수식으로.
Q. Excel 2019에서도 되나요?
불가. SORT는 Excel 365, 2021+ 전용. 2019 이하는 정렬 메뉴 또는 SMALL+ROW 배열 수식.
Q. 랜덤 셔플은?
=SORTBY(A:A, RANDARRAY(COUNTA(A:A))). 랜덤 배열 기준 정렬 = 셔플. 중복 없는 추첨.
Q. 구글 스프레드시트에서도 동일하게 작동하나요?
SORT는 지원 (구문 유사), SORTBY는 미지원(SORT로 대체). UNIQUE·FILTER는 지원. LibreOffice 등은 부분 지원.
본 페이지는 Microsoft Support 공식 SORT·SORTBY·UNIQUE 문서를 기준으로 작성되었습니다. 정확한 동작은 Excel 버전·환경에 따라 달라질 수 있으니 중요한 작업 전에는 실제 환경에서 확인하세요.