엑셀 INDIRECT
텍스트를 셀 참조로 변환 — 시트 이름 동적 참조·종속 드롭다운의 핵심
INDIRECT 수식 구조
참조 텍스트 (ref_text)
셀 주소를 나타내는 텍스트. "A1", "Sheet2!B5", 다른 셀에 적힌 주소 등
A1형식 (a1, 선택)
TRUE(기본): A1 형식 / FALSE: R1C1 형식. 거의 항상 생략
직접 체험해보세요
주소를 입력하거나 프리셋을 누르면 그 셀이 하이라이트되고 값이 표시됩니다. 잘못된 주소(XX)도 시험해보세요
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 상품 | 1월 | 2월 | 3월 |
| 2 | 사과 | 120 | 150 | 180 |
| 3 | 배 | 90 | 110 | 95 |
| 4 | 귤 | 200 | 230 | 210 |
시트 동적 참조 — 가장 자주 쓰는 패턴
=INDIRECT("'1월'!B2")
셀에 적은 시트 이름이 바뀌면 참조 시트도 자동으로 바뀜
실전 활용 예제
=INDIRECT("A1")가장 기본 — 텍스트 주소를 참조로 변환. 단순한 경우엔 그냥 =A1을 쓰는 게 빠르지만, 주소가 가변일 때만 의미 있음.
=INDIRECT("'"&A1&"'!B2")시트 동적 참조 — 가장 많이 쓰는 패턴. A1에 시트 이름이 적혀 있으면 그 시트의 B2를 가져옴. 월별 시트 합산·다른 부서 보고서 통합에 활용.
=INDIRECT(A1)데이터 유효성 종속 드롭다운 — A1에 부서를 고르면 B1의 드롭다운이 그 부서의 직원 목록(이름 정의된 범위)을 표시. 데이터 유효성 목록 인수에 INDIRECT 사용.
=SUM(INDIRECT("A1:A"&B1))가변 마지막 행 — B1에 행 수가 있으면 A1부터 그 행까지 합산. 매일 데이터가 늘어나는 시트에서 자동 확장 합계.
종속 드롭다운 만들기 — INDIRECT의 가장 강력한 응용
▼
"부서를 고르면 그 부서의 직원만 나오는 드롭다운" — 데이터 유효성 + 이름 정의 + INDIRECT 3가지의 조합으로 만듭니다.
3단계 레시피
1. 이름 정의: 영업·개발·인사 각 범위에 부서명으로 이름 지정
2. A1에 데이터 유효성 → 목록 → 영업,개발,인사
3. B1에 데이터 유효성 → 목록 → 수식: =INDIRECT(A1)
A1에서 "영업"을 고르면 INDIRECT("영업")이 영업 범위로 평가되어 B1 드롭다운에 영업부 직원만 나옵니다. 이름 정의 대신 표(Ctrl+T) + 구조적 참조를 써도 비슷한 효과를 낼 수 있습니다.
INDIRECT vs INDEX vs OFFSET — 동적 참조 3대장
▼
INDIRECT의 함정 — 알아두지 않으면 크게 데임
▼
자주 묻는 질문 (FAQ)
▼
Q. =INDIRECT(A1)이 #REF! 오류가 떠요
A1에 적힌 텍스트가 유효한 셀 주소가 아니거나, 해당 시트가 닫혀 있거나, 한국어 시트 이름인데 작은 따옴표를 빠뜨린 경우입니다. "'1월'!A1"처럼 시트 이름 양쪽에 작은따옴표를 붙이면 안전합니다.
Q. 표(Ctrl+T)의 구조적 참조도 INDIRECT로?
가능하지만 까다롭습니다 — =INDIRECT("매출표[합계]") 식으로 텍스트로 감싸야 합니다. M365라면 FILTER + 표가 훨씬 깔끔합니다.
Q. INDIRECT를 안 쓰고 같은 효과를?
시트 이름이 정해진 패턴(예: 1월·2월·3월)이라면 CHOOSE + MATCH 조합으로 비휘발성 대안을 만들 수 있습니다. 다만 시트 추가 시 수식 수정이 필요해 INDIRECT 쪽이 유지보수에 유리합니다.
Q. R1C1 형식은 언제 쓰나요?
거의 안 씁니다. 두 번째 인수에 FALSE를 넘기면 R1C1 형식으로 해석합니다 — INDIRECT("R2C3", FALSE) = C2. 매크로 호환성이나 특수한 동적 계산에서 가끔 등장하는 정도입니다.