기술 가이드

Excel에서 WRAPCOLS 및 WRAPROWS로 1차원 배열 재구성하기

7 min read Excel 업데이트됨 22 Oct 2025
Excel에서 WRAPCOLS와 WRAPROWS로 배열 재구성하기
Excel에서 WRAPCOLS와 WRAPROWS로 배열 재구성하기

Microsoft Excel에서 WRAPCOLS 및 WRAPROWS 함수와 Excel 로고를 보여주는 일러스트레이션.

빠른 이동 링크

  • WRAPCOLS: 1차원 배열을 여러 열로 재구성하는 방법

  • WRAPROWS: 1차원 배열을 여러 행으로 재구성하는 방법

  • WRAPCOLS와 WRAPROWS를 더 동적으로 만드는 방법

  • 결과에 동적 헤더 추가하기

  • 여러 1차원 배열을 하나의 2차원 배열로 합치기

  • 1차원 배열을 정렬하여 2차원 배열로 변환하기

개요

WRAPCOLS와 WRAPROWS는 Microsoft Excel의 동적 배열 함수로, 목록(단일 열 또는 단일 행)을 지정한 항목 수로 감싸서 2차원 배열을 만듭니다. 이들 함수는 원시 데이터를 보기 좋게 재구성하거나, 그룹을 자동으로 생성하거나, 대시보드에 맞춘 데이터 형식을 만들 때 매우 유용합니다.

지원 환경: Excel for Microsoft 365, Excel for the web, Excel 모바일 앱(글 작성 시점: 2025년 9월). 동적 배열 기능을 사용하려면 구독형 Excel 환경이 필요합니다.

중요: 동적 배열 함수는 Excel 표(Table) 셀에서는 제대로 흘러넘치지 않으므로 일반 셀에 수식을 입력해야 합니다.

WRAPCOLS: 개념과 문법

WRAPCOLS 함수는 1차원 배열을 지정한 개수의 값이 채워진 여러 열로 변환합니다. 문법은 다음과 같습니다:

=WRAPCOLS(a,b,c)
  • a(필수): 재구성할 1차원 배열(단일 행 또는 단일 열).
  • b(필수): 결과의 각 열에 포함할 최대 값 개수.
  • c(선택): 남는 셀을 채울 값. 생략하면 남는 셀에 #N/A 오류가 채워집니다.

참고: 소스 1차원 배열에 빈 셀이 있으면 WRAPCOLS 결과에서 0으로 반환될 수 있으므로 필요한 경우 미리 빈 값을 처리하세요.

예시 시나리오: A1:A71에 사람 이름이 있고, 이를 한 열에 최대 6명씩 그룹으로 나누어 여러 열로 배치하고 싶을 때.

=WRAPCOLS(A1:A71,6,"")

위 수식에서 A1:A71은 원본 리스트, 6은 각 열의 최대 행 수, “”는 남는 셀을 공백으로 채우라는 뜻입니다. WRAPCOLS는 동적 배열을 생성하므로 수식을 입력한 셀에서 오른쪽과 아래로 결과가 흘러넘칩니다.

A열의 각 셀에 이름이 들어있는 Excel 워크시트 스크린샷.

WRAPCOLS 수식을 사용해 한 열의 이름들을 각 열에 6명씩 배치한 결과 화면.

동작 방식 요약: WRAPCOLS는 원본 순서를 유지하며 첫 번째 열에는 리스트의 처음 6개 항목을, 두 번째 열에는 그 다음 6개 항목을 넣습니다. 전체 항목 수가 그룹 크기로 나누어떨어지지 않으면 마지막 열에 지정한 채움값(c)이 적용됩니다.

반대로 2차원 배열을 다시 1차원으로 만들려면 TOCOL 또는 TOROW를 사용하세요.

실전 예제: 6명씩 그룹 나누기 — 세부 단계 및 문제 해결

목적: A1:A71에 저장된 사람 이름을 6명씩 묶어 열로 표시하고, 입력 데이터가 변경되면 결과가 자동 업데이트되게 만들기.

  1. 빈 셀을 선택하고 아래 수식을 입력합니다.
