메인 콘텐츠로 건너뛰기

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

달의이성
달의이성
조회수 201
요약

배열함수 학습 체크리스트 및 빠른 참조

📅 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: 빈 결과 처리 누락

원인: 조건에 맞는 데이터가 없을 때 에러 해결: 세 번째 인수로 기본값 설정


🛠️ 디버깅 도구

단계별 확인 방법

  1. F9 키: 수식의 일부분을 선택하고 F9로 결과 미리보기

  2. LET 함수: 중간 결과를 변수로 저장해서 확인

  3. 작은 샘플: 전체 데이터 대신 작은 범위로 먼저 테스트

  4. 에러 함수: ISERROR, ISBLANK 등으로 조건 확인

성능 체크 방법

// 계산 시간 측정
=LET(
    시작시간, NOW(),
    결과, 복잡한배열함수(...),
    종료시간, NOW(),
    처리시간, 종료시간-시작시간,
    결과
)

📚 추가 학습 리소스

Microsoft 공식 문서

연습용 샘플 데이터

  • 직원 정보: 이름, 부서, 급여, 평가, 입사일

  • 매출 데이터: 날짜, 제품, 지역, 고객, 금액

  • 재고 데이터: 품목, 분류, 수량, 단가, 공급업체

커뮤니티

  • Excel 커뮤니티 포럼

  • YouTube 배열함수 튜토리얼

  • 실무 사례 공유 블로그


🏆 성취 단계

🥉 Bronze: 기초 마스터

  • 10개 핵심 함수 모두 사용 가능

  • 단일 함수로 기본 작업 해결

  • 간단한 조건부 필터링 구현

🥈 Silver: 실무 활용

  • 함수 조합으로 복잡한 분석 수행

  • 동적 대시보드 구축 가능

  • 성능 고려한 최적화 적용

🥇 Gold: 전문가 수준

  • LET, LAMBDA 활용한 고급 패턴 구사

  • 대용량 데이터 효율적 처리

  • 사용자 정의 함수 라이브러리 구축

  • 다른 사람에게 배열함수 교육 가능

💡 팁: 각 단계별로 실제 업무 데이터로 연습하면 더 빠르게 마스터할 수 있습니다!


📞 학습 지원

막히는 부분이 있으면 언제든 구체적인 예시와 함께 질문하세요:

  • "이런 데이터에서 이런 결과를 원해요"

  • "이 수식이 왜 안 되는지 모르겠어요"

  • "더 효율적인 방법이 있을까요?"

🚀 배열함수 마스터의 길을 응원합니다!