엑셀 SORT 함수 사용법 (다중조건 정렬 방법)

엑셀에서 이름을 가나다순으로 정렬하거나 매출액을 높은 순서대로 확인하려면 일반적으로 데이터 → 정렬 기능을 사용합니다.

하지만 원본 데이터가 계속 추가되거나 변경되는 경우 매번 다시 정렬해야 하는 번거로움이 있습니다.

이럴 때 활용할 수 있는 함수가 SORT 함수입니다.

SORT 함수를 사용하면 원본 데이터는 그대로 유지하면서 별도의 영역에 정렬된 결과를 자동으로 표시할 수 있습니다. 여기에 FILTER나 UNIQUE 같은 동적 배열 함수를 조합하면 조건에 맞는 데이터만 추출한 뒤 자동으로 정렬하는 것도 가능합니다.

이번 글에서는 엑셀 SORT 함수 사용법부터 데이터 자동 정렬 및 다중조건 정렬 방법까지 예제를 통해 알아보겠습니다.


엑셀 SORT 함수란?

SORT 함수는 지정한 범위의 데이터를 원하는 기준에 따라 자동으로 정렬해 주는 함수입니다.

기본 구조는 다음과 같습니다.

=SORT(array,[sort_index],[sort_order],[by_col])

각 인수의 의미는 다음과 같습니다.

array

정렬할 데이터 범위입니다.

sort_index

몇 번째 열 또는 행을 기준으로 정렬할지 지정합니다.

sort_order

정렬 순서를 지정합니다.

  • 1 : 오름차순
  • -1 : 내림차순

by_col

행과 열 중 어느 방향으로 정렬할지를 지정합니다. 일반적인 세로형 데이터에서는 생략하면 됩니다.

실무에서는 주로 다음과 같은 형태로 사용합니다.

=SORT(A2:D10,4,-1)

A2:D10 데이터를 범위 안의 네 번째 열을 기준으로 내림차순 정렬한다는 의미입니다.


SORT 함수 기본 사용법

다음과 같은 직원 데이터가 있다고 가정해 보겠습니다.

이름부서직급실적
김철수영업팀대리120
이영희총무팀과장80
박민수영업팀사원95
김민지개발팀대리110
최영수영업팀과장150

A2:D6에 위 데이터가 입력되어 있다고 가정하겠습니다.

전체 데이터를 기본 순서대로 정렬하려면 다음과 같이 사용할 수 있습니다.

=SORT(A2:D6)

sort_index와 sort_order를 생략하면 기본적으로 첫 번째 열을 기준으로 오름차순 정렬합니다.


이름을 가나다순으로 자동 정렬하기

A열의 이름을 기준으로 가나다순 정렬하려면 다음 수식을 사용할 수 있습니다.

=SORT(A2:D6,1,1)

여기에서

1

은 A2:D6 범위에서 첫 번째 열인 이름을 의미하고,

마지막 1

은 오름차순을 의미합니다.

따라서 이름이 가나다순으로 정렬된 전체 행이 자동으로 표시됩니다.

영문 데이터라면 A → Z, 숫자 데이터라면 작은 값 → 큰 값 순서로 정렬됩니다.


숫자를 높은 순서로 정렬하기

직원들의 실적을 가장 높은 사람부터 확인하고 싶다면 네 번째 열을 기준으로 내림차순 정렬하면 됩니다.

수식은 다음과 같습니다.

=SORT(A2:D6,4,-1)

A2:D6에서 네 번째 열은 실적이므로 결과는 실적이 높은 순서대로 표시됩니다.

예제에서는

이름부서직급실적
최영수영업팀과장150
김철수영업팀대리120
김민지개발팀대리110
박민수영업팀사원95
이영희총무팀과장80

처럼 나타납니다.

매출, 판매량, 점수, 실적 등을 순위처럼 높은 값부터 확인할 때 활용하기 좋습니다.


