Excel에서 TOCOL과 TOROW로 2차원 배열을 단일 열/행으로 변환하는 방법

주요 의도 및 관련 변형
- 주요 의도: Excel에서 2차원 배열(행×열)을 1차원(열 또는 행)으로 평탄화(flatten/reshape)하는 방법을 배우기
- 관련 변형: TOCOL 함수 사용법, TOROW 함수 사용법, VSTACK/HSTACK과 결합하기, UNIQUE/SORT로 정리하기
목차
- TOCOL 함수: 2차원 배열을 단일 열로
- TOROW 함수: 2차원 배열을 단일 행으로
- 여러 배열을 하나의 열/행으로 병합하기(VSTACK/HSTACK 활용)
- 고유값(중복 제거)과 정렬을 함께 적용하기
- 언제 TOCOL/TOROW가 적합하지 않은가(제한 사항과 회피법)
- 대안과 호환성(구버전 Excel용 솔루션, Power Query, VBA)
- 현업별 체크리스트와 사용 팁(분석가·관리자·개발자용)
- 빠른 치트시트(주요 공식 모음)
- 의사결정 흐름도(Mermaid)
- 요약 및 권장 작업
TOCOL 함수: 2차원 배열을 단일 열로 변환하는 방법
TOCOL 함수는 이름 그대로 다중 행과 열로 구성된 배열을 하나의 열(세로)로 바꿉니다. 기본 문법은 다음과 같습니다.
=TOCOL(a,[b],[c])- a (필수): 열로 변환할 원본 배열
- b (선택): 무시할 값 유형을 지정합니다. 기본값은 모든 값 반환. 1 = 빈칸 무시, 2 = 오류 무시, 3 = 빈칸과 오류 무시
- c (선택): 배열을 스캔할 방향을 지정합니다. 기본값(생략)은 행 단위(왼쪽→오른쪽, 위에서 아래). TRUE는 열 단위(위→아래, 왼쪽에서 오른쪽).
한 예시를 통해 단계별로 살펴보겠습니다. 소매업체의 지점 관리자 이름이 B2:F17 범위에 있다고 가정합니다.
- 가장 단순한 형태(필수 인수만 사용):
=TOCOL(B2:F17)- 결과는 동적 배열로 셀에서 흘러나오는 형태(spill)로 모든 값을 포함합니다. 빈칸은 0으로 보일 수 있고 오류 값도 그대로 포함됩니다.
- 빈칸과 오류를 모두 무시하려면 b에 3을 전달:
=TOCOL(B2:F17,3)- 열 단위로 스캔하려면 c에 TRUE를 전달(열에서 위→아래 순서로 읽음):
=TOCOL(B2:F17,3,TRUE)
중요: 결과가 동적 배열로 흘러나올 때는 해당 결과를 Excel 표로 직접 변환할 수 없습니다. 값으로 붙여넣기(복사 → Ctrl+Shift+V)를 하면 정적 값이 되어 원본과 연결이 끊깁니다.
참고: b 인수를 생략하면 빈칸과 오류도 출력되므로, 데이터 전처리 목적이라면 오류/빈칸 제외 옵션(1,2,3)을 적절히 사용하세요.
TOROW 함수: 2차원 배열을 단일 행으로 변환하는 방법
TOROW 함수는 TOCOL과 동일한 논리로 동작하지만, 출력이 가로(행)입니다.
=TOROW(a,[b],[c])- a (필수): 행으로 변환할 원본 배열
- b (선택): 1 = 빈칸 무시, 2 = 오류 무시, 3 = 빈칸과 오류 무시
- c (선택): TRUE로 설정하면 열 단위로 스캔(위→아래)합니다. 기본 생략 시 행 단위(왼쪽→오른쪽).
예시:
=TOROW(B2:F17)- 위 수식은 배열의 모든 값을 한 행에 나열합니다(빈칸은 0으로 보일 수 있음).
빈칸과 오류를 제거하고 열 단위로 스캔하려면:
=TOROW(B2:F17,3,TRUE)
동작 방식과 인수 해석은 TOCOL과 동일하므로 상황에 맞게 출력 방향만 선택하면 됩니다.
여러 배열을 하나의 열/행으로 병합하기 (VSTACK/HSTACK과 결합)
TOCOL과 TOROW은 단독으로는 하나의 배열만 처리합니다. 여러 개의 별도 영역을 병합해야 할 때는 VSTACK 또는 HSTACK을 먼저 사용한 다음 그 결과를 TOCOL/TOROW에 전달합니다.
- VSTACK: 여러 배열을 위아래로 쌓음(세로 합침)
- HSTACK: 여러 배열을 좌우로 붙임(가로 합침)
예: 유럽(B2:F17)과 아시아(B20:F35)에 분산된 관리자 목록을 하나의 열로 합치려면:
=TOCOL(VSTACK(B2:F17,B20:F35),3)- 위 수식은 VSTACK으로 두 배열을 위아래로 합친 뒤 TOCOL이 이를 평탄화하고 빈칸/오류를 제외합니다.
HSTACK을 사용하면 열 방향으로 붙여서 TOCOL로 읽으면 다른 순서(열 단위 순회)를 얻을 수 있습니다. 필요에 따라 c 인수를 조절하세요.

