오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
실무자 기초 강의

엑셀 시트 취합, 함수로 1초 만에 해결하기 : VSTACK 함수 완벽 가이드

오빠두엑셀 by 오빠두엑셀
  • 학습시간 13분
  • 난이도 초급
  • 작성일 2024.10.14

실무에서 반복적으로 발생하는 시트 취합 작업, 함수 하나로 해결! VSTACK 함수 기초 사용법부터 나만의 함수 만들기까지 10분 총정리 가이드🔥

이 강의에서는 엑셀 VSTACK 함수로 여러 범위와 여러 시트의 데이터를 한 번에 취합하는 방법을 다룹니다. 표 기능과 FILTER·LET 함수를 활용해 새 데이터가 추가되어도 자동으로 반영되는 동적 공식을 작성하고, LAMBDA 함수로 여러 시트를 한 줄에 병합하는 SHEETMERGE 사용자 정의 함수까지 직접 만드는 과정을 정리합니다.

엑셀 시트 취합, 함수로 1초 만에 해결하기 : VSTACK 함수 완벽 가이드
DOWNLOADS

실습자료를 준비했어요

수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇

실습 가이드

VSTACK 함수로 여러 범위 취합하기

엑셀 VSTACK 함수는 여러 범위를 세로로 결합해 주는 M365 신규 함수입니다. 일반 셀 범위는 물론 함수가 반환한 동적 배열, 여러 시트의 범위까지 함께 참조할 수 있어, 실무에서 자주 발생하는 데이터 취합 업무를 한 번에 처리할 수 있습니다.

=VSTACK(범위1, [범위2], ...)
// 여러 범위를 세로로 결합하여 하나의 큰 배열을 반환합니다.
오빠두Tip : 엑셀 VSTACK 함수의 자세한 설명은 아래 VSTACK 함수 포스트를 참고하세요!👇
  1. VSACK 함수 기초 예제 : 예제파일을 실행한 후 [VSTACK 기초] 시트로 이동합니다. 먼저 가장 기본적인 형태로 각 지점별 데이터를 하나의 범위로 결합해 보겠습니다. [VSTACK 기초] 시트의 B7셀을 선택한 뒤 다음과 같이 VSTACK 함수를 입력합니다.
    =VSTACK(F7:H10,J7:L11,F15:H18,J15:L17)

    엑셀-VSTACK-함수-시트-취합

  2. 함수를 입력하면 각 지점의 범위가 하나로 결합되어 출력됩니다.

    엑셀-시트-합치기-함수

  3. 다만 위와 같이 VSTACK 함수로 일반 셀 범위를 참조하면, 이후 새로운 데이터가 추가되어도 결과에 자동으로 반영되지 않는 한계가 있습니다.

    엑셀-시트-합치기-데이터-누락

  4. 이런 경우에는 아래 두 가지 방법으로 범위를 지정해, 새로운 데이터가 실시간으로 반영되는 VSTACK 공식을 만들 수 있습니다.
    ① 범위를 표로 변환
    범위를 넉넉하게 선택한 후, FILTER 함수로 빈 셀 제거
  5. 동적 범위 취합: ① 표 활용 : 먼저 범위를 표로 변환하는 방법부터 살펴보겠습니다. 강남점 회원 목록이 입력된 F6:H10 범위를 선택한 뒤 [삽입] - [표] 를 클릭하고, '머리글 포함'에 체크한 상태로 범위를 표로 변환합니다.

    범위를-표로-변환

  6. 표를 선택한 상태에서 [테이블 디자인] 탭으로 이동하면 좌측에서 표의 이름을 지정할 수 있습니다. 이번 강의에서는 표 이름을 '강남점'으로 변경합니다. 나머지 지점도 동일한 방식으로 범위를 표로 변환한 뒤, 각 표의 이름을 지점명으로 지정합니다.

    엑셀-시트-취합-표-만들기

    오빠두Tip : 표 기능 사용법과 구조적 참조에 대한 자세한 설명은 아래 기초 입문 강의에서 정리해 두었으니 참고하세요!👇
  7. 이제 VSTACK 함수에 각 표의 이름을 인수로 입력해 범위를 간결하게 참조할 수 있습니다.
    =VSTACK(강남점,신촌점,구로점,영등포점)

    엑셀-여러-범위-한-번에-합치기

  8. 각 표에 새로운 데이터를 추가하면 VSTACK 함수로 취합한 범위가 실시간으로 갱신됩니다.

    엑셀-데이터-취합-실시간-업데이트

  9. 동적 범위 취합: ② FILTER 함수 활용 : 두 번째 방법은 범위를 넉넉하게 선택한 뒤 FILTER 함수로 빈칸을 제거하는 방식입니다. 예제파일에서 [VSTACK 활용] 시트로 이동한 후, 아래와 같이 범위를 충분한 크기로 선택해 VSTACK 함수를 작성합니다.
    =VSTACK(F7:H15,J7:L15)

    엑셀-여러-범위-합치기

  10. 함수를 입력하면 빈칸을 포함한 채로 범위가 결합됩니다. 이제 FILTER 함수첫 번째 열의 값이 빈칸이 아닌 행만 추려내도록 다음과 같이 공식을 작성합니다. 이때 중간 결과를 변수로 저장하기 위해 LET 함수를 함께 사용했습니다.
    =LET(취합,VSTACK(F7:H15,J7:L15),FILTER(취합,CHOOSECOLS(취합,1)<>""))
    오빠두Tip : LET 함수의 자세한 사용법은 아래 영상 강의에서 정리해 두었으니 참고하세요!
  11. 공식을 입력하면 넉넉하게 선택한 범위에서 빈 셀은 제외되고 값이 입력된 행만 깔끔하게 결합됩니다.

    엑셀-범위-합치기-함수

