Excel & IT Info

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

Excel

엑셀 CHOOSECOLS, CHOOSEROWS 함수로 데이터 추출하기

권현욱(엑셀러) 2025. 8. 19. 17:00
반응형

들어가기 전에

Excel의 CHOOSECOLS, CHOOSEROWS를 사용하면 여러 함수를 중첩하지 않고도 데이터에서 특정 열이나 행을 빠르게 추출할 수 있습니다. 동적 함수이므로 데이터 세트의 변화에 ​​따라 자동으로 조정되므로 더욱 편리합니다. CHOOSECOLS, CHOOSEROWS 함수의 기본 사용 방법과 3가지 예제를 소개합니다. 참고로 이들 함수는 Microsoft 365 또는 웹용 Excel에서 지원되는 함수입니다.

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

이미지: 아이엑셀러 닷컴


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

  • 원문: How to Use the CHOOSECOLS and CHOOSEROWS Functions in Excel to Extract Data
  • URL: https://www.howtogeek.com/microsoft-excel-how-to-use-choosecols-chooserows-functions-extract-data/

CHOOSECOLS 및 CHOOSEROWS 함수 사용 구문

 

Excel의 CHOOSECOLS와 CHOOSEROWS 함수는 쌍둥이와 같습니다. 미묘한 차이가 있지만 거의 비슷합니다. 사용 구문도 마찬가지입니다. CHOOSECOLS의 구문은 다음과 같습니다.

=CHOOSECOLS(a, b, c,…)

 

CHOOSEROWS의 구문은 다음과 같습니다.

=CHOOSEROWS(a, b, c,…)

 

함수 이름만 다를 뿐 인수도 동일합니다.

  • a (필수): 추출하려는 열(CHOOSECOLS) 또는 행(CHOOSEROWS)을 포함하는 원래 배열
  • b (필수): 추출할 첫 번째 열(CHOOSECOLS) 또는 행(CHOOSEROWS)의 인덱스 번호
  • c (선택 사항): 추출할 추가 열(CHOOSECOLS) 또는 행(CHOOSEROWS)의 인덱스 번호

 

인덱스 번호가 배열 중앙의 열 또는 행을 나타내는 경우(즉, 첫 번째 또는 마지막 열이나 행이 아닌 경우), 배열 중앙에 열이나 행을 추가하면 인덱스된 열이나 행이 변경됩니다.

 

이 함수들이 TAKE 함수와 매우 유사하다고 생각할 수도 있습니다. 하지만 TAKE 함수가 명명된 테이블의 다른 위치에서 처음 또는 마지막 n개의 열이나 행, 또는 단일 열이나 행을 추출하는 반면, CHOOSECOLS와 CHOOSEROWS 함수는 데이터의 어느 위치에서든 원하는 개수의 열을 원하는 순서대로 추출할 수 있습니다.

 

예제 1: 테이블에서 첫 번째 및 마지막 열 또는 행 추출

CHOOSECOLS와 CHOOSEROWS를 사용하여 표의 첫 번째와 마지막 열이나 행을 추출한 횟수는 셀 수 없을 정도입니다. 특히 첫 번째 열이나 행이 헤더이고 마지막 열이나 행에 합계가 있는 경우 이 기능이 매우 유용합니다. 이 예제에서 사용하는 예제는 [여기]에서 내려받을 수 있습니다.

 

여러분이 지역 스포츠 리그의 관리자라고 상상해보세요. 5개 경기에서 5개 팀이 획득한 점수를 요약한 보고서를 작성하려고 합니다.

 

이미지: howtogeek

 