오름차순과 내림차순 구분하기

SORT 함수를 사용할 때 자주 헷갈리는 부분이 sort_order입니다.

간단하게 다음과 같이 기억하면 됩니다.

1 = 오름차순

작은 값 → 큰 값
A → Z
가나다순

-1 = 내림차순

큰 값 → 작은 값
Z → A
역순

예를 들어 실적을 낮은 순서로 정렬하려면

=SORT(A2:D6,4,1)

높은 순서로 정렬하려면

=SORT(A2:D6,4,-1)

을 사용합니다.


특정 열만 자동 정렬하기

전체 표가 아니라 하나의 목록만 정렬하는 것도 가능합니다.

예를 들어 A2:A20에 이름 목록이 있다면

=SORT(A2:A20)

처럼 사용할 수 있습니다.

상품명이나 직원명, 거래처명처럼 하나의 목록을 자동으로 정렬해야 할 때 간단하게 활용할 수 있습니다.


SORT 함수로 다중조건 정렬하기

SORT 함수에서는 배열 형태로 여러 정렬 기준을 지정할 수 있습니다.

예를 들어 A2:D100에서

1순위 : 부서 오름차순

2순위 : 실적 내림차순

으로 정렬한다고 가정해 보겠습니다.

다음과 같이 사용할 수 있습니다.

=SORT(A2:D100,{2,4},{1,-1})

여기에서

{2,4}

는 두 번째 열인 부서를 먼저 정렬하고, 같은 부서 안에서는 네 번째 열인 실적을 두 번째 기준으로 정렬한다는 의미입니다.

{1,-1}

은 부서는 오름차순, 실적은 내림차순으로 정렬한다는 의미입니다.

따라서 같은 부서에 속한 직원들은 다시 실적이 높은 순서대로 정렬됩니다.

여러 기준을 적용해야 하는 데이터에서는 이러한 다중조건 정렬 방식을 활용할 수 있습니다.


SORTBY 함수로 다중조건 정렬하기

복잡한 데이터에서는 SORT보다 SORTBY 함수를 사용하는 방법도 편리합니다.

SORTBY 함수는 정렬할 범위와 정렬 기준 범위를 별도로 지정합니다.

기본적인 구조는 다음과 같습니다.

=SORTBY(array,by_array1,[sort_order1],[by_array2,sort_order2],…)

예를 들어 A2:D100 데이터를

부서 오름차순 → 실적 내림차순

순서로 정렬한다면 다음과 같이 사용할 수 있습니다.

=SORTBY(A2:D100,B2:B100,1,D2:D100,-1)

이 수식은

B열의 부서를 오름차순으로 먼저 정렬하고,

같은 부서 안에서는 D열의 실적을 내림차순으로 정렬합니다.

정렬 기준이 여러 개이거나 기준 열을 명확하게 지정하고 싶다면 SORTBY 함수가 이해하기 편한 경우가 많습니다.


SORT와 SORTBY 함수 차이는?

두 함수 모두 데이터를 자동으로 정렬하지만 정렬 기준을 지정하는 방법에 차이가 있습니다.

SORT 함수는 정렬할 배열 안에서 몇 번째 열인지를 숫자로 지정합니다.

예를 들어

=SORT(A2:D100,4,-1)

이라면 A2:D100의 네 번째 열을 기준으로 정렬합니다.

반면 SORTBY는

=SORTBY(A2:D100,D2:D100,-1)

처럼 정렬 기준이 되는 범위를 직접 지정합니다.

따라서 간단한 정렬에는 SORT 함수가 편리하고, 정렬 기준이 여러 개이거나 수식을 읽기 쉽게 구성하고 싶다면 SORTBY 함수가 유용합니다.


UNIQUE + SORT 함수로 중복 제거 후 자동 정렬하기

앞에서 알아본 UNIQUE 함수와 SORT 함수를 함께 사용하면 더욱 유용합니다.