=WRAPCOLS(A1:A71,6,"")
  1. Enter를 누르면 동적 배열 결과가 주변 셀로 흘러넘칩니다.
  2. 원본 A1:A71의 값을 변경하면 결과가 자동으로 반영됩니다.

자주 발생하는 문제와 해결책:

  • #SPILL! 오류: 결과가 흘러넘칠 공간에 다른 값이 있거나 병합된 셀이 있는 경우 발생합니다. 결과 범위를 비우거나 병합 셀을 제거하세요.
  • #N/A가 보이는 경우: 세 번째 인자를 생략했을 때 남는 셀이 #N/A로 채워집니다. 이를 원하는 값으로 바꾸려면 세 번째 인자에 값을 넣으세요(예: “”).
  • 값이 0으로 바뀌는 경우: 원본 배열의 공백이 0으로 처리됩니다. 공백을 제거하려면 FILTER를 결합해 빈 셀을 걸러내세요(예: FILTER(A1:A71,A1:A71<>””))

역할별 체크리스트:

  • 데이터 소유자: 원본 리스트의 중복과 불필요한 공백을 정리한다.
  • 분석가: WRAPCOLS 수식과 채움값을 설정하고 #SPILL 오류를 해결한다.
  • 보고서 작성자: 동적 헤더와 서식으로 결과를 보기 좋게 정리한다.

WRAPROWS: 개념과 문법

WRAPROWS는 WRAPCOLS와 반대 방향으로 동작합니다. 1차원 배열을 지정한 값 개수로 가로로 채워 여러 행을 만드는 함수입니다. 문법은 다음과 같습니다:

=WRAPROWS(a,b,c)
  • a(필수): 재구성할 1차원 배열.
  • b(필수): 결과의 각 행에 포함할 최대 값 개수.
  • c(선택): 남는 셀을 채울 값. 생략하면 #N/A로 채워짐.

예: A1:A71을 가로에 7개씩 채워 여러 행으로 만들려면:

=WRAPROWS(A1:A71,7,"")

WRAPROWS는 행 우선 순서(row-major)로 값을 채워나갑니다. 즉, 원본의 첫 7개 값이 첫 번째 행에 채워지고 다음 7개 값이 두 번째 행에 들어갑니다.

WRAPROWS 수식을 사용해 한 열의 이름들을 각 행에 7명씩 배치한 결과 화면.

WRAPCOLS와 WRAPROWS를 더 동적으로 만드는 방법

기본 예제는 잘 작동하지만 두 가지 개선점이 자주 필요합니다:

  1. 원본에 항목이 추가될 때 수식이 자동으로 새 항목을 포함하도록 하기
  2. 그룹 크기(b 인자)를 셀 참조로 만들어 쉽게 변경할 수 있게 하기

아래는 WRAPCOLS 예제로 설명하지만 동일한 원리는 WRAPROWS에 그대로 적용됩니다.

동적 범위 확장: 트림 참조 연산자

테이블로 포맷하지 않고도 열 전체를 참조하면서 마지막 값 이후의 빈 셀은 잘라내는 트릭으로 트림 참조 연산자(trim ref)를 사용할 수 있습니다. 형식은 다음과 같습니다:

=WRAPCOLS(A:.A,6,"")

A:.A는 전체 A열을 참조하되 마지막 값 이후의 빈 셀을 잘라낸다는 의미입니다. 이렇게 하면 A72, A73 등에 항목을 추가하면 WRAPCOLS 결과에 자동 반영됩니다.

대체 방법: FILTER를 사용해 빈 값을 제거하는 방법도 있습니다(특히 원본에 혼합된 빈 셀이 많을 때 유용합니다).

=WRAPCOLS(FILTER(A:A,A:A<>""),6,"")

참고: FILTER는 모든 빈 항목을 제거하므로 원본 데이터에서 일부 빈 상태를 보존하려는 경우에는 주의가 필요합니다.

그룹 크기 동적화: 셀 참조 사용

