엑셀 함수 > 찾기 및 참조영역 함수 > SORTBY 함수 - 범위의 값을 기준으로 데이터 정렬하기

SORTBY 함수 - 범위의 값을 기준으로 데이터 정렬하기

엑셀에서 범위의 데이터를 정렬하려면 다음과 같이 리본 메뉴에 있는 '정렬' 기능을 이용하여 원본데이터 자체를 정렬했지만...

 

엑셀 2021 이상 버전부터 제공되는 SORT 함수나 SORTBY 함수를 이용하면 원본 데이터를 손대지 않고 별도의 범위에 정렬된 결과를 표시할 수 있습니다.

SORTBY 함수는 SORT 함수와 유사하나 SORT 함수에 비해

  • 출력결과에 포함되지 않은 범위를 정렬기준으로 설정할 수 있고,
  • 정렬기준을 여러 개 지정할 수 있는

장점이 있습니다.

 

구문(Syntax)

SORTBY

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

범위 또는 배열의 값을 기준으로 범위 또는 배열의 내용을 정렬한다.

인수 :

  • array : 정렬할 범위 또는 배열
  • by_array1 : 첫번째 정렬의 기준이 되는 배열 또는 범위
  • [sort_order1] : 첫번째 정렬순서(오름차순은 1(기본값), 내림차순의 경우 -1)
  • [by_array2] : 두번째 정렬의 기준이 되는 배열 또는 범위
  • [sort_order2] : 두번째 정렬순서(오름차순은 1(기본값), 내림차순의 경우 -1)
엑셀 2021 이상 버전에서 사용 가능

 

사용예

1) 정렬기준을 포함하여 정렬범위 전체를 출력하기

다음과 같이 '거래처별 판매실적' 자료가 있다고  할 때 SORTBY 함수를 이용하여 '판매일자' 별로 오름차순(빠른 날짜가 앞에, 늦은 날짜가 뒤에 옴)으로 정렬해 보겠습니다.

[B17] 셀에 다음 수식을 입력합니다.

=SORTBY(B6:E13,B6:B13,1)

SORTBY 함수로 정렬기준을 포함하여 정렬범위 전체를 출력하기

 

수식이 입력되면 다음과 같이 정렬 결과가 표시됩니다.

SORTBY 함수로 정렬기준을 포함하여 정렬범위 전체를 출력하기

 

수식을 풀이해 보면 다음과 같습니다.

SORTBY 함수로 정렬기준을 포함하여 정렬범위 전체를 출력하기

 

※ SORTBY 함수는 여러 셀에 결과를 가져올 수 있는 동적 배열 함수입니다.   따라서 정렬된 결과를 범위로 가져오도록 지정했는데 가져올 범위에 이미 값이 있으면 다음과 같이 #SPILL! 오류가 발생하므로 결과를 가져올 범위가 비어 있어야 합니다.

SORTBY 함수 SPILL 오류

 

 

2) 출력결과에 포함되지 않은 범위를 정렬기준으로 지정하기

위의 예는 정렬의 기준이 되는 범위를 포함하여 전체 범위가 출력되었는데, 이번에는 정렬 기준(판매일자)과 정렬결과 범위를 따로 지정하고 정렬결과를 출력해 보겠습니다.

[B39] 셀에 다음 수식을 입력합니다.

=SORTBY(C6:E13,B6:B13,1)

SORTBY 함수로 출력결과에 포함되지 않은 범위를 정렬기준으로 지정하기

 

수식이 입력되면 다음과 같이 정렬 결과가 표시됩니다.

SORTBY 함수로 출력결과에 포함되지 않은 범위를 정렬기준으로 지정하기

 

수식을 풀이해 보면 다음과 같습니다.

정렬기준으로 사용할 범위와 출력할 범위를 따로 지정하고, 정렬기준으로 사용한 범위는 제외하고 결과를 가져왔습니다.

SORTBY 함수 사용법

SORTBY 함수로 출력결과에 포함되지 않은 범위를 정렬기준으로 지정하기

 

 

3) 여러 범위를 정렬기준으로 지정하기

마지막으로 판매일자를 첫 번째, 거래처명을 두 번째 정렬 기준으로 지정하고 정렬결과를 출력해 보겠습니다.

[B50] 셀에 다음 수식을 입력합니다.

=SORTBY(B6:E13,B6:B13,1,C6:C13,1)

SORTBY 함수로 여러 범위를 정렬기준으로 지정하기

 

수식이 입력되면 다음과 같이 정렬 결과가 표시됩니다.

SORTBY 함수로 여러 범위를 정렬기준으로 지정하기

 

수식을 풀이해 보면 다음과 같습니다.

SORTBY 함수로 여러 범위를 정렬기준으로 지정하기

 

출력된 결과를 확인해 보면 '판매일자'순으로 첫번째로 정렬이 되고, '거래처명'기준으로 두번째로 정렬이 된것을 알 수 있습니다.

SORTBY 함수로 여러 범위를 정렬기준으로 지정하기

 

 

SORT 함수와 SORTBY 함수 비교

SORT 함수와 SORTBY 함수는 기능이 비슷하지만 다음과 같이 차이가 있습니다.