예를 들어 B2:B100에 직원들의 부서가 다음처럼 반복되어 있다고 가정해 보겠습니다.

영업팀
개발팀
영업팀
총무팀
개발팀
영업팀

중복값을 제거하려면

=UNIQUE(B2:B100)

을 사용할 수 있습니다.

여기에 SORT 함수를 추가하면

=SORT(UNIQUE(B2:B100))

처럼 작성할 수 있습니다.

먼저 UNIQUE 함수가 중복값을 제거하고, 그 결과를 SORT 함수가 다시 정렬합니다.

따라서 중복되지 않은 부서 목록을 깔끔하게 정렬해서 만들 수 있습니다.


빈칸 제외 + 중복 제거 + 자동 정렬하기

실제 엑셀에서는 데이터 범위를 B2:B1000처럼 넉넉하게 지정하는 경우가 많습니다.

이때 빈칸까지 제외한 목록을 만들고 싶다면 FILTER 함수까지 조합할 수 있습니다.

=SORT(UNIQUE(FILTER(B2:B100,B2:B100<>””)))

수식은 안쪽 함수부터 실행됩니다.

1단계 FILTER

빈칸을 제외합니다.

2단계 UNIQUE

중복값을 제거합니다.

3단계 SORT

결과를 정렬합니다.

즉,

빈칸 제외 → 중복 제거 → 자동 정렬

과정을 하나의 수식으로 처리할 수 있습니다.

이 방법은 엑셀에서 드롭다운용 자동 목록을 만들 때 특히 유용합니다.


FILTER + SORT 함수로 조건에 맞는 데이터 정렬하기

FILTER 함수로 데이터를 추출한 뒤 SORT 함수로 결과를 자동 정렬할 수도 있습니다.

예를 들어 B열에서 영업팀 직원만 추출하고 실적이 높은 순서대로 정렬한다고 가정하겠습니다.

다음과 같이 작성할 수 있습니다.

=SORT(FILTER(A2:D100,B2:B100=”영업팀”),4,-1)

먼저

FILTER(A2:D100,B2:B100=”영업팀”)

에서 영업팀 데이터만 추출합니다.

그 결과를

SORT(…,4,-1)

로 실적이 높은 순서대로 정렬합니다.

따라서 조건에 맞는 데이터 추출과 자동 정렬을 하나의 수식으로 처리할 수 있습니다.


드롭다운 + FILTER + SORT 연동하기

조건을 직접 수식에 입력하는 대신 드롭다운과 연결하면 활용도가 더욱 높아집니다.

예를 들어 F2 셀에 부서를 선택하는 드롭다운이 있다고 가정해 보겠습니다.

다음 수식을 사용합니다.

=SORT(FILTER(A2:D100,B2:B100=F2,”결과 없음”),4,-1)

이제 F2에서

영업팀

을 선택하면 영업팀 직원이 실적순으로 나타나고,

개발팀

을 선택하면 개발팀 직원이 실적순으로 나타납니다.

즉,

드롭다운으로 조건 선택 → FILTER 함수로 데이터 추출 → SORT 함수로 자동 정렬

과정이 한 번에 이루어집니다.

직원 조회표나 매출 관리표를 만들 때 활용하기 좋은 방식입니다.


날짜를 최신순으로 정렬하기

SORT 함수는 날짜 데이터에도 사용할 수 있습니다.

예를 들어 A열에 날짜가 있고 A2:D100 데이터를 최신 날짜부터 표시하려면 다음과 같이 사용할 수 있습니다.

=SORT(A2:D100,1,-1)

날짜는 엑셀 내부적으로 숫자값으로 관리되기 때문에 내림차순으로 정렬하면 최근 날짜 → 오래된 날짜 순서로 표시됩니다.

반대로 오래된 날짜부터 표시하려면

=SORT(A2:D100,1,1)

을 사용하면 됩니다.