고유값(중복 제거)과 정렬을 함께 적용하기
TOCOL/TOROW의 결과를 UNIQUE와 SORT에 중첩하면, 중복을 제거하고 정렬된 목록을 만들 수 있습니다.
기본 예시(중복 제거 후 오름차순 정렬):
=SORT(UNIQUE(TOCOL(B2:F17)))- UNIQUE(TOCOL(…))가 중복을 제거하고, SORT가 기본적으로 오름차순 정렬을 수행합니다.
내림차순 정렬을 원하면 SORT의 세 번째 인수에 -1을 씁니다:
=SORT(UNIQUE(TOCOL(B2:F17)),,-1)TOROW에 적용하려면 UNIQUE와 SORT의 인수 위치가 달라진다는 점에 유의하세요(행 기반 정렬을 위해 UNIQUE의 두 번째 인수에 TRUE, SORT의 네 번째 인수에 TRUE를 전달).
=SORT(UNIQUE(TOROW(B2:F17),TRUE),,,TRUE)언제 TOCOL/TOROW가 적합하지 않은가 — 제한 사항과 회피법
- 호환성 문제
- TOCOL/TOROW는 Excel 2024 이상, Microsoft 365(정기 구독), Excel for the web, 모바일/태블릿에서만 사용할 수 있습니다. 구버전(예: Excel 2019 이전)에서는 지원되지 않습니다.
- 회피법: 구버전에서는 Power Query 또는 VBA(사용자 정의 함수) 또는 INDEX+SEQUENCE+TRANSPOSE로 유사한 처리를 구현할 수 있습니다.
- Excel 테이블과의 직접 결합 문제
- 동적 배열은 Excel 표(Table) 내부에서 spill되지 않습니다. 표로 만들려면 값을 복사→값 붙여넣기 해야 합니다.
- 회피법: 결과를 별도의 범위에 둔 뒤 필요 시 값으로 변환하거나 Power Query로 처리하여 출력을 표로 불러옵니다.
- 대량 데이터에서 성능 저하 가능성
- 매우 큰 배열을 여러 번 중첩해 계산하면 성능에 영향을 줄 수 있습니다.
- 회피법: Power Query로 한 번에 변형(Flatten → Remove Duplicates → Sort)하거나 결과를 값으로 고정하여 재계산을 줄입니다.
- 정렬·중복 제거 규칙의 세부 제어 한계
- SORT/UNIQUE의 기본 동작은 간단하지만, 복잡한 정렬 기준(다중 키, 사용자 지정 순서 등)은 추가 처리 필요합니다.
- 회피법: SORTBY, XLOOKUP 또는 Power Query에서 사용자 지정 정렬을 사용하세요.
대안: 언제 POWER QUERY, TRANSPOSE, INDEX 조합 또는 VBA를 사용하나
- Power Query: 대용량 데이터, 반복 변형, ETL(추출·변형·적재) 워크플로우에 최적. GUI로 변형 단계를 저장·재사용 가능.
- TRANSPOSE: 단순히 행/열 전환만 필요할 때 사용(하지만 평탄화는 하지 않음).
- INDEX + SEQUENCE + IFERROR 조합: TOCOL/TOROW가 없을 때 동적 배열을 흉내낼 때 사용(복잡하고 가독성 낮음).
- VBA 사용자 정의 함수: 구버전 Excel에서 고성능·맞춤형 평탄화 함수가 필요할 때.
현업별 체크리스트(역할 기반)
데이터 분석가
- TOCOL/TOROW로 원시 데이터를 단일 열/행으로 평탄화
- UNIQUE+SORT로 중복 제거 및 정렬
- 결과를 값으로 저장해 재현성 확보
제품 관리자/경영진
- 핵심 KPI 소스(여러 시트/국가)를 VSTACK/HSTACK로 병합
- 중요 필드 빈칸·오류 제거(TOCOL(…,3)) 여부 확인
보고서 작성자
- Power Query로 자동화 가능한지 검토
- Excel 표에 넣을 필요가 있다면 값으로 붙여넣기 수행
개발자/IT
- 구버전 클라이언트 지원 여부 확인(필요 시 Power Query 또는 VBA 제공)
- 대규모 데이터에서 성능 테스트 수행
빠른 치트시트(자주 쓰는 수식)
- 기본 평탄화(열):
=TOCOL(범위)- 빈칸·오류 제거하고 열 단위로 스캔:
=TOCOL(범위,3,TRUE)- 행으로 평탄화:
=TOROW(범위)- 여러 영역을 위아래로 합쳐 평탄화:
=TOCOL(VSTACK(영역1,영역2,영역3),3)- 평탄화 → 중복 제거 → 오름차순 정렬:
=SORT(UNIQUE(TOCOL(범위)))- TOROW 기반 정렬(행 기준):
=SORT(UNIQUE(TOROW(범위),TRUE),,,TRUE)의사결정 흐름도 (간단한 선택 가이드)
flowchart TD
A[데이터를 1차원으로 변형해야 하나?] -->|아니오| Z[그대로 사용]
A -->|예| B[Excel 버전 확인]
B -->|지원함| C[세로 목록 필요?]
B -->|미지원| Y[Power Query 또는 VBA 사용]
C -->|예| D[TOCOL 사용]
C -->|아니오, 가로 필요| E[TOROW 사용]
D --> F{여러 범위 병합 필요?}
F -->|예| G[먼저 VSTACK/HSTACK로 병합]
F -->|아니오| H[중복 제거/정렬 필요?]
H -->|예| I[UNIQUE+SORT 결합]
H -->|아니오| J[결과 값을 저장]
Y --> K[Power Query 사용 권장]적용 예제: 금메달 수상자 목록 정리(실전 시나리오)
상황: 5년간 경기별 금메달 수상자 이름이 여러 열에 산재해 있고, 중복 수상자가 있어 최종적으로 고유한 이름의 알파벳 정렬 목록을 만들고 싶습니다.
- 전체 영역을 TOCOL로 평탄화:
=TOCOL(B2:F17)- 중복을 제거하고 오름차순 정렬:
=SORT(UNIQUE(TOCOL(B2:F17)))- 결과를 보고서에 고정해야 하면 값을 복사→값 붙여넣기(Ctrl+C → Ctrl+Shift+V)

