Excel Lab.

엑셀, INDIRECT 함수 완벽 가이드

머털바삭 2025. 8. 21. 10:00

 

엑셀 INDIRECT 함수 완벽 가이드

📅 2025년 8월 21일 | ⏱️ 8분 소요 | 💼 엑셀 중급 함수
#엑셀함수 #INDIRECT #동적참조 #초보자가이드

엑셀의 INDIRECT 함수는 처음 보면 복잡해 보이지만, 한번 이해하면 정말 강력한 도구가 되어요! 텍스트로 만든 주소를 실제 셀 참조로 바꿔주는 마법 같은 함수랍니다. 동적인 보고서나 대시보드를 만들 때 없어서는 안 될 핵심 기능이에요. 오늘 함께 차근차근 배워보실까요?

INDIRECT 함수란 무엇인가요?

 함수 정의

INDIRECT 함수는 텍스트 문자열로 지정된 참조를 실제 참조로 변환해주는 함수예요. 쉽게 말해, "A1"이라는 텍스트를 실제 A1 셀로 연결해주는 역할을 해요.

=INDIRECT(ref_text, [a1])
  • ref_text: 셀 주소를 나타내는 텍스트
  • [a1]: 참조 스타일 (TRUE 또는 생략: A1 스타일, FALSE: R1C1 스타일)

기본 사용법 배우기

가장 간단한 예시부터 시작해요

🔹 예시 1: 기본적인 사용법

A1 셀에 "안녕하세요"가 들어있다고 가정해볼게요.

내용 결과
A1 안녕하세요 안녕하세요
B1 =INDIRECT("A1") 안녕하세요

B1의 수식 =INDIRECT("A1")은 "A1"이라는 텍스트를 실제 A1 셀 참조로 변환해서 A1의 값을 가져와요!

초보자 팁

처음에는 "왜 그냥 =A1을 쓰지 않고 =INDIRECT("A1")을 쓸까?" 라고 생각할 수 있어요. 하지만 INDIRECT의 진짜 힘은 동적으로 참조를 만들 수 있다는 점에 있어요!

실용적인 활용 예시

🔹 예시 2: 동적 셀 참조

사용자가 입력한 값에 따라 참조할 셀이 바뀌도록 만들어보세요!

내용/수식 설명
A1 100 데이터
A2 200 데이터
A3 300 데이터
C1 2 행 번호 입력
D1 =INDIRECT("A"&C1) 200 (A2의 값)

C1에 다른 숫자를 입력하면 D1의 결과가 자동으로 바뀌어요!

  • C1에 1 입력 → D1은 A1의 값 (100)
  • C1에 2 입력 → D1은 A2의 값 (200)
  • C1에 3 입력 → D1은 A3의 값 (300)

🔹 예시 3: 월별 데이터 조회 시스템

드롭다운으로 월을 선택하면 해당 월의 데이터를 자동으로 보여주는 시스템을 만들어보세요!

1
각 시트에 월별 데이터 준비

1월, 2월, 3월... 이렇게 시트 이름을 만들고 각각에 데이터를 입력해요

2
메인 시트에서 월 선택

B1 셀에 드롭다운을 만들어서 "1월", "2월", "3월"을 선택할 수 있게 해요

3
INDIRECT로 동적 참조
=INDIRECT(B1&"!A1")

이 수식은 B1에서 선택한 월의 시트 A1 셀을 참조해요!

🔹 예시 4: 범위를 동적으로 만들기

SUM 함수와 함께 사용해서 범위를 동적으로 설정해보세요!

내용 설명
A1:A5 10, 20, 30, 40, 50 합계 대상 데이터
C1 3 몇 번째까지 합할지
D1 =SUM(INDIRECT("A1:A"&C1)) 60 (A1:A3의 합)

C1의 값을 바꾸면 합계 범위가 자동으로 조정되어요!

고급 활용 기법

🔹 예시 5: 다중 조건 데이터 조회

여러 조건을 조합해서 복잡한 참조를 만들어보세요!

1
기본 설정
  • A1: 부서명 (영업, 마케팅, 개발)
  • B1: 월 (1월, 2월, 3월)
  • 각 시트명: "영업1월", "마케팅2월" 등
2
동적 참조 수식
=INDIRECT(A1&B1&"!C5")

부서와 월을 조합해서 해당 시트의 C5 셀을 참조해요!

🔹 예시 6: 행렬 형태 데이터 조회

행과 열을 모두 동적으로 참조하는 방법이에요!

=INDIRECT(CHAR(65+B1)&A1)

이 수식의 의미:

  • CHAR(65+B1): 숫자를 알파벳으로 변환 (0=A, 1=B, 2=C...)
  • A1: 행 번호
  • 결과: 동적으로 생성된 셀 주소

주의사항과 한계

알아두어야 할 중요한 점들

1. 참조된 시트나 셀이 없는 경우

#REF! 오류가 발생해요. 항상 참조하는 시트나 셀이 존재하는지 확인하세요!

2. 계산 성능 문제

INDIRECT는 Volatile 함수예요. 즉, 엑셀에서 무엇인가 변경될 때마다 다시 계산되므로 많이 사용하면 파일이 느려질 수 있어요.

3. 외부 파일 참조 제한

INDIRECT는 닫힌 외부 파일을 참조할 수 없어요. 외부 파일 참조가 필요하면 파일을 열어두어야 해요.

성능 최적화 팁

  • 적당히 사용하기: 꼭 필요한 곳에만 사용하세요
  • 계산 모드 조정: 대량 사용 시 수동 계산 모드 고려
  • 대안 함수 검토: INDEX/MATCH 조합으로 해결 가능한지 확인

🎮 실습 문제로 연습해보기

도전 문제

문제: 다음 조건을 만족하는 수식을 작성해보세요!

  • A1에는 열 문자 (A, B, C 등)
  • B1에는 행 번호 (1, 2, 3 등)
  • C1에는 A1과 B1을 조합한 셀의 값을 표시

힌트: A1과 B1을 텍스트로 연결해서 INDIRECT에 전달하세요!

정답 보기 👆
=INDIRECT(A1&B1)

A1에 "A", B1에 "1"이 입력되면 C1은 A1 셀의 값을 보여줘요!

실무에서 자주 쓰는 패턴

🔹 패턴 1: 드롭다운과 연동된 보고서

=INDIRECT(E1&"!B2:D10")

E1 셀의 드롭다운에서 시트명을 선택하면 해당 시트의 B2:D10 범위를 참조해요

🔹 패턴 2: 연도별 데이터 비교

=INDIRECT("데이터"&A1&"년!C5")

A1에 연도를 입력하면 해당 연도 시트의 C5 셀을 참조해요

🔹 패턴 3: 동적 합계 범위

=SUM(INDIRECT("A1:A"&COUNTA(A:A)))

데이터가 있는 마지막 행까지 자동으로 합계를 계산해요

마무리

INDIRECT 함수는 처음에는 어렵게 느껴질 수 있지만, 동적인 참조라는 핵심 개념만 이해하면 정말 강력한 도구가 되어요! 특히 대시보드나 보고서 자동화에서 없어서는 안 될 함수랍니다.

오늘 배운 내용을 바탕으로 작은 예시부터 차근차근 연습해보세요. 실무에서 "아, 이럴 때 INDIRECT를 쓰면 되겠구나!" 하는 순간이 반드시 올 거예요. 여러분의 엑셀 실력이 한 단계 더 업그레이드되기를 응원합니다!