INDIRECT 함수 실무 패턴 — 시트 이름을 수식 안에서 동적으로 쓰는 법

지점별 매출 시트가 서울, 부산, 대구…로 나뉘어 있을 때, 드롭다운에서 고른 지점 표를 한 수식으로 가리키려면 INDIRECT가 나옵니다. 문자열 "서울!B2:B100"참조로 바꿔 주는 함수예요.

다만 INDIRECT는 휘발성(volatile) 함수입니다. 워크북이 바뀔 때마다 다시 계산해서 큰 파일에서는 느려질 수 있어요. “꼭 필요할 때만” 쓰라고 강의에서 강조합니다. 연동 드롭다운 글과 같이 보면 실무 맥락이 잡혀요.

이 글을 따라 하면 얻는 것
– INDIRECT 기본·시트명 따옴표
– 명명 범위·드롭다운 연동
– #REF!·시트명 변경 리스크
– INDEX·CHOOSE 대안

1. 기본 문법

=INDIRECT(참조_문자열, [a1])

A1 스타일(기본):

=INDIRECT("B2")
=SUM(INDIRECT("서울!B2:B10"))

시트명에 공백·숫자:

=INDIRECT("'2026 Q1'!B2:B10")

R1C1:

=INDIRECT("R2C2",FALSE)

2. 따라 할 예제 — 지점 선택 합계

목록 시트 A2: 드롭다운 (서울, 부산, 대구)

집계 B2:

=SUM(INDIRECT(A2&"!$B$2:$B$100"))

A2가 서울이면 서울!$B$2:$B$100을 참조합니다. 지점 시트 이름과 완전히 일치해야 합니다. 띄어쓰기 하나만 달라도 #REF!.

공백 있는 시트명:

=SUM(INDIRECT("'"&A2&"'!$B$2:$B$100"))

3. 명명 범위와 INDIRECT

명명 범위 매출_서울을 만들어 두면:

=SUM(INDIRECT("매출_"&A2))

드롭다운 값이 서울일 때 매출_서울 범위를 가리킵니다. 데이터 유효성 목록과 자주 짝입니다.

4. 사용자 지정 수식 유효성

사용자 지정 수식 규칙에서:

=COUNTIF(INDIRECT(A2&"!B:B"),B2)>0

선택한 시트 B열에 입력값이 존재하는지 검사합니다.

5. 휘발성·성능

INDIRECT는 모든 재계산에 관여할 수 있습니다. 수천 행 배열에 INDIRECT를 중첩하면 저장·열 때 느려집니다. 대안:

상황 대안
고정 시트 몇 개 CHOOSE+MATCH
365 XLOOKUP, FILTER
구조 고정 Ctrl+T 표 + 구조적 참조

6. #REF! 예방

  1. 시트명 변경 시 수식 문자열은 자동 갱신 안 됨
  2. 삭제된 시트 참조
  3. 작은따옴표 누락 (공백 시트명)
  4. " vs ' 혼동

팀 규칙: 지점 코드는 SEOUL처럼 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다.

7. OFFSET과 비교

OFFSET은 범위를 이동·확장하고, INDIRECT는 문자열 주소를 참조합니다. 차트 동적 범위 NAME에서 둘 다 쓰이지만, 365에서는 @ spill·표가 더 권장됩니다.

8. FAQ

Q. 외부 통합 문서?
닫힌 파일은 INDIRECT로 못 가리킵니다.

Q. INDEX로 대체?
시트가 많고 패턴이 같으면 INDEX+MATCH+시트 열이 더 안정적일 때가 많습니다.

9. 관련 글

10. 레거시 통합 문서에서 마이그레이션

INDIRECT-heavy 파일을 표 구조로 옮길 때는 시트별 동일 열 구조가 전제입니다. 지점 시트 B열이 모두 매출이면, Power Query로 폴더·시트를 세로 결합한 뒤 피벗이 INDIRECT보다 유지보수에 유리합니다. Power Query 입문 글과 연결해 보세요.

단기적으로 INDIRECT를 유지해야 한다면, 목록!A2 드롭다운 값과 시트 탭 이름을 데이터 유효성 목록으로 같은 소스에서 끌어오세요. 탭 이름만 바꾸고 목록은 안 바꾸면 #REF!가 납니다.

참고: Microsoft INDIRECT 공식 문서.

실무 메모 1

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 2

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 3

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 4

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 5

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 6

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 7

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 8

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 9

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 10

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 11

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 12

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 13

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 14

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 15

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 16

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 17

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 18

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 19

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 20

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 21

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 22

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 23

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 24

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 25

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 26

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 27

대용량 파일에서는 CHOOSE+MATCH로 휘발성을 줄일 수 있습니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 28

지점 코드는 공백 없는 영문으로 통일하면 INDIRECT 문자열이 단순해집니다. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

실무 메모 29

시트명 변경 전 INDIRECT 수식 목록을 검색해 두세요. 분기말 보고서를 열면 같은 실수가 반복됩니다. 김대리 파일에서도 범위를 B2:B5000으로 줄이니 응답이 빨라졌어요. 팀 README에 기준을 한 줄로 박아 두세요.

작성자 소개