Menu

엑셀 SORT, SORTBY 함수 사용법: 수식으로 정렬하기

=SORT(A2:C7,3,-1)은 표 A2:C7을 세 번째 열 기준 큰 값부터 정렬해 반환하며, 데이터가 바뀌면 계속 다시 정렬합니다. SORTBY는 여러 열과 사용자 지정 순서를 포함해 어떤 범위로든 정렬합니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=SORT(A2:C7,3,-1)은 표 A2:C7을 세 번째 열인 매출을 기준으로 큰 값부터 정렬해 반환합니다. 원래 표는 그대로 남고, 정렬된 사본이 수식 셀에서 분산되며 숫자가 바뀌면 스스로 다시 정렬합니다. C7을 300으로 바꾸면 Finn이 맨 위로 올라갑니다.

매출이 높은 순서로
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120CaraNorth200
3BenSouth80DanEast150
4CaraNorth200AnnNorth120
5DanEast150EveSouth95
6EveSouth95BenSouth80
7FinnNorth60FinnNorth60
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

SORT 구문

=SORT(array, [sort_index], [sort_order], [by_col])
  • array는 정렬해서 반환할 범위입니다.
  • sort_index는 array 안에서 정렬 기준이 되는 열 번호입니다. 기본값은 1입니다.
  • sort_order는 오름차순이면 1(기본값), 내림차순이면 -1입니다.
  • by_col은 행을 정렬하려면 FALSE(기본값), 열을 왼쪽에서 오른쪽으로 정렬하려면 TRUE입니다.

SORT와 SORTBY는 Excel 2021, Excel 2024 또는 Microsoft 365가 필요하며, 이전 버전에서는 #NAME?이 표시됩니다. Google Sheets에도 둘 다 있지만, Google Sheets의 SORT는 열 번호와 TRUE 또는 FALSE를 쌍으로 받습니다.

오름차순은 숫자를 먼저, 그다음 텍스트를 A부터 Z 순으로, 그다음 FALSE와 TRUE를 놓습니다. 텍스트는 대소문자를 구분하지 않고 비교합니다. array의 빈 셀은 결과에서 0으로 돌아옵니다.

엑셀에서 가나다(알파벳)순으로 정렬하기

목록의 순서를 그 자리에서 바꾸려면 목록의 아무 셀이나 클릭하고 데이터 > 오름차순 정렬(또는 내림차순 정렬)을 고르세요. 목록 옆에 붙은 열이 있으면 엑셀은 각 행이 함께 움직이도록 표 전체를 정렬합니다. 열이 둘 이상이거나 사용자 지정 목록이 필요하면 데이터 > 정렬을 쓰세요.

원래 순서를 유지하면서 스스로 갱신되는 정렬 사본을 얻으려면 다른 인수 없이 SORT를 씁니다:

A부터 Z 순서의 이름
C2
ABC
1NameA to Z
2MiaAnn
3BenBen
4ZoeCara
5AnnDan
6LeoLeo
7CaraMia
8DanZoe
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

A3에 Abe를 입력하면 맨 앞에 나타납니다. =SORT(A2:A8,,-1)은 Z부터 A 순서이며, 쉼표 두 개는 sort_index를 건너뜁니다. 반복 없이 정렬하려면 UNIQUE의 결과를 정렬하세요: =SORT(UNIQUE(A2:A8))(UNIQUE 참고).

SORTBY: 반환하지 않는 열로 정렬하기

SORT는 반환하는 범위의 열로만 정렬할 수 있습니다. SORTBY는 정렬 기준을 별도의 범위로 받으므로 이름만 매출 순서로 반환할 수 있습니다:

매출 순서의 이름
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120Cara
3BenSouth80Dan
4CaraNorth200Ann
5DanEast150Eve
6EveSouth95Ben
7FinnNorth60Finn
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

결과는 Cara, Dan, Ann, Eve, Ben, Finn입니다. 구문은 =SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], ...)입니다. 각 by_array의 행 수는 array와 같아야 하며, 그렇지 않으면 SORTBY는 #VALUE!를 반환합니다.

상위 3개를 얻으려면 결과의 처음 행을 가져오세요: =TAKE(SORTBY(A2:A7,C2:C7,-1),3)은 Cara, Dan, Ann을 반환합니다. TAKE는 Microsoft 365나 Excel 2024가 필요하며, Excel 2021에서는 =INDEX(SORTBY(A2:A7,C2:C7,-1),SEQUENCE(3))을 쓰세요.

여러 열을 기준으로 정렬하기

SORTBY에 단계마다 기준과 순서의 쌍을 하나씩 줍니다. 다음은 지역을 오름차순으로, 각 지역 안에서는 매출을 큰 값부터 정렬합니다:

지역 오름차순, 그다음 매출 내림차순
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120DanEast150
3BenSouth80CaraNorth200
4CaraNorth200AnnNorth120
5DanEast150FinnNorth60
6EveSouth95EveSouth95
7FinnNorth60BenSouth80
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