b 인자에 직접 숫자를 쓰는 대신 셀 참조를 사용하면 그룹 크기를 즉시 변경할 수 있습니다.

예: D1 셀에 그룹 크기를 입력하고 그 셀을 참조합니다.

=WRAPCOLS(A:.A,D1,"")

이제 D1의 값을 바꾸면 WRAPCOLS 결과가 즉시 재구성됩니다. D1 대신 다른 계산식이나 데이터 유효성 검사(dropdown)를 연결해 사용해도 좋습니다.

결과에 동적 헤더 추가하기

그룹별 결과에 자동으로 열/행 헤더를 추가하면 가독성이 높아집니다. SEQUENCE, COUNTA, CONCAT(또는 & 연산자)을 조합해 동적 헤더를 만들 수 있습니다.

열 헤더(그룹 번호 생성):

=SEQUENCE(1,COUNTA(C3:Z3))

이 수식은 C3:Z3 범위에서 비어있지 않은 열의 수만큼 1행 시퀀스를 만듭니다. 여기에 텍스트를 붙이면 다음과 같이 그룹 이름을 자동 생성할 수 있습니다:

="Group "&SEQUENCE(1,COUNTA(C3:Z3))

또는 한국어 표기를 원하면:

="그룹 "&SEQUENCE(1,COUNTA(C3:Z3))

행 헤더(플레이어 번호 생성):

="Player "&SEQUENCE(D1,1)

또는 한국어:

="플레이어 "&SEQUENCE(D1,1)

주의: SEQUENCE와 같은 동적 배열 함수를 워크북에 과도하게 사용하면 성능 저하를 초래할 수 있으므로 꼭 필요한 곳에만 적용하세요.

여러 1차원 배열을 하나의 2차원 배열로 합치기

여러 열이나 여러 행에 분산된 목록을 하나로 합쳐 그룹화하려면 VSTACK과 HSTACK을 사용합니다.

예: A열과 B열의 목록을 이어붙여 6명씩 그룹으로 묶으려면:

=WRAPCOLS(VSTACK(A:.A,B:.B),E1,"")

VSTACK(A:.A,B:.B)는 A열 위에 B열을 쌓아 단일 리스트를 만든 뒤, WRAPCOLS가 이를 그룹화합니다. 원본이 여러 행으로 나뉘어 있을 때는 HSTACK을 사용해 옆으로 결합할 수도 있습니다.

A열과 B열의 이름들이 VSTACK으로 결합돼 WRAPCOLS로 그룹화된 결과 화면.

정렬된 결과 생성하기

기본적으로 WRAPCOLS/WRAPROWS는 원본 순서를 유지합니다. 값을 알파벳 또는 숫자 순으로 정렬하려면 SORT 함수를 네스트하세요.

오름차순(예: A→Z)으로 그룹화하려면:

=WRAPCOLS(SORT(A:.A),D1,"")

행으로 7개씩 그룹화하며 정렬하려면:

=WRAPROWS(SORT(A:.A),7,"")

내림차순으로 정렬하려면 SORT 함수의 정렬 순서 인자로 -1을 전달합니다. 일반적으로 SORT의 인자는 다음과 같습니다: SORT(배열, 정렬열, 정렬순서, 기준열/행). 내림차순을 원하면 정렬순서를 -1로 설정하세요.

예외 사례와 언제 작동하지 않는지

  • Excel 표 내부에서는 동적 배열이 흘러넘칠 수 없어 수식이 작동하지 않습니다. 반드시 일반 셀을 사용하세요.
  • 소스 배열이 불연속(비연속 범위)인 경우 WRAPCOLS/WRAPROWS가 기대한 방식으로 작동하지 않을 수 있습니다. 이때 VSTACK/HSTACK 또는 FILTER로 정리하세요.
  • 소스에 숫자와 텍스트가 섞여있으면 정렬 결과가 타입에 따라 예상과 달라집니다. 필요한 경우 TEXT 또는 VALUE로 형식을 일관화하세요.
  • 아주 큰 데이터셋(수천~수만 행)을 처리하면 동적 배열 계산이 느려질 수 있습니다. 이 경우 Power Query나 피벗 테이블을 고려하세요.