VSTACK 함수 활용 : 여러 시트 취합하기

VSTACK 함수를 사용하면 여러 시트에 분산된 데이터를 한 번에 취합하는 작업도 간단한 공식 하나로 자동화할 수 있습니다.

  1. 예제파일에서 [VSTACK 고급] 시트로 이동합니다. 이번에는 '구로지점'부터 '강남지점'까지 작성된 데이터를 하나로 결합해 보겠습니다.

    엑셀-여러-시트-취합

  2. [VSTACK 고급] 시트의 A2셀을 선택한 뒤 VSTACK 함수를 입력합니다. 결합할 첫 번째 시트를 선택한 상태에서 Shift 키를 누른 채 마지막 시트를 클릭하면 여러 시트가 동시에 선택됩니다. 그 상태에서 결합할 머리글을 제외한 데이터 범위를 넉넉하게 선택한 뒤 수식을 입력하면, 여러 시트의 범위가 하나로 결합됩니다.

    엑셀-VSTACK-여러-시트-동시-선택

  3. 앞서 살펴본 LET 함수FILTER 함수를 함께 사용해, 다음과 같이 여러 시트를 결합하는 VSTACK 공식을 완성합니다.
    =LET(취합,VSTACK(구로지점:강남지점!A2:E13),FILTER(취합,CHOOSECOLS(취합,1)<>""))

    엑셀-VSTACK-여러-시트-취합-완료

SHEETMERGE 함수 만들기 (LAMBDA)

