Excel & IT Info

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

Excel

시트를 수동으로 재구성하는 작업을 그만두게 해 주는 이 엑셀 함수

권현욱(엑셀러) 2026. 7. 23. 17:00
반응형

들어가기 전에

엑셀의 CHOOSECOLS는 원본 수정 없이 원하는 순서대로 열을 재배치할 수 있어 보고서 작성 시 매우 효율적입니다. 열 번호 인수에 음수를 입력하면 역순으로 열을 불러오는 것도 가능하여 유연한 데이터 추출이 가능합니다. 이 함수는 단독 사용뿐만 아니라 VSTACK이나 FILTER 등 다른 동적 배열 함수와 결합했을 때 더욱 강력합니다.

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

gemini / iexceller


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

  • 원문: I stopped restructuring my Excel sheets manually the day I discovered CHOOSECOLS
  • URL: https://www.makeuseof.com/choosecols-in-excel/

정확한 열 선택

CHOOSECOLS 함수를 사용하면 데이터 범위에서 특정 열을 추출하고 원하는 순서대로 반환할 수 있습니다. 데이터 세트에서 해당 열이 서로 인접해 있지 않더라도 추출이 가능합니다.

=CHOOSECOLS(array, col_num1, [col_num2], …)

 

배열은 소스 데이터 범위이고, col_num1은 가져올 첫 번째 열의 인덱스이며 필수입니다. 이후에는 필요한 만큼 열 번호를 선택적 인수로 추가하여 필요한 데이터만 정확하게 반환할 수 있습니다.

이 함수의 가장 유용한 기능 중 하나는 유연한 인덱싱입니다. 왼쪽에서부터 엄격하게 계산할 필요가 없습니다. 양수를 사용하여 왼쪽에서 오른쪽으로 열을 참조하거나 음수를 사용하여 오른쪽에서 거꾸로 계산할 수 있습니다. 아래 수식에서 1은 첫 번째 열을, 3은 왼쪽에서 세 번째 열을, -1은 배열의 마지막 열을 반환합니다.

=CHOOSECOLS(A1:N100, 1, 3, -1)

 

VLOOKUP 함수의 한계 해결

muo

 

Microsoft 365에 '열 선택' 기능이 도입되기 전에는 여러 특정 열을 한 번에 가져오는 또 다른 방법이 있었습니다. 바로 VLOOKUP 함수 안에 중괄호를 사용하는 것이었죠. 엑셀을 오랫동안 사용해 왔다면 튜토리얼에서 이 방법을 본 적이 있을 겁니다. 코드는 대략 다음과 같습니다.

=VLOOKUP(897751939, G2:N100, {1,3,8}, FALSE)

 

주문 ID가 데이터 세트의 일곱 번째 열에 있기 때문에 조회 범위를 G열부터 시작해야 합니다. 중괄호는 고정된 배열을 생성하여 VLOOKUP 함수가 G열을 기준으로 첫 번째, 세 번째, 여덟 번째 열(G는 1, I는 3, N은 8)을 한 번에 반환하도록 합니다. 당시에는 이 기법이 인상적이었지만 직관적이지는 않았습니다. 이 기법의 존재를 알고, 올바른 조회 범위를 정의하고, 중괄호가 어떻게 작동하는지 이해하여 올바른 숫자를 전달해야 했으며, 구조가 변경되더라도 자동으로 조정되지 않는다는 점을 기억해야 했습니다.

CHOOSECOLS 함수는 열 선택에 특화된 함수로 이 모든 것을 대체합니다. 전체 범위가 A1:N100인 경우 다음과 같이 1, 3, 14번째 열을 추출할 수 있습니다.

=CHOOSECOLS(A1:N100, -1, 1, 9)

 

CHOOSECOLS와 최신 함수 결합

muo

 

VLOOKUP에서 XLOOKUP이나 FILTER로 이미 갈아탔더라도(물론 갈아타는 것이 좋습니다), CHOOSECOLS 함수는 여전히 유용하게 사용됩니다. 이러한 최신 함수들은 강력하지만, 각각 구조적인 한계가 있는데, CHOOSECOLS 함수는 이러한 한계를 해결해 줍니다.

예를 들어 FILTER 함수를 생각해 보세요. 이 함수는 특정 조건을 만족하는 행을 선별하는 데 탁월하지만, 단독으로는 연속되지 않은 열을 선택적으로 반환할 수 없습니다. 필요한 행은 얻을 수 있지만, 원본 범위의 모든 열이 포함된 결과를 얻게 됩니다. 하지만 FILTER 결과에 CHOOSECOLS 함수를 적용하면, 원하는 열만 남도록 결과를 좁힐 수 있습니다.

=CHOOSECOLS(FILTER(A2:N100, C2:C100="Household"), -1, 1, 9)

 

이 수식은 'Household' 행을 모두 표시하면서 제가 원하는 세 열만 선택한 순서대로 정확하게 반환합니다.

XLOOKUP 함수에도 비슷한 한계가 있습니다. 일치하는 열을 연속해서 반환할 수는 있지만, 인접하지 않은 특정 열을 원하거나 출력에 특정 열을 반복해서 표시해야 할 때는 어려움을 겪습니다. 바로 이럴 때 CHOOSECOLS 함수가 유용하게 사용됩니다. XLOOKUP 로직을 복잡하게 만들지 않고도 반환되는 데이터를 정확하게 제어할 수 있게 해줍니다. 예를 들어, CHOOSECOLS 함수를 사용하면 주문 ID를 가진 행을 찾으면서 지역과 총 매출액만 표시할 수 있습니다.

=CHOOSECOLS(XLOOKUP(897751939, G2:G100, A2:N100), 1, 14)

 

이 세 가지 함수는 함께 작동하여 깔끔하고 유연한 데이터 검색을 위한 강력한 조합을 형성합니다.

 

유출(Spilling) 제대로 사용하기

CHOOSECOLS 함수는 특히 동적 배열 수식이 핵심 기능인 Microsoft Excel 2024 및 Microsoft 365와 같은 최신 Excel 환경에 자연스럽게 어울립니다. FILTER 또는 SORT와 같은 함수를 사용해 본 경험이 있다면, 수식을 한 번 입력하면 Excel이 결과에 필요한 만큼 인접한 셀을 자동으로 채우는 방식을 이미 알고 계실 것입니다.

CHOOSECOLS의 또 다른 장점은 바로 이러한 자동 정렬 기능입니다. 수식 하나만 입력하면 드래그나 수동 크기 조정 없이도 원하는 열과 행 개수로 정확하게 결과가 나타납니다.

CHOOSECOLS 함수는 오류 처리에도 엄격한 기준을 적용하여 유용합니다. 열 인덱스가 0이거나 배열의 총 열 개수를 초과하는 값을 전달하면, 잘못된 데이터를 가져오는 대신 엑셀에서 흔히 발생하는 오류인 #VALUE 오류를 반환합니다 . 이러한 내장된 안전장치 덕분에 출력 결과를 더 쉽게 신뢰하고 오류를 조기에 발견할 수 있습니다.

 

마치며

CHOOSECOLS 함수를 사용하면 이전에는 작업 속도를 저하시켰던 수동 재배치, 숨겨진 컬럼, 지저분한 복사 붙여넣기 작업을 대부분 없앨 수 있습니다. XLOOKUP, FILTER 및 동적 배열과 함께 사용하면 검색 방식을 간소화하고 필요한 열만 원하는 순서대로 표시할 수 있습니다.