대안 및 비교: 언제 무엇을 쓸까

  • Power Query: 데이터 변환(병합, 피벗, 언피벗) 및 대량 데이터 처리에 강점이 있습니다. 반복적 ETL 작업에 적합합니다.
  • PivotTable: 대규모 데이터의 요약/집계에 최적화되어 있습니다. 그룹화와 집계가 핵심 목적일 때 선택하세요.
  • PIVOTBY 함수: 수식 기반으로 그룹화/집계를 수행할 때 유용합니다(구독형 Excel에서 사용 가능).
  • TOCOL/TOROW: 2차원 배열을 다시 1차원으로 펼치고 싶을 때 사용합니다.

결정 팁: 화면에 바로 보이는 그룹을 만들고 싶거나 동적 대시보드를 구성할 때는 WRAPCOLS/WRAPROWS가 간단하고 빠릅니다. 대량 데이터의 변환 및 재처리 파이프라인이 필요하면 Power Query로 전환하세요.

단계별 SOP(표준 작업 절차)

  1. 원본 데이터 정리: 중복 제거, 불필요한 공백 제거, 형식 통일.
  2. 그룹 크기와 채움값 결정: 결과 레이아웃을 설계하고 D1 같은 셀에 그룹 크기를 입력.
  3. 동적 범위 설정: 트림 참조(A:.A) 또는 FILTER로 빈값 제거.
  4. WRAPCOLS 또는 WRAPROWS 적용 및 결과 확인.
  5. 동적 헤더 추가: SEQUENCE + CONCAT 또는 &로 헤더 자동 생성.
  6. 병합/정렬 필요 시 VSTACK/HSTACK, SORT 적용.
  7. 결과 영역의 서식 및 보호: 실수로 덮어쓰지 않도록 시트 보호 또는 범위 잠금.

테스트 케이스 및 수용 기준

  • 입력 리스트에 0개, 1개, 그룹 크기보다 적은 항목, 정확히 나누어떨어지는 항목, 나누어떨어지지 않는 항목 각각에 대해 결과가 올바르게 표시되어야 합니다.
  • 원본에 항목 추가/삭제 시 결과가 즉시 업데이트되어야 합니다.
  • 수식이 흘러넘칠 영역에 다른 값이 있을 경우 #SPILL! 오류가 발생하고, 이를 해결하면 정상 동작해야 합니다.
  • 트림 참조와 FILTER를 사용한 버전은 원본의 빈 행 처리 방식에 따라 일관된 결과를 내야 합니다.

의사결정 흐름도

flowchart TD
  A[원본 데이터 준비] --> B{데이터 양이 큰가}
  B -- 예 --> C[Power Query 권장]
  B -- 아니요 --> D{그룹을 화면에 바로 표시할 필요가 있는가}
  D -- 예 --> E[WRAPCOLS / WRAPROWS 사용]
  D -- 아니요 --> C
  E --> F{여러 열/행 병합 필요?}
  F -- 예 --> G[VSTACK / HSTACK 사용 후 WRAP 적용]
  F -- 아니요 --> H[단일 배열에 WRAP 적용]
  H --> I{정렬 필요?}
  I -- 예 --> J[SORT로 정렬 후 WRAP]
  I -- 아니요 --> K[그룹화 완료]
  J --> K
  G --> K
  C --> K

보안 및 프라이버시 주의사항

  • WRAPCOLS/WRAPROWS는 단순히 셀의 값을 재배열합니다. 민감한 개인 데이터(예: 주민등록번호, 금융정보)를 다룰 때는 시트 접근 권한을 제한하고 필요 시 암호화된 저장소 또는 안전한 공유 방법을 사용하세요.
  • 외부 데이터 원본과 연동하는 경우 데이터 전송 경로와 권한을 검토하세요.