함수 정렬 기준 정렬 기준의 개수 기타
SORT 정렬 기준이 되는 행, 열의 위치를 숫자로 지정 한 개만 가능(배열 사용 시 여러 개 가능)
SORTBY 정렬 기준을 범위로 지정 여러 개 가능 출력결과에 포함되지 않은 범위를 정렬기준으로 설정 가능

 

 


관련 글

SORT 함수로 여러 기준 정렬 SORT 함수로 여러 기준 (다중 기준) 정렬하기 - 엑셀에는 다음과 같이 데이터를 정렬해주는 SORT 함수와 SORTBY 함수가 있습니다. 함수 정렬 기준 정렬 기준의 개수 기타 SORT 정렬 기준이…

SORT 함수로 여러 기준 (다중 기준) 정렬하기 더 보기 »

UNIQUE 함수 사용법 UNIQUE 함수 - 중복 제거하기 - 엑셀의 UNIQUE함수는 유일한 결과를 구해주는 함수인데 정확히는 두 가지 기능을 가지고  있습니다. 중복을 제거한 결과를 구해주는 기능과 목록에서 한 번만…

UNIQUE 함수 - 중복 제거하기 더 보기 »

정렬의 또 다른 방법, 사용자 지정목록/색으로 정렬 - 엑셀에서 자료를 정렬할 때 값 기준으로 '오름차순' 또는 '내림차순'으로 정렬을 많이 하지만 내가 원하는 기준으로 정렬한다든지 셀에 표시한 색을 기준으로…

정렬의 또 다른 방법, 사용자 지정목록/색으로 정렬 더 보기 »

엑셀 동적 배열 수식 엑셀의 새로운 기능, 동적 배열 수식 - Microsoft 365, Excel 2021 버전부터 기존의 배열 수식(레거시 배열수식이라고 함)과는 다른 동적 배열 수식을 사용할 수 있습니다.  동적 배열 수식은…

엑셀의 새로운 기능, 동적 배열 수식 더 보기 »

FILTER 함수 사용법 FILTER 함수 - 원하는 조건으로 필터링하기 - 엑셀에서 범위의 데이터를 원하는 조건으로 조회(필터링)하려면 다음과 같이 리본메뉴 > 데이터 > '필터' 기능을 이용하여 원본데이터 자체를 필터링했지만... 엑셀 2021…

FILTER 함수 - 원하는 조건으로 필터링하기 더 보기 »

SORT 함수 사용법 SORT 함수 - 데이터 정렬하기 - 엑셀에서 범위의 데이터를 정렬하려면 다음과 같이 리본 메뉴에 있는 '정렬' 기능을 이용하여 원본데이터 자체를 정렬했지만... 엑셀 2021 이상 버전부터 제공되는…

SORT 함수 - 데이터 정렬하기 더 보기 »

엑셀웍스 책 출간 안내

그동안 엑셀웍스에 올린 '엑셀 강좌', '함수 사용법', 여러 '실무 예제'에서 핵심만 뽑아 '된다! 엑셀 수식 & 함수' 책으로 출간하였습니다.

 자세히 보기

온라인 구매처: 예스24   교보문고   알라딘 

“SORTBY 함수 - 범위의 값을 기준으로 데이터 정렬하기”의 5개의 댓글

  1. 된다! 엑셀 수식&함수 독자입니다. sortby와 filter 함수 공부하면서 궁금한 것이 있어 질문드립니다.
    필터 함수 결과를 sortby 함수를 사용해 기준 2가지로 정렬하고 싶습니다.
    p387 수식의 결과에 sortby 함수를 사용해서 거래처명을 오름차순, 판매금액을 내림차순으로 정렬하려면 어떻게 해야 하나요?
    filter 함수 첫 번째 인수에 sortby 함수를 중첩하고 정렬 기준을 2개로 지정했는데 결과가 맞지 않습니다.
    방법을 알려주시면 감사하겠습니다.

    1. 다음과 같이 SORT 함수를 사용하시면 됩니다.
      =SORT(FILTER($B$6:$E$13,($D$6:$D$13="노트")+($E$6:$E$13>30000),"찾는 자료가 없음"),{2,4},{1,-1})
      2가지로 정렬해야 하므로 SORT 함수의 두 번째, 세 번째 인수는 배열을 사용했습니다.
      {2,4}: 거래처는 2번째, 판매금액은 4번째 열
      {1,-1}: 1 오름차순, -1 내림차순

  2. sort 함수로도 기준을 지정할 수 있는데, sortby 함수와의 차이를 책 내용만으로는 알 수 없습니다. 어떤 차이가 있나요? 바쁘신데 계속 질문해서 미안합니다.

    1. SORTBY 함수는 SORT 함수와 유사하나 출력결과에 포함되지 않은 범위를 정렬기준으로 설정할 수 있고, 정렬기준을 여러 개 지정할 수 있습니다.
      SORT 함수는 정렬 기준을 정할 때 몇번째 행 또는 열인지 숫자(sort_index 인수)로 정하지만 SORTBY 함수는 범위(by_array1, by_array2... 인수)를 정렬 기준으로 정하는 차이점이 있습니다.

댓글 남기기

Scroll to Top