구버전 Excel 사용자를 위한 간단 대안 안내
- Power Query: Excel 버전 관계없이(구버전에서도 별도 설치 가능) 강력한 ETL 도구로, 여러 시트/여러 파일의 데이터를 병합하고 단일 열로 변형한 뒤 중복 제거와 정렬을 수행할 수 있습니다.
- INDEX+MOD/INT 또는 SEQUENCE를 활용한 수식 기반 평탄화: 코드 수준에서 더 복잡하지만 TOCOL/TOROW가 없을 때 쓸 수 있는 방법입니다.
- 간단한 VBA 사용자 정의 함수(예):
Function FlattenRange(rng As Range) As Variant
Dim c As Range, outList As Collection
Set outList = New Collection
For Each c In rng
If Not IsEmpty(c.Value) Then outList.Add c.Value
Next c
' 결과를 배열로 반환하는 코드 생략(간단한 예시)
End Function(참고: 위 VBA 코드는 설명 목적의 축약된 예시이며, 실제 사용 시 오류 처리 및 배열 반환 로직을 추가해야 합니다.)
보안·개인정보 주의사항
- TOCOL/TOROW는 파일 내부 데이터 변형만 수행합니다. 개인정보(이름, 이메일 등)를 처리할 때는 조직의 개인정보 보호 정책과 GDPR·지역 법규를 준수하세요.
- 외부 클라우드 동기화(OneDrive 등)를 사용하면 데이터가 클라우드로 업로드될 수 있으므로 민감 데이터는 로컬에서 처리하거나 권한을 제한하세요.
호환성 요약(핵심 수치 및 지원 정보)
- 지원 Excel 버전: Excel 2024 이상, Microsoft 365, Excel for the web, Excel 모바일/태블릿 앱
- Power Query: 대부분의 Excel 버전에서 사용 가능(설치/기본 포함 여부는 버전별 상이)
- 동적 배열 출력: Excel 표 내부에서는 직접 spill되지 않음
팁과 모범 사례
- 대규모 데이터는 Power Query로 변환 파이프라인을 만들어 재사용하세요.
- 보고서로 옮길 필요가 있으면 값으로 붙여넣어 의도치 않은 재계산을 막으세요.
- 데이터 소스에 오류가 많다면 TOCOL(…,2) 또는 TOCOL(…,3) 옵션으로 오류 무시를 고려하세요.
- 자동화가 필요하면 TOCOL/TOROW가 가능한 환경인지 확인하고, 불가능하면 Power Query 스크립트를 마련하세요.

요약 및 권장 작업
- TOCOL은 2차원 데이터를 세로(열)로 평탄화, TOROW는 가로(행)로 평탄화합니다.
- VSTACK/HSTACK으로 여러 배열을 병합한 뒤 TOCOL/TOROW를 적용하면 다양한 순서 조정이 가능합니다.
- UNIQUE와 SORT를 결합해 중복 제거와 정렬을 한 번에 수행할 수 있습니다.
- 구버전 Excel 사용자는 Power Query 또는 VBA로 동일한 결과를 얻을 수 있습니다.
마지막으로, TOCOL/TOROW는 데이터 정리와 전처리에서 매우 강력한 도구입니다. 작은 실습 파일로 시도해보고, 조직의 보고서 템플릿에 맞춰 결과를 값으로 고정하는 워크플로우를 만들면 반복 작업을 크게 줄일 수 있습니다.

Microsoft 365 Personal
운영체제
Windows, MacOS, iPhone, iPad, Android
무료 체험
1개월
Microsoft 365는 Word, Excel, PowerPoint 등 Office 앱에 최대 5대까지 액세스할 수 있고, 1TB OneDrive 저장소 등을 포함합니다.
US$100 at Microsoft
![/files/61d78f60-e3d4-451e-bf2b-675e647e32bb.jpg?q=70&fit=contain&w=420&dpr=1]