Microsoft 365 배열함수 기초 이론 (5단계)

배열함수 학습 체크리스트 및 빠른 참조
📅 4주 학습 계획표
1주차: 기초 개념 확립
동적 배열(Dynamic Array) 이해
Spill 개념 파악
실습 데이터 준비
기본 배열함수 vs 기존 함수 차이점 숙지
Microsoft 365 Excel 환경 확인
2주차: 핵심 함수 마스터 (1-5번)
FILTER 함수 완전 습득
단일 조건 필터링
다중 조건 (AND/OR)
빈 결과 처리
SORT 함수 완전 습득
단일/다중 열 정렬
오름차순/내림차순
행 기준 정렬
UNIQUE 함수 완전 습득
기본 중복 제거
전체 행 중복 제거
유일한 값만 추출
SEQUENCE 함수 완전 습득
1D/2D 배열 생성
사용자 정의 시작값/증가값
날짜 범위 생성
XLOOKUP 함수 완전 습득
기본 찾기
여러 열 반환
근사 일치
3주차: 핵심 함수 마스터 (6-10번) + 조합 활용
HSTACK/VSTACK 함수 습득
TAKE/DROP 함수 습득
BYROW/BYCOL 함수 습득
MAP 함수 기초
LAMBDA 함수 기초
함수 조합 패턴 5가지 이상 연습
4주차: 실무 활용 및 고급 기법
TOP N 분석 시스템 구축
동적 검색 시스템 구현
자동 보고서 생성 도구 제작
LET 함수 고급 활용
LAMBDA 함수 고급 활용
성능 최적화 기법 적용
마스터 레벨 종합 프로젝트 완성
⚡ 배열함수 빠른 참조 (치트시트)
🔥 필수 암기 함수 Top 10
1. FILTER
=FILTER(배열, 조건, [빈값처리])
// 예: =FILTER(A1:C10, B1:B10="영업", "없음")2. SORT
=SORT(배열, [정렬열], [순서], [행기준])
// 예: =SORT(A1:C10, 2, -1) // 2번째 열 내림차순3. UNIQUE
=UNIQUE(배열, [열기준], [한번만])
// 예: =UNIQUE(A1:A10) // 중복 제거4. SEQUENCE
=SEQUENCE(행수, [열수], [시작], [증가])
// 예: =SEQUENCE(10, 1, 1, 2) // 1,3,5,7...5. XLOOKUP
=XLOOKUP(찾을값, 찾을범위, 반환범위, [없을때])
// 예: =XLOOKUP("김철수", A:A, B:C, "없음")6. HSTACK/VSTACK
=HSTACK(배열1, 배열2, ...) // 가로 결합
=VSTACK(배열1, 배열2, ...) // 세로 결합7. TAKE/DROP
=TAKE(배열, 행수, [열수]) // 앞에서 추출
=DROP(배열, 행수, [열수]) // 앞에서 제거8. LET
=LET(변수1, 값1, 변수2, 값2, 계산식)
// 예: =LET(avg, AVERAGE(A:A), FILTER(A:B, A:A>avg))9. LAMBDA
=LAMBDA(변수, 계산식)
// 예: =LAMBDA(x, x*2) // 2배 함수10. MAP
=MAP(배열1, [배열2], LAMBDA함수)
// 예: =MAP(A1:A10, LAMBDA(x, x*2))🎯 자주 사용하는 패턴
패턴 1: 조건부 집계
// 부서별 평균 계산
=BYROW(UNIQUE(부서열), LAMBDA(부서,
AVERAGE(FILTER(급여열, 부서열=부서))
))패턴 2: TOP N 추출
// 상위 5명
=TAKE(SORT(전체데이터, 급여열번호, -1), 5)패턴 3: 다중 조건 필터
// AND 조건: 부서="영업" AND 급여>3000
=FILTER(데이터, (부서열="영업")*(급여열>3000))
// OR 조건: 부서="영업" OR 급여>4000
=FILTER(데이터, (부서열="영업")+(급여열>4000))패턴 4: 동적 교차표
=LET(
행목록, UNIQUE(행데이터),
열목록, UNIQUE(열데이터),
MAP(행목록, TRANSPOSE(열목록),
LAMBDA(행, 열, 집계함수))
)패턴 5: 에러 방지
// 빈 결과 처리
=IFERROR(배열함수, "데이터 없음")
// 조건부 실행
=IF(조건, 배열함수, "조건 불만족")⚠️ 자주하는 실수와 해결법
실수 1: #SPILL! 에러
원인: 결과가 흘러내릴 공간에 다른 데이터가 있음 해결: 결과 범위를 미리 비우거나 다른 위치에 배치
실수 2: #CALC! 에러
원인: 배열 크기가 맞지 않음 해결: 배열 차원을 확인하고 TRANSPOSE 활용
실수 3: #VALUE! 에러
원인: 데이터 타입 불일치 해결: 텍스트/숫자 변환 함수 사용 (VALUE, TEXT 등)
실수 4: 느린 처리 속도
원인: 불필요한 계산 반복 해결: LET 함수로 중간 결과 저장
실수 5: 빈 결과 처리 누락
원인: 조건에 맞는 데이터가 없을 때 에러 해결: 세 번째 인수로 기본값 설정
🛠️ 디버깅 도구
단계별 확인 방법
F9 키: 수식의 일부분을 선택하고 F9로 결과 미리보기
LET 함수: 중간 결과를 변수로 저장해서 확인
작은 샘플: 전체 데이터 대신 작은 범위로 먼저 테스트
에러 함수: ISERROR, ISBLANK 등으로 조건 확인
성능 체크 방법
// 계산 시간 측정
=LET(
시작시간, NOW(),
결과, 복잡한배열함수(...),
종료시간, NOW(),
처리시간, 종료시간-시작시간,
결과
)📚 추가 학습 리소스
Microsoft 공식 문서
연습용 샘플 데이터
직원 정보: 이름, 부서, 급여, 평가, 입사일
매출 데이터: 날짜, 제품, 지역, 고객, 금액
재고 데이터: 품목, 분류, 수량, 단가, 공급업체
커뮤니티
Excel 커뮤니티 포럼
YouTube 배열함수 튜토리얼
실무 사례 공유 블로그
🏆 성취 단계
🥉 Bronze: 기초 마스터
10개 핵심 함수 모두 사용 가능
단일 함수로 기본 작업 해결
간단한 조건부 필터링 구현
🥈 Silver: 실무 활용
함수 조합으로 복잡한 분석 수행
동적 대시보드 구축 가능
성능 고려한 최적화 적용
🥇 Gold: 전문가 수준
LET, LAMBDA 활용한 고급 패턴 구사
대용량 데이터 효율적 처리
사용자 정의 함수 라이브러리 구축
다른 사람에게 배열함수 교육 가능
💡 팁: 각 단계별로 실제 업무 데이터로 연습하면 더 빠르게 마스터할 수 있습니다!
📞 학습 지원
막히는 부분이 있으면 언제든 구체적인 예시와 함께 질문하세요:
"이런 데이터에서 이런 결과를 원해요"
"이 수식이 왜 안 되는지 모르겠어요"
"더 효율적인 방법이 있을까요?"
🚀 배열함수 마스터의 길을 응원합니다!