거래내역, 주문내역, 업무일지처럼 날짜가 중요한 자료에서 활용하기 좋습니다.


SORT 함수 결과가 자동으로 늘어나는 이유

SORT 함수도 FILTER나 UNIQUE 함수와 마찬가지로 동적 배열 함수입니다.

따라서 수식을 하나의 셀에만 입력해도 정렬 결과가 필요한 만큼 주변 셀에 자동으로 표시됩니다.

예를 들어

=SORT(A2:D100,4,-1)

을 F2에 입력하면 결과가 F2 한 칸에만 표시되는 것이 아니라 필요한 행과 열까지 자동으로 확장됩니다.

따라서 결과 영역에 수식을 각각 복사할 필요가 없습니다.


SORT 함수에서 #SPILL! 오류가 발생한다면?

SORT 함수의 결과가 표시되어야 할 영역에 이미 다른 데이터가 입력되어 있으면 결과를 확장할 수 없습니다.

이 경우 #SPILL! 오류가 발생할 수 있습니다.

SORT 함수를 입력했는데 #SPILL! 오류가 나타난다면 결과가 표시될 영역에

  • 기존 데이터
  • 공백처럼 보이는 값
  • 병합된 셀

등이 있는지 확인해 보는 것이 좋습니다.

결과 영역을 비우면 정상적으로 표시되는 경우가 많습니다.


일반 정렬 기능과 SORT 함수 중 무엇을 사용해야 할까?

엑셀 상단의 데이터 → 정렬 기능과 SORT 함수는 용도가 조금 다릅니다.

원본 데이터 자체의 순서를 변경하고 싶다면 일반 정렬 기능을 사용하는 것이 간단합니다.

반면 원본 데이터는 그대로 유지하면서 별도의 영역에 항상 정렬된 결과를 표시하고 싶다면 SORT 함수가 유용합니다.

특히 데이터가 계속 추가되거나 FILTER, UNIQUE 함수와 함께 자동화된 조회표를 만들 때 SORT 함수의 장점이 커집니다.


엑셀 SORT 함수 사용법 정리

SORT 함수의 기본 구조는 다음과 같습니다.

=SORT(array,[sort_index],[sort_order],[by_col])

첫 번째 열을 기준으로 오름차순 정렬하려면

=SORT(A2:D100,1,1)

네 번째 열을 기준으로 내림차순 정렬하려면

=SORT(A2:D100,4,-1)

을 사용할 수 있습니다.

여러 조건으로 정렬하려면

=SORT(A2:D100,{2,4},{1,-1})

처럼 적용할 수 있으며, SORTBY 함수를 이용해

=SORTBY(A2:D100,B2:B100,1,D2:D100,-1)

처럼 정렬 기준 범위를 직접 지정하는 방법도 있습니다.

SORT 함수는 단독으로 사용하는 것보다 다른 동적 배열 함수와 조합했을 때 더욱 활용도가 높습니다.

중복 제거 후 정렬하려면

=SORT(UNIQUE(B2:B100))

조건에 맞는 데이터만 추출한 후 정렬하려면

=SORT(FILTER(A2:D100,B2:B100=F2,”결과 없음”),4,-1)

처럼 사용할 수 있습니다.

FILTER → UNIQUE → SORT와 같은 동적 배열 함수들을 함께 익혀두면 반복적으로 필터와 정렬을 설정하지 않고도 원본 데이터 변화에 따라 결과가 자동으로 바뀌는 엑셀 문서를 만들 수 있습니다.

직원 명단이나 거래처, 매출, 재고처럼 데이터가 계속 변경되는 파일을 자주 사용한다면 SORT 함수의 기본 사용법과 함께 다중조건 정렬 및 다른 함수와의 조합 방법도 활용해 보시기 바랍니다.

“엑셀 SORT 함수 사용법 (다중조건 정렬 방법)”에 대한 1개의 생각

댓글 남기기