성숙도 모델: 간단한 사용에서 자동화까지

  • 레벨 1(기본): 단일 수식으로 소량 데이터를 그룹화.
  • 레벨 2(동적): 트림 참조 또는 FILTER로 범위 자동 확장, 셀 참조로 그룹 크기 제어.
  • 레벨 3(통합): VSTACK/HSTACK, SORT와 결합, 동적 헤더로 대시보드 구성.
  • 레벨 4(자동화): Power Query와 스케줄링, 매크로 혹은 Power Automate로 정기적 재생성.

빠른 참조 치트시트

  • 기본: =WRAPCOLS(A1:A71,6,””)
  • 전체 열 트림: =WRAPCOLS(A:.A,6,””)
  • 빈값 필터링: =WRAPCOLS(FILTER(A:A,A:A<>””),6,””)
  • 그룹 크기 셀 참조: =WRAPCOLS(A:.A,D1,””)
  • 정렬 후 그룹화: =WRAPCOLS(SORT(A:.A),D1,””)
  • 여러 열 합치기: =WRAPCOLS(VSTACK(A:.A,B:.B),E1,””)

요약

WRAPCOLS와 WRAPROWS는 Excel에서 1차원 배열을 빠르게 2차원 구조로 바꿔주는 강력한 도구입니다. 트림 참조, FILTER, SEQUENCE, VSTACK/HSTACK, SORT와 결합하면 동적이고 유지보수하기 쉬운 보고서 구조를 만들 수 있습니다. 대용량 데이터나 복잡한 ETL에는 Power Query나 피벗 테이블을 검토하세요.

중요: 동적 배열 수식은 Excel 표 내부에서 흘러넘치지 않으므로 항상 일반 셀에 입력하세요.

Microsoft 365 Personal 구독 정보를 보여주는 이미지: 지원 운영체제와 무료 체험 정보 및 구독 혜택을 설명하는 이미지.

WRAPCOLS 수식이 전체 A열을 트림 참조 연산자와 함께 사용하는 스크린샷.

추가된 이름이 A열에 입력되었고 트림 참조를 사용한 WRAPCOLS가 결과에 이를 반영하는 화면.

D1 셀을 그룹 크기 참조로 사용하는 WRAPCOLS 스크린샷.

D1 셀 값을 8로 변경해 WRAPCOLS 그룹 크기를 바꾼 화면.

SEQUENCE와 COUNTA로 열 헤더를 자동 생성하는 화면.

Group 텍스트와 SEQUENCE를 이어붙여 동적 열 헤더를 생성한 화면.

동적 헤더가 WRAPCOLS 결과에 맞춰 늘어나거나 줄어드는 화면.

SEQUENCE로 행 헤더(플레이어 번호)를 생성하는 화면.

A열과 B열의 이름을 VSTACK으로 합쳐 WRAPCOLS로 6명씩 그룹화한 화면.

SORT를 WRAPCOLS 내부에 넣어 이름을 알파벳 순으로 정렬한 뒤 그룹화한 화면.

WRAPROWS 안에 SORT를 넣어 행 단위로 정렬한 화면.


끝.

공유하기: X/Twitter Facebook LinkedIn Telegram
저자
편집

유사한 자료

Debian 11에 Podman 설치 및 사용하기
컨테이너

Debian 11에 Podman 설치 및 사용하기

Apt-Pinning 간단 소개 — Debian 패키지 우선순위 설정
시스템 관리

Apt-Pinning 간단 소개 — Debian 패키지 우선순위 설정

OptiScaler로 FSR 4 주입: 설치·설정·문제해결 가이드
그래픽 가이드

OptiScaler로 FSR 4 주입: 설치·설정·문제해결 가이드

Debian Etch에 Dansguardian+Squid(NTLM) 구성
네트워크

Debian Etch에 Dansguardian+Squid(NTLM) 구성

안드로이드 SD카드 설치 오류(Error -18) 완전 해결
안드로이드 오류

안드로이드 SD카드 설치 오류(Error -18) 완전 해결

KNetAttach로 원격 네트워크 폴더 연결하기
네트워킹

KNetAttach로 원격 네트워크 폴더 연결하기