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

엑셀 목차 만들기, 초보자도 1분이면 만드는 쉬운 방법!

오빠두엑셀 by 오빠두엑셀
  • 학습시간 6분
  • 난이도 입문
  • 작성일 2022.08.25

GET.WORKBOOK 함수를 사용해서 엑셀 목차를 자동으로 만들고, 각 시트를 이동하는 링크를 추가한 후 파일을 공유하는 방법까지 단계별로 알아봅니다.

이 강의에서는 시트가 많은 엑셀 파일을 빠르게 탐색할 수 있도록, GET.WORKBOOK 함수와 이름 범위를 활용해 시트 목차를 자동으로 만드는 방법을 다룹니다. HYPERLINK 수식으로 클릭 한 번에 원하는 시트로 이동하는 링크까지 추가하고, 4.0 매크로 함수가 #BLOCKED 오류 없이 동작하도록 보안 설정을 조정하고 안전하게 저장하는 방법까지 함께 정리합니다.

엑셀 목차 만들기, 초보자도 1분이면 만드는 쉬운 방법!
DOWNLOADS

관련 자료를 모았어요

더 깊이 살펴볼 수 있는 자료를 한곳에

실습 가이드
.

VBA를 사용하는 방법이 궁금하시다면

엑셀 매크로를 활용한 목차 자동화 방법은 아래 영상 강의에서 자세히 정리했습니다.


GET.WORKBOOK 함수는 현재 실행 중인 파일의 정보를 반환하는 엑셀 4.0 매크로 함수입니다. 엑셀 4.0 매크로 함수에는 GET.WORKBOOK 외에도 다양한 함수가 있지만, 별도로 공부하거나 암기할 필요는 없습니다. 이번 강의에서는 "GET.WORKBOOK(1)을 이름 범위에 사용하면 시트 목록을 반환한다"는 한 가지 핵심만 기억해 두시면 됩니다.

GET.WORKBOOK(1)을 이름 범위에 사용하면 시트 목록을 반환한다!

엑셀 시트 목차 만들기

=GET.WORKBOOK(1)
'현재 실행 중인 파일의 시트 목록을 반환합니다.
'그 외 속성이 궁금하시다면 👉 관련 링크를 참고해보세요.
오빠두Tip : 엑셀 4.0 함수는 2007 이전 버전에서 사용하던 매크로 함수입니다. 엑셀 2010 버전부터는 상위 버전인 VBA7이 도입되면서, 엑셀 4.0 함수는 보안 설정을 별도로 변경하지 않으면 기본적으로 사용이 제한됩니다.

또한 엑셀 2010 이후 버전에서는 ① 4.0 매크로 함수의 사용이 기본적으로 제한되며, 4.0 함수를 그대로 실행하면 ② #BLOCKED! 오류를 반환합니다.

엑셀 4.0 함수 저장 오류

실무에서는 4.0 함수를 사용할 일이 거의 없으므로 보안 설정을 그대로 두는 편이 안전합니다. 다만 GET.WORKBOOK 함수를 지속적으로 사용해야 한다면 보안 설정을 변경해 4.0 매크로 함수를 실행할 수 있습니다.

  1. 목차를 추가할 엑셀 파일을 실행한 후, [수식] 탭 - [이름 관리자]를 클릭하거나 단축키 Ctrl + F3을 눌러 이름 관리자를 실행합니다. 이름 관리자 대화상자가 열리면 [새로 만들기] 버튼을 눌러 새로운 이름 범위를 등록합니다.

    엑셀 이름관리자 실행

  2. [새 이름] 대화상자가 실행되면 아래 표와 같이 이름과 참조 대상을 입력합니다. 모두 입력한 뒤 [확인] 버튼과 [닫기] 버튼을 차례대로 눌러 이름 등록을 마무리합니다.
    항목
    이름 목차
    참조 대상 =TRANSPOSE(MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,50))

    엑셀 목차 만들기 이름 범위

    오빠두Tip : 위 공식에서 ① MID 함수와 FIND 함수는 "]" 기호를 기준으로 시트 이름만 추출하도록 동작하고, ② TRANSPOSE 함수는 가로로 나열된 데이터를 세로로 변환합니다. MID 함수와 FIND 함수로 텍스트를 추출하는 방법은 아래 5분 기초 영상 강의를 참고해주세요.
  3. 목차를 만들 새로운 시트를 추가한 후, A1셀부터 세로 방향으로 범위를 선택합니다. 이때 범위는 시트 개수와 동일하거나 조금 더 넉넉하게 잡습니다. 이후 "=목차"를 입력한 뒤 Ctrl + Shift + Enter로 배열 수식을 입력하면 시트 목록이 한 번에 반환됩니다.

    엑셀 목차 범위

    오빠두Tip : 엑셀 2021 이후 버전 또는 M365 사용자는 A1셀에 "=목차"를 입력한 후 엔터키만 눌러도 동적 배열 형태로 시트 목록이 반환됩니다. 동적 배열에 대한 자세한 설명은 아래 5분 기초 영상 강의를 참고해주세요.
  4. 이제 셀을 클릭하면 해당 시트로 이동하는 링크를 추가합니다. 아래 수식을 복사한 뒤 B1셀에 입력하면 "특정 시트로 이동>>" 형태의 하이퍼링크가 추가됩니다.
    =HYPERLINK("#'"&A1&"'!A1",A1&"시트 이동 >>")

    엑셀 시트 이동 링크

  5. B1셀에 입력한 수식을 아래 방향으로 자동 채우기하면 목차 만들기가 완료됩니다. 이제 "시트 이동>>" 버튼을 클릭하면 원하는 시트로 빠르게 이동할 수 있습니다.

    엑셀 시트 목차 완성

  6. GET.WORKBOOK 함수는 엑셀 4.0 매크로 함수이므로, 이 함수를 사용한 파일은 ① '매크로 포함 문서' 형식으로만 저장할 수 있습니다. 또한 엑셀의 ② 보안 설정을 변경하지 않으면 "#BLOCKED" 오류가 반환되어 함수 사용이 제한된다는 점에 주의해야 합니다.

    엑셀 4.0 함수 저장 오류

  7. 따라서 목차를 실시간으로 갱신해야 하는 특별한 상황이 아니라면, 목차 만들기에 사용한 GET.WORKBOOK 함수를 제거한 뒤 파일을 저장하는 방법을 권장합니다. 시트 목록을 출력한 A열 전체 범위를 선택한 후 Ctrl + C로 복사합니다. 같은 범위가 선택된 상태에서 Ctrl + Alt + V를 눌러 [선택하여 붙여넣기]를 실행한 뒤, '값'으로 붙여넣습니다.

    엑셀 값 선택하여 붙여넣기

  8. 이후 [수식] 탭 - [이름 관리자]로 이동한 다음, 방금 추가했던 '목차' 이름 범위를 삭제하고 파일을 저장하면 오류 메시지 없이 파일이 정상적으로 저장됩니다.

    엑셀 이름범위 삭제

