• 최초 작성일: 2013-12-02
  • 최종 수정일: 2026-09-21
  • 조회수: 36 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 원하는 곳으로 이동하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

2013년 올 한해도 마지막 한 장을 남겨두고 있습니다.
금년에 세워 두었던 Exceller의 To-do List를 들여다봅니다.
예년보다 가짓수는 좀 적게 8개가 적혀 있네요.
2개를 달성했고, 1개는 달성을 목전에 두고 있고, 1개는 물 건너 갔고,
4개는 2014년(1), 2017년(1), 2018년(2), 이렇게 남아 있습니다.

<모멘텀 이펙트>의 저자인 장 클로드 라레슈 교수의 말을 떠올려 봅니다.

기업이 저지르는 실수는 두 종류로 나눌 수 있다.
해야 할 일을 안 하는 실수(omission)와
행위를 했지만 엉뚱한 결과를 낳는 실수(commission)가 그것이다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

엑셀에서 원하는 시트로 이동하기, 시트 이름 구하기와 하이퍼링크

핵심 요약: 원하는 시트로 이동하는 세 가지 방법

엑셀에서 원하는 시트로 이동하려면 시트 이름을 구하는 이름 정의와 HYPERLINK 함수를 조합하거나, 삽입 - 하이퍼링크를 쓰거나, VBA 한 줄을 사용할 수 있습니다.

  • 시트 이름 구하기: Excel 4 매크로 함수 GET.WORKBOOK을 이름 시트이름으로 정의하고 INDEX 함수로 시트 이름을 구합니다.
  • 수식으로 이동: =HYPERLINK("#"&E60&"!a1","이동하기")로 시트의 A1 셀로 이동하는 링크를 만듭니다.
  • 하이퍼링크 명령: '삽입 - 링크 - 하이퍼링크'로 링크를 걸면 복잡한 수식이 필요 없지만 한꺼번에 여러 개를 만들기는 어렵습니다.
  • VBA: Application.Goto 한 줄로 드롭다운에서 선택한 시트로 이동하며, 컨트롤이나 도형과도 연결할 수 있습니다.

1. 워크시트의 이름 구하기 — Excel 4 매크로 함수

자세한 연유를 알 수는 없지만
엑셀은 워크북에 들어있는 워크시트의 이름을 알아낼 방법을 제공하지 않습니다.
아주 오래 전에 사용하던 Excel 4의 XLM macro 함수를 이용하면 되기는 합니다.

(1) "수식 - 정의된 이름 - 이름 정의"를 클릭합니다.

(2) "새 이름" 대화상자에서 "이름"과 "참조 대상"을 지정합니다.

새 이름 대화상자. 이름은 시트이름, 범위는 통합 문서이며 참조 대상 란에 GET.WORKBOOK(1)이 들어 있는 수식이 입력된 화면
아이엑셀러
이름: 시트이름
참조 대상: =REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")

여기에서 Get.Workbook이라는 이것이
Excel 4 XLM Macro 함수라는 것입니다.
아주 오래 전(Excel 95 버전)에서 매크로는
XLM이라는 확장자 명을 가진 별도의 파일에
코드를 별도로 저장했었다고 전해지는데
이것을 XLM macro 혹은 Excel 4 macro 등의
이름으로 불렸습니다.
(여기서는 그냥 '그런 게 있군' 정도로만 이해하고
넘어가도 상관 없습니다.)

참고: 저장 형식

이렇게 Excel 4 매크로 함수를 사용한 이름은 매크로 없는 통합 문서(.xlsx)로 저장하면 동작하지 않습니다. 예제처럼 .xls 형식이나 매크로 사용 통합 문서(.xlsm)로 저장해서 사용하세요.

(3) 이렇게 정의된 이름과 Index 함수를 이용하면 시트의 이름을 구할 수 있습니다.

=INDEX(시트이름, 1)

결과: Preface

이렇게 하면 현재 워크북의 첫번째 시트 이름을 구해줍니다.
두번째, 세번째 시트 이름을 얻을려면 1 대신 2, 3, 4, 등으로 바꿔주면 됩니다.
Iferror 함수와 조합하면 좀더 완성도(?)가 높은 수식이 됩니다.

=IFERROR(INDEX(시트이름, 1),"")

2. 시트 이름은 어디에 쓸까요? — HYPERLINK 함수

자, 이쯤에서 이런 의문이 들기 시작합니다.

Excel 4 macro도 좋고, Index 함수도 좋은데, 이런 건 배워서 도대체 워디에 써먹나요?

강좌 제목이 "원하는 곳으로 이동하기"이니 아마도 그와 연관된 뭔가가 있겠지요?
예제 파일의 아래 노란색 셀을 한번씩 눌러보시기 바랍니다.

1Preface이동하기
2Workplace이동하기
3Sheet1이동하기
4Sheet2이동하기
5Sheet3이동하기
6Sheet4이동하기
7Sheet5이동하기

어떤가요? 원하는 시트로 쉽게 이동이 되지요?
이렇게 하기 위해 사용된 수식은 이렇습니다.

=HYPERLINK("#"&E60&"!a1","이동하기")