생성하려는 첫 번째 데이터 세트는 각 팀이 획득한 총 점수를 나타냅니다. 이를 위해 빈 셀에 다음 수식을 입력합니다. 수식에서 테이블 이름 뒤에 [#ALL]을 추가하면 Excel에서 인덱스 번호를 처리할 때 머리글 행과 합계 행을 모두 계산합니다.

=CHOOSECOLS(T_Games[#All], 1, -1)

 

  • T_Games: 배열이 저장된 테이블의 이름이고, [#All]은 Excel에 헤더와 총 행을 결과에 포함시키려 한다는 것을 알려줌
  • 1: 첫 번째 열(여기서는 "Team" 열)
  • -1: 마지막 열(여기서는 "Total" 열)

 

기본적으로 CHOOSECOLS는 왼쪽에서 오른쪽으로, CHOOSEROWS는 위에서 아래로 계산합니다. 이를 반대로 하려면 해당 색인 번호 앞에 빼기 기호(-)를 붙입니다.

 

Enter 키를 누르면 다음과 같은 결과가 나타납니다. 이 데이터는 대시보드 탭 과 같이 같은 통합 문서의 다른 시트에 복제 하거나 이메일이나 Word 문서에 텍스트로 복사하여 붙여넣을 수 있습니다.

 

이미지: howtogeek

 

이제 더 많은 데이터가 추가되더라도 결과(총계 행 포함)가 그에 따라 동적으로 업데이트됩니다.

 

이미지: howtogeek

 

다음으로 생성하려는 보고서는 각 게임에서 획득한 점수(1행과 8행)를 보여줍니다. 빈 셀에 다음 수식을 입력합니다.

=CHOOSEROWS(T_Games[#All], 1, -1)

 

수식에서 테이블 이름 뒤에 [#ALL]을 추가하면 Excel에서 인덱스 번호를 처리할 때 머리글 행과 합계 행을 모두 계산합니다.

 

이미지: howtogeek

 

예제 2: 두 개 이상의 범위에서 열 추출

이제 이 스프레드시트가 있다고 가정해 보겠습니다. 그리고 여러분의 목표는 리그 1(녹색), 2(파란색), 3(회색)에 대한 각 팀의 총점이 포함된 목록을 만드는 것입니다.

 

이미지: howtogeek

 

이번에는 CHOOSECOLS 수식 안에 VSTACK 함수를 중첩하여 세 표를 바로 위에 쌓을 것이므로 Excel에서 열 머리글과 행 합계를 추출하지 않도록 합니다. 따라서 I1 셀과 J1 셀에 열 머리글을 직접 입력합니다.

 

이미지: howtogeek

 

I2 셀에 다음 수식을 입력합니다. VSTACK 함수를 사용하면 결과를 수직으로 결합할 수 있습니다.

=CHOOSECOLS(VSTACK(League_1, League_2, League_3), 1, -1)

 

  • League_1, League_2, League3: 배열을 나타내는 테이블의 이름. 테이블 이름 뒤에 [#ALL]이 없으면 Excel에서 결과에 헤더 및 총계 행을 포함하지 않음
  • 1: 배열의 첫 번째 열(여기서는 "Team") 추출
  • -1: 배열의 마지막 열(여기서는 "Total") 추출

 

이미지: howtogeek

 

여기서 한 단계 더 나아가 다음과 같이 하면 결과를 내림차순으로 정렬할 수 있습니다.

=SORTBY(I2#, J2:J16, -1)

 

이미지: howtogeek

 

예제 3: 데이터 유효성 검사 및 조건부 서식과 함께 CHOOSECOLS 사용

지금까지 CHOOSECOLS와 CHOOSEROWS를 사용하여 배열의 첫 번째와 마지막 열과 행을 추출하는 이점을 살펴보았습니다. 이번에는 CHOOSECOLS를 사용하여 다른 열을 추출하고, 이를 다른 Excel 도구와 결합하여 돋보이게 만드는 방법에 대해 알아봅니다.

 

이 스프레드시트는 5경기 동안 5개 팀의 점수를 보여주며, 각 경기의 총 득점은 총점 행에 표시됩니다. B9 셀에 입력할 경기 번호에 따라 각 팀의 점수와 A11부터 B15 셀까지의 전체 합계를 보여주는 결과를 출력하는 것이 목표입니다.

 

이미지: howtogeek

 

B9 셀에 게임 번호를 입력하여 CHOOSECOLS 수식을 생성할 때 참고할 수 있도록 합니다. 그런 다음 A11 셀에 다음 수식을 입력합니다.

=CHOOSECOLS(T_Scores[[#Data], [#Totals]], 1, B9+1)

 

  • T_Scores: 테이블 이름, [[#Data],[#Totals]]는 Excel에 헤더 행이 아닌 결과에 데이터와 합계를 포함하도록 지시
  • 1: 첫 번째 열(여기서는 "Total")
  • B9+1: Excel에서 두 번째 인덱스 인수가 B9 셀의 값에 1을 더한 값으로 표현됨을 나타냄. 여기에 +1을 포함해야 하는 이유는 게임 번호가 표의 두 번째 열에서 시작하기 때문. 따라서 B9 셀에 3을 입력하면 표의 네 번째 열, 즉 게임 3의 데이터가 추출됨

 

이미지: howtogeek

 

B9 셀에 게임 번호를 입력하는 것은 문제가 없지만 실수로 잘못된 번호를 입력하면 CHOOSECOLS 함수는 #VALUE 오류를 반환합니다. 따라서 B9 셀에 데이터 유효성 검사를 사용하여 사용 가능한 게임 번호의 드롭다운 목록을 만드는 좋은 방법입니다.

 

Excel 표의 머리글 행에 대해 제가 선호하는 방법은 먼저 관련 셀을 모두 선택하고, 셀이 늘어날 수 있도록 몇 개의 셀을 더 선택한 다음, Excel 창 왼쪽 상단의 이름 상자에 범위 이름을 지정하는 것입니다. "Team" 열 머리글은 선택하지 않은 것을 눈여겨보세요. B9 셀의 게임 드롭다운 목록에 나타나지 않도록 하기 위해서입니다.

 

이미지: howtogeek

 

B9 셀을 선택하고 [데이터] 탭 - [데이터 유효성 검사]를 클릭합니다.

 

데이터 유효성 검사 대화 상자에서 허용 필드에서 [목록]을 선택하고 [공백 무시]가 체크되어 있는지 확인한 다음, 등호 기호(=) 뒤에 방금 열 머리글 범위에 지정한 이름을 입력하고 "확인"을 클릭합니다.

 

이제 B9 셀의 드롭다운 화살표를 클릭하여 유효한 게임 번호를 선택할 수 있으며, 표에 열을 추가하더라도 CHOOSECOLS와 데이터 검증의 명명된 범위가 함께 작동하여 사용 가능한 옵션이 그에 따라 업데이트된다는 사실을 알면서 안전하게 선택할 수 있습니다.

 

이미지: howtogeek

 

마지막으로, 데이터를 더욱 구체적으로 시각화하려면 B11~B15 셀을 선택하고, [홈] 탭에서 [조건부 서식]을 클릭한 다음, [데이터 막대] 위에 마우스를 놓고 단색 채우기 색을 선택합니다.

 

이미지: howtogeek

 

최종적으로, CHOOSECOLS를 사용하여 데이터에서 특정 열을 추출하고, 드롭다운 목록을 추가하여 결과를 동적으로 만들었으며, 시각적 명확성을 높이기 위해 데이터 형식을 지정했습니다. 완성된 형태는 다음과 같습니다.

 

이미지: howtogeek

 

마치며

CHOOSECOLS와 CHOOSEROWS는 동적 배열을 생성합니다. 따라서 수식을 입력하기 전에 워크시트에 충분한 공간이 있는지 확인하시기 바랍니다. 만약 결과를 출력할 공간에 다른 데이터가 있으면 #SPILL! 오류가 발생합니다.