마지막 단계로, LAMBDA 함수를 활용해 여러 시트를 한 번에 병합하는 SHEETMERGE 함수를 직접 만들어 보겠습니다. LAMBDA 함수의 자세한 사용법은 이전 영상 강의에서 정리해 두었으니 참고하세요.

  1. 이전 단계에서 작성한 LET 함수 전체를 LAMBDA 함수로 묶어 줍니다. 그리고 SHEETMERGE 함수에서 사용할 인수로 "범위"를 추가합니다.

    엑셀-시트-합치기-함수-만들기

  2. 기존 공식에서 "구로지점:강남지점!A2:E13" 범위를 지운 뒤 그 자리에 인수 "범위"를 입력하면 LAMBDA 함수 공식이 완성됩니다.
    =LAMBDA(범위,LET(취합,VSTACK(범위),FILTER(취합,CHOOSECOLS(취합,1)<>"")))
  3. 완성한 LAMBDA 함수를 시트에 그대로 입력하면 #CALC! 오류가 반환됩니다. LAMBDA 함수는 작성한 함수 뒤로 괄호를 추가하고 그 안에 테스트 인수를 입력하는 방식으로 동작을 검증할 수 있습니다. 다음과 같이 LAMBDA 함수 뒤에 테스트 인수를 추가해 보면, 함수가 정상적으로 동작하는 것을 확인할 수 있습니다.
    =LAMBDA(범위,LET(취합,VSTACK(범위),FILTER(취합,CHOOSECOLS(취합,1)<>"")))(구로지점:강남지점!A2:E11)
  4. 이제 완성된 공식을 SHEETMERGE 함수로 등록해 보겠습니다. [수식] 탭 - [이름 관리자] - [새로 만들기] 를 차례대로 클릭한 뒤, 작성한 LAMBDA 함수를 '참조 대상'에 붙여넣고 함수 이름과 설명을 다음과 같이 입력합니다.
    이름 : SHEETMERGE
    설명 : 여러 시트 데이터를 하나로 결합합니다.
    참조 대상 : =LAMBDA(범위,LET(취합,VSTACK(범위),FILTER(취합,CHOOSECOLS(취합,1)<>"")))

    엑셀-SHEETMERGE-함수-등록하기

    오빠두Tip : 참조 대상에는 LAMBDA 함수만 붙여넣고, 동작 검증에 사용했던 괄호 안의 테스트 인수는 반드시 제거하세요.
  5. 이제 시트에서 =SHEET 를 입력하면 자동완성 목록에 표시되는 SHEETMERGE 함수로 여러 시트의 데이터를 간단하게 결합할 수 있습니다.

    엑셀-SHEETMERGE-함수-사용

  6. 예제파일의 '마스터함수' 시트에는 TAKE 함수와 IF 함수를 활용해 여러 시트의 머리글까지 함께 병합하는 고급 공식을 남겨 두었습니다. '마스터함수' 시트의 고급 공식을 만드는 과정은 멤버십 라이브 전체 영상을 참고해 주세요.
댓글 9
5 (8개 평가)
체리로그
체리로그 2024.10.14 23:27
강의 잘 보았습니다 :) 업데이트 됐을때부터 정말 잘 쓰고 있는 함수입니다:)
오빠두엑셀
오빠두엑셀 작성자 2024.10.14 23:36
네 공감합니다!ㅎㅎ 회사에서는 어쩔 수 없이 데이터 취합 업무가 따라올 수 밖에 없는데, 간단한 작업은 VSTACK 함수로 쉽게 처리할 수 있어 정말 유용한 함수입니다!!😆
강민준🤗
강민준🤗 2024.10.15 07:06
좋은 강의 감사합니다.
Inner peace!
Inner peace! 2024.10.16 07:37
회사 업무에 도움이 되어 이름 관리자에 등록하고 잘 사용하고 있습니다.
감사합니다.
더블유에이
더블유에이 2024.10.17 18:07
VSTACK 은 DROP, TAKE 함수를 같이 쓰면 더 강력해진다고 생각합니다.^^
박은성
박은성 2024.10.18 15:34
가입하고 처음 첫 강의 들어봤습니다. 설명도 쉽게 잘 하시고 많이 배울거 같습니다. 감사합니다. 좋은 정보와 지식 나눔...
국현진
국현진 2024.11.13 14:43
유익한 강의 항상 감사합니다
탄부
탄부 2025.10.22 08:59
자주 연습을 해야 하는데.. 이렇게 주옥같은 팁을 알려 주시는데 실천을 못하고 있으니.. 더 노력하겠습니다.
탄부
탄부 2025.10.22 15:51
와우!! 굉장합니다. 신기하고요. 그리고 감사합니다!