Excel & IT Info

아이엑셀러 닷컴, 엑셀러TV

Excel

Excel에서 SORTBY 함수를 사용하는 방법

권현욱(엑셀러) 2025. 8. 2. 16:47
반응형

들어가기 전에

Excel에서 데이터를 정렬하는 방법은 여러 가지가 있으며, 간단하고 편리한 방법 중 하나는 SORTBY 함수를 사용하는 것입니다. SORTBY 함수를 사용하면 여러 배열을 기준으로 데이터를 동적으로 정렬할 수 있어 편리합니다. SORTBY 함수 사용 구문과 활용 방법, 다른 함수와 함께 사용하는 방법 등을 소개합니다.

권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft MVP · 엑셀 솔루션 프로바이더 · 작가

이미지: 아이엑셀러 닷컴


이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.

  • 원문: How to Use the SORTBY Function in Excel
  • URL: https://www.howtogeek.com/excel-sortby-function/

SORTBY 함수 구문

SORTBY 함수의 구문은 간단하면서도 논리적입니다.

=SORTBY(a , b¹ , b² , c¹ ,c²...)

 

  • a (필수): 정렬하려는 범위 또는 배열
  • b¹ (필수): 데이터를 정렬할 첫 번째 범위 또는 배열
  • b² (선택 사항): b¹ 에 대한 정렬 순서
  • c¹ 과 c² (선택 사항): 데이터를 정렬하는 데 사용되는 두 번째 배열이자 순서이며, 이러한 쌍을 전체적으로 최대 64개까지 가질 수 있음

 

정렬 순서 인수를 생략하거나 1을 입력하면 지정된 범위 또는 배열을 기준으로 데이터가 오름차순 또는 알파벳순으로 정렬됩니다. 반대로, -1을 입력하면 데이터가 내림차순 또는 알파벳 역순으로 정렬됩니다.

인수 a , b¹ , c¹ , d¹ 등은 차원이 서로 호환되어야 합니다. 예를 들어, 인수 a 에 대해 선택된 범위가 10행 아래라면, 데이터를 정렬할 배열도 10행 아래여야 합니다.

SORTBY를 사용하여 한 열로 정렬

SORTBY 함수를 사용하여 일부 데이터를 한 열을 기준으로 정렬하는 방법을 살펴보겠습니다. 연습용 예제 파일은 [여기]에서 내려받을 수 있습니다.

 

이 예시에서는 T_Targets라는 Excel 표가 주어졌고, Points 열을 기준으로 데이터를 정렬해 달라고 요청받았다고 가정해 보겠습니다. 동시에, 정보의 순서가 변경되지 않아야 하므로 원본 표는 그대로 유지해야 합니다.

 

이미지: howtogeek

 

이를 위한 가장 좋은 방법은 SORTBY 함수를 사용하는 것입니다.

(1) 스프레드시트에서 데이터를 입력할 영역을 준비합니다. 이 예시에서는 열 머리글을 G1부터 K1 셀까지 복사하여 붙여넣었고, G2부터 K25 셀의 글꼴 크기와 정렬을 원본 데이터의 서식에 맞게 조정했습니다(데이터가 증가하는 것 고려).

 

이미지: howtogeek

 

SORTBY 함수는 동적 배열을 반환하므로 결과를 완전히 표시할 수 있을 만큼 충분한 빈 셀이 있는지 확인하세요. 그렇지 않으면 수식을 완료할 때 #SPILL! 오류가 발생합니다.

 

(2) G2 셀에 다음 수식을 입력합니다.

=SORTBY(T_Targets,T_Targets[Points],-1)

 

  • T_Targets: 배열
  • T_Targets[Points]: 배열을 정렬할 데이터가 포함된 열의 이름
  • -1: 내림차순으로 T_Targets[Points]를 정렬하도록 Excel에 지시

 

Enter 키를 누르면 포인트 열을 기준으로 데이터가 다시 정렬된 결과를 볼 수 있습니다. 결과 주위의 파란색 선은 동적 배열임을 알려줍니다(즉, 결과가 셀 G2에서 다른 셀로 유출되었음을 의미함).

 

이미지: howtogeek

 

참고로, SORTBY 수식은 원본 데이터와 같은 워크시트나 같은 통합 문서에 있을 필요는 없습니다. 하지만 통합 문서 간에 SORTBY를 사용하는 경우 두 파일 모두 열려 있어야 합니다. 그렇지 않으면 #REF! 오류가 발생합니다.

 

(3) 결과에 조건부 서식을 적용하여 추가 분석을 지원할 수 있습니다. 예를 들어, 목표를 달성한 사람들의 행은 녹색으로, 달성하지 못한 사람들의 행은 빨간색으로 표시할 수 있습니다.

 

SORTBY를 사용하여 두 개 이상의 열로 정렬

Excel에서 SORT 대신 SORTBY 함수를 사용하는 한 가지 이점은 데이터를 정렬하는 데 사용할 변수를 두 개 이상 선택할 수 있다는 것입니다.

 