East가 먼저 오고, 그다음 North 세 행이 Cara(200), Ann(120), Finn(60) 순서로, 그다음 South가 옵니다. SORT도 열 번호와 순서의 배열로 같은 일을 할 수 있지만 SORTBY가 읽기 쉽습니다:

=SORT(A2:C7,{2,3},{1,-1})

사용자 지정 순서로 정렬하기

원하는 순서가 항상 가나다순인 것은 아닙니다. 지역을 North, East, South 순서로 정렬하려면 MATCH로 각 지역을 그 목록에서의 위치로 바꾸고 위치로 정렬하세요:

North 먼저, 그다음 East, 그다음 South
E2
ABCDEFG
1NameRegionSalesNameRegionSales
2AnnNorth120AnnNorth120
3BenSouth80CaraNorth200
4CaraNorth200FinnNorth60
5DanEast150DanEast150
6EveSouth95BenSouth80
7FinnNorth60EveSouth95
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

MATCH는 North에 1, East에 2, South에 3을 반환하고 SORTBY가 그 숫자로 정렬합니다. 기준이 같은 행은 원래 순서를 유지하므로 North 행은 Ann, Cara, Finn 순서로 남습니다. 같은 방법으로 월이나 요일을 이름으로 정렬할 수 있습니다. MATCH 안에 달력 순서대로 나열하면 됩니다. 목록에 없는 지역은 MATCH에서 #N/A를 받습니다. 그런 행을 마지막에 두려면 기준으로 IFERROR(MATCH(B2:B7,{"North","East","South"},0),99)를 쓰세요.

연습: 매출 순서의 이름

직접 해 보기
E2
ABCDE
1NameRegionSalesBy sales
2AnnNorth120
3BenSouth80
4CaraNorth200
5DanEast150
6EveSouth95
7FinnNorth60
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: E2에서 이름만 매출이 높은 순서로 반환하세요.

SORT 함수와 정렬 버튼

둘 다 정렬하지만 하는 일이 다릅니다:

데이터 > 정렬SORT와 SORTBY
원래 표를 바꿈예아니요, 결과는 새 셀에
데이터가 바뀌면 갱신아니요, 다시 정렬예
Excel 2019 이하에서 동작예아니요
결과를 셀마다 고칠 수 있음예아니요, 수식 하나
다른 수식으로 감쌀 수 있음아니요예, 예를 들어 =TAKE(SORT(A2:C7,3,-1),3)

표를 한 번 정리할 때는 버튼을 쓰세요. 데이터가 바뀌는 동안에도 정렬을 유지해야 하는 보고서나 대시보드에는 함수를 쓰세요. 수식 아래나 오른쪽 셀이 비어 있지 않으면 함수는 정렬된 목록 대신 #SPILL!을 표시합니다. 그 셀을 비우면 목록이 나타납니다(#SPILL! 오류 참고).

자주 묻는 질문

엑셀에서 수식으로 데이터를 정렬하려면 어떻게 하나요?

SORT를 씁니다: =SORT(A2:C7,3,-1)은 A2:C7을 세 번째 열 기준 큰 값부터 정렬해 반환합니다. 마지막 두 인수를 생략한 =SORT(A2:A8)은 첫 번째 열을 기준으로 작은 값부터, 텍스트라면 A부터 Z 순으로 정렬합니다.

SORT와 SORTBY의 차이는 무엇인가요?

SORT는 반환하는 범위의 열 중 번호로 고른 열을 기준으로 정렬합니다. SORTBY는 반환하지 않는 범위라도 지정한 범위를 기준으로 정렬합니다: =SORTBY(A2:A7,C2:C7,-1)은 이름만 매출 순서로 반환합니다. SORTBY는 정렬 기준 여러 개도 바로 받습니다.

엑셀에서 목록을 가나다(알파벳)순으로 정렬하려면 어떻게 하나요?

목록의 셀 하나를 선택하고 데이터 > 오름차순 정렬을 클릭하면 그 자리에서 순서가 바뀝니다. 원본을 유지하고 갱신되는 정렬 사본을 얻으려면 빈 셀에 =SORT(A2:A8)을 입력하세요. 내림차순은 =SORT(A2:A8,,-1)입니다.

수식으로 두 열을 기준으로 정렬하려면 어떻게 하나요?

SORTBY에 기준과 순서의 쌍을 두 개 줍니다: =SORTBY(A2:C7,B2:B7,1,C2:C7,-1)은 지역을 오름차순으로, 각 지역 안에서는 매출을 큰 값부터 정렬합니다.

SORT와 SORTBY는 어느 엑셀 버전에 있나요?

Excel 2021, Excel 2024, Microsoft 365에 있습니다. Excel 2019 이하에서는 #NAME?이 표시되며, 데이터 탭의 정렬 버튼으로 정렬해야 합니다.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기