GET.WORKBOOK 함수로 시트 목록을 실시간 갱신해야 한다면, 매크로 보안 설정을 변경해 4.0 함수가 항상 실행되도록 허용할 수 있습니다.

오빠두Tip : 단, 매크로 보안 설정을 변경하면 이후 다른 파일을 열 때에도 4.0 함수가 항상 실행되므로 보안에 취약한 문제가 있습니다. 따라서 가급적이면 매크로 보안 설정은 그대로 유지하는 것이 좋습니다.
  1. 매크로 통합 문서 저장 안내창이 나오면 [아니오]를 클릭한 후, 매크로 사용 통합 문서 형식(*.xlsm)으로 파일을 저장합니다.

    엑셀 매크로 통합문서 저장

  2. 이후 [파일] 탭 - [옵션] - [보안 센터] - [보안 센터 설정]으로 이동합니다.

    엑셀 보안 센터 설정

  3. 보안 센터 설정 대화상자에서 [매크로 설정] 탭을 클릭한 후, 중간에 있는 'VBA 매크로를 사용하도록 설정하면 Excel 4.0 매크로 사용'을 체크합니다. 마지막으로 [확인] 버튼을 눌러 매크로 설정을 마무리합니다.

    엑셀 매크로 설정 4.0 함수 포함

댓글 5
5 (3개 평가)
k2****
k2**** 2024.01.23 10:24
질문 있습니다.
처음에 이름설정하고 A1부터 밑으로 쭉 범위설정하여 '=목차' 하였는데,
A1부터 그 아래에 복사되는 명칭이 모두 똑같은 이름으로 나옵니다.
예제처럼 '목차, 1월, 2월~~~12월' 로 나와야 되는데, 모두 '목차, 목차~~목차' 로 나옵니다.
도와주세요~
오빠두엑셀
오빠두엑셀 작성자 2024.01.28 15:07
안녕하세요.
수식을 =Ctrl + Shift + Enter로 입력해보시겠어요? :)
엑셀 2019 이전 버전에서는 범위를 넉넉히 선택한 후, Ctrl + Shift + Enter (배열수식)으로 수식을 입력해야 합니다.
감사합니다.
꾸룽
꾸룽 2024.02.20 16:27
질문이여~! 시트명을 선택적으로 하거나 몇번째 시트부터 시작하려면 함수를 어떻게 넣어야하나요? 궁금합니다.
오빠두엑셀
오빠두엑셀 작성자 2024.02.21 06:16
안녕하세요.
365를 사용하고 계시다면, DROP 또는 TAKE 함수로 몇번째 시트를 선택하거나 제외해서 목차를 만들 수 있습니다.
=DROP(TRANSPOSE(MID(GET.WORKBOOK(1),FIND("]",GET.WORKBOOK(1))+1,50)),2)
-> 처음 두개 시트를 제외하고, 세번째 시트부터 목차를 생성
만약 365 이전 버전을 사용중이라면, 이전에 다룬 VBA를 활용해서 목차를 만드는 방법을 참고해보세요.
엑셀 목차 만들기 자동화, 시트 관리를 효율적으로 하는 방법! - 오빠두엑셀 (oppadu.com)
감사합니다.
강민준🤗
강민준🤗 2024.08.09 07:03
좋은 강의 감사합니다🙇‍♂️