위와 같은 예를 유지하면서, 개인을 총 포인트 기준으로 정렬하는 동시에, 목표를 달성한 모든 사람을 표에서 달성하지 못한 사람보다 위에 배치하고 싶다고 가정합니다.

 

이미지: howtogeek

 

열 머리글을 복제하고 이전에 입력한 SORTBY 함수를 삭제하는 등 데이터가 들어갈 셀을 준비한 후 G2 셀에 다음 수식을 입력합니다.

=SORTBY(T_Targets,T_Targets[Met?],-1,T_Targets[Points],-1)

 

  • T_Targets: 배열
  • T_Targets[Met?]: 해당 배열의 첫 번째 정렬 기준 열
  • -1: Excel에서 T_Targets[Met?]를 역순 알파벳 순서(Y가 N보다 위에 있음)로 정렬하도록 지시
  • T_Targets[Points]: 두 번째 정렬 기준 열
  • -1: Excel에서 T_Targets[Points]를 내림차순으로 정렬하도록 지시

 

Enter 키를 누르면 다음과 같은 결과가 나옵니다. 목표를 달성한 사람들의 총 포인트가 내림차순으로 그룹화되어 표시되고, 목표를 달성 하지 못한 사람들의 포인트도 동일하게 표시됩니다.

 

이미지: howtogeek

 

FILTER 함수와 함께 SORTBY 사용

SORTBY 함수는 Excel의 다른 함수와 함께 사용하여 결과를 더욱 세부적으로 조정할 수 있습니다. 특히, SORTBY 함수를 FILTER와 함께 사용하여 새 배열의 데이터를 정렬하고 필터링하는 방법에 대해 알아봅니다.

 

포인트 열에 따라 데이터를 정렬하고, 전체적으로 55점 이상을 획득한 사람만 표시하는 결과를 생성하는 것이 목표라고 가정해 보겠습니다. 1행의 결과에 대한 열 머리글을 만든 후 G2 셀에 다음 수식을 입력합니다.

=FILTER(SORTBY(T_Targets,T_Targets[Points],-1),SORTBY(T_Targets[Points],T_Targets[Points],-1)>55)

 

이미지: howtogeek

 

이 수식을 분석하여 작동 방식을 더 자세히 살펴보겠습니다. FILTER 함수에는 배열과 필터에 포함할 내용, 두 개의 인수가 필요합니다. 따라서 수식에서 다음과 같은 부분을 볼 수 있습니다.

SORTBY(T_Targets,T_Targets[Points],-1)

 

FILTER 함수의 배열 인수입니다 . 그러나 이 인수에 SORTBY를 중첩하면 Excel에 배열이 T_Targets라는 테이블이지만, 데이터는 Points 열을 기준으로 내림차순으로 정렬되어 있음을 알려줍니다. 그 다음 부분은 다음과 같습니다.

SORTBY(T_Targets[Points],T_Targets[Points],-1)>55

 

FILTER 함수의 포함 기준 입니다 . 하지만 배열 인수는 정렬된 데이터를 사용하므로 포함 기준도 정렬되어야 합니다. 이 경우 정렬할 데이터가 포함된 배열은 Points 열이고, 이 열은 이전에 데이터를 내림차순으로 정렬하는 데 사용한 배열입니다. 포함 기준의 마지막 부분은 Excel에서 이 정렬된 배열에 55보다 큰 값만 포함하도록 지정합니다.

 

Excel에서 SORT와 SORTBY 함수 비교

SORT 함수와 SORTBY 함수는 둘 다 데이터의 특정 값을 기준으로 데이터를 재구성하기 위한 것이지만, 작동 방식이 약간 다릅니다.

구분 SORT 함수 SORTBY 함수
수식 구문 SORT 함수를 사용하면 배열, 정렬 기준이 되는 열 인덱스 번호, 정렬 순서를 정의할 수 있으며, 열 대신 행을 기준으로 정렬하는 옵션을 지정할 수 있습니다. SORTBY 함수를 사용하면 범위를 정의하고 최대 64개의 정렬 배열 순서 쌍을 지정할 수 있습니다.
정렬 수준 SORT 함수를 사용하면 한 행 또는 한 열로만 정렬할 수 있습니다. SORTBY 함수를 사용하면 최대 64개 행 또는 열을 기준으로 정렬할 수 있습니다.
인수 참조 정렬 기준이 되는 행이나 열은 인덱스 번호로 참조됩니다. 즉, 원본 데이터에 행이나 열을 추가하거나 제거하면 이 인덱스 번호가 오래될 수 있습니다. 정렬 기준으로 사용할 배열은 열 머리글과 같이 명명된 참조일 수 있으므로, 원본 데이터에 열을 추가하거나 제거하더라도 이 참조는 일정하게 유지됩니다.

 

마치며

원본 데이터를 그대로 유지하면서 새 버전의 데이터를 만드는 또 다른 방법은 피벗 테이블을 사용하는 것입니다. 피벗 테이블을 사용하면 다양한 방식으로 데이털르 요약하고 재구성할 수 있으므로, 복잡한 수식을 사용하지 않고도 빠르게 계산하고 분석할 수 있습니다.