한 셀에만 이 수식을 입력하고 나머지는 자동 채우기를 하면 되겠습니다.

참고: 시트 이름과 시트 이름 목록

예제에서 E60:E66 셀에는 =IFERROR(INDEX(시트이름,D60),"")처럼 시트 이름이 들어 있고 D60:D66에는 순번 1~7이 있습니다. 시트 이름에 공백이 있는 경우에는 이름을 작은따옴표로 감싸 =HYPERLINK("#'"&E60&"'!A1","이동하기")처럼 써야 이동합니다.

3. 삽입 - 하이퍼링크 명령으로 이동하기

각 시트의 A1 셀에는 "돌아가기"라는 글자가 있고, 그것을 클릭해도 특정한 곳으로 이동합니다.
이것은 "삽입 - 링크 - 하이퍼링크" 명령을 이용하여 하이퍼링크를 걸어준 것입니다.

하이퍼링크 편집 대화상자. 표시할 텍스트는 '돌아가기', 연결 대상은 '기존 파일/웹 페이지'이며 주소 란에 X0513_Hyperlink.xls#Preface!A30이 입력된 화면
아이엑셀러

이렇게 하면 복잡한 수식을 작성하지 않아도 되는 장점이 있는 반면,
수식 복사를 통해 한꺼번에 여러 개의 하이퍼링크를 만들기는 어렵습니다.

참고: '현재 문서' 링크

예제의 '돌아가기'는 파일 이름과 위치(X0513_Hyperlink.xls#Preface!A30)로 연결되어 있어 파일 이름이 바뀌면 링크가 끊길 수 있습니다. 같은 통합 문서 안에서 이동하는 링크는 하이퍼링크 대화상자의 '현재 문서' 탭에서 시트와 셀을 지정하면 파일 이름과 관계없이 유지됩니다. 또 화면의 위치(A30)는 표가 다른 자리에 있을 때 지정한 것이라 지금 예제의 표 위치와 다를 수 있습니다.

4. VBA를 이용해 이동하기

이런 방법들, 즉 Excel 4 macro나 하이퍼링크 말고도 VBA를 이용하는 방법도 있습니다.
예제 파일의 드롭다운 버튼을 클릭하여 적당한 시트 명을 선택해 보시기 바랍니다.

이 기능을 구현하기 위해 사용한 코드는 다음과 같습니다(단 한 줄!).

Sub GoToSheet()
    Application.Goto Sheets(Range("이동위치").Value).Range("A1"), True
End Sub

참고: 이동위치 이름

예제에서 이름 이동위치는 Preface!$D$99를 가리키고, D99 셀에는 드롭다운의 연결 값(F99)에 해당하는 시트 이름을 구하는 =INDEX(E60:E66,F99) 수식이 들어 있습니다. 드롭다운으로 시트를 고르면 이 셀의 시트 이름으로 이동합니다.

어떤 방법을 선택할 지는 여러분의 자유입니다만,
Exceller는 개인적으로 마지막 방식을 추천하는 바입니다.
각종 컨트롤이나 도형과도 연결할 수 있고, 응용의 폭이 넓기 때문입니다.

정리 — 시트 이동 방법 비교

방법 핵심 특징
HYPERLINK 함수 =HYPERLINK("#"&E60&"!a1","이동하기") 수식 복사로 한꺼번에 여러 개 만들 수 있음
삽입 - 하이퍼링크 링크 대상을 대화상자에서 지정 수식이 필요 없지만 한꺼번에 여러 개 만들기는 어려움
VBA Application.Goto Sheets(…).Range("A1"), True 컨트롤·도형과 연결할 수 있고 응용의 폭이 넓음(필자 추천)

자주 묻는 질문 (FAQ)

Q1. 엑셀에서 워크시트 이름을 수식으로 알아낼 수 있나요?

엑셀에는 시트 이름을 구하는 기본 함수가 없지만, Excel 4 XLM 매크로 함수 GET.WORKBOOK을 이름으로 정의하면 구할 수 있습니다. 이름 시트이름의 참조 대상을 =REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")로 정의하고 =INDEX(시트이름,1)처럼 INDEX 함수로 몇 번째 시트의 이름인지 지정합니다.

Q2. 수식으로 원하는 시트로 이동하는 링크를 만들려면 어떻게 하나요?

HYPERLINK 함수를 사용합니다. 시트 이름이 E60 셀에 있다면 =HYPERLINK("#"&E60&"!a1","이동하기")처럼 입력하면 해당 시트의 A1 셀로 이동하는 링크가 만들어지며, 한 셀에만 입력하고 나머지는 자동 채우기를 하면 됩니다.

Q3. 시트 이동을 VBA로 구현하려면 어떻게 하나요?

Application.Goto Sheets(Range("이동위치").Value).Range("A1"), True 한 줄이면 됩니다. 드롭다운 컨트롤에서 선택한 시트 이름이 이름 이동위치가 가리키는 셀에 들어 있게 해 두면, 이 코드로 선택한 시트의 A1 셀로 이동합니다.

마치며

오늘은 여기까지…