INDIRECT 함수 + 실무 활용 + 효율적인 데이터 참조 방법 2025

엑셀에서 작업하다 보면 셀 참조를 동적으로(수시로 증가하거나 감소하는 데이터 범위) 처리해야 할 때가 있죠? 특히 여러 시트의 데이터를 종합하거나, 사용자 입력에 따라 참조 위치를 바꿔야 할 때 일일이 수식을 수정하는 건 정말 번거로운 일이에요.

 

이럴 때 INDIRECT 함수를 활용하면 유연하게 데이터를 참조할 수 있어요! 오늘은 실무에서 정말 유용하게 쓸 수 있는 INDIRECT 함수의 활용법을 알아볼게요. 🧮✨

 

📌 [고정핀] INDIRECT 함수로 엑셀 작업 효율을 높이는 방법을 자세히 알아보세요!

 

🔍 INDIRECT 함수란 무엇인가요?

INDIRECT 함수는 텍스트 문자열로 표현된 셀 참조를 실제 셀 참조로 변환해주는 함수예요. 쉽게 말해서, A1이라는 '텍스트'를 A1 '셀의 값'으로 바꿔주는 마법 같은 기능이죠!

 

INDIRECT 함수의 기본 구문은 다음과 같아요:

=INDIRECT(참조_텍스트, [A1])

함수 인수 설명:

참조_텍스트: 셀 참조를 나타내는 텍스트 문자열

A1(선택사항): TRUE(기본값)면 A1 참조 스타일, FALSE면 R1C1 참조 스타일 사용

📝 노트: INDIRECT 함수는 휘발성 함수로, 계산량이 많아질 수 있어요. 대용량 데이터에서는 성능에 영향을 줄 수 있으니 필요한 곳에만 사용하는 것이 좋습니다!

 

💡 INDIRECT 함수의 실무 활용 사례

 

1️⃣ 드롭다운 목록으로 시트 간 데이터 참조하기

업무 중 여러 시트의 데이터를 한 곳에서 확인해야 할 때가 많죠? INDIRECT 함수와 드롭다운 목록을 함께 사용하면 사용자가 선택한 시트의 데이터를 바로 보여줄 수 있어요.

 

예제 1: 부서별 매출 데이터 통합하기

 

이 예제는 영업팀, 마케팅팀, 개발팀 세 부서별 시트의 데이터를 한 곳에서 손쉽게・확인할 수 있도록 INDIRECT 함수를 활용하는 방법이에요. 실제 업무에서는 여러 부서의 데이터를 한눈에 비교하거나 통합 보고서를 만들 때 매우 유용하게 사용할 수 있어요! 😊

INDIRECT 함수 영업팀
INDIRECT 함수 마케팅팀
INDIRECT 함수 개발팀

1️⃣ 데이터 유효성 검사로 드롭다운 목록 생성

ㄱ. [목표1] 영업팀 시트 A1 셀에 드롭다운 목록(데이터 유효성 검사)으로 부서명(영업팀, 마케팅팀, 개발팀)을 만듭니다.

ㄴ. 데이터 탭 > 데이터 도구 파트 > 데이터 유효성 검사 실행

데이터 유효성 검사 목록 원본 설정

 

이제 A1 셀에서 영업팀, 마케팅팀, 개발팀 중 하나를 선택할 수 있어요!

 

2️⃣ INDIRECT 함수 사용하기

F1 셀부터 선택한 부서의 데이터를 표시하려면:

=INDIRECT(A1&"!B1:D7")

이 수식의 의미는:

 

ㄱ. A1 : ''데이터유효성검사'' 로 사용자가 선택한 부서명 ( 영업팀, 마케팅팀, 개발팀 중 하나 )

ㄴ. A1&"!B1:D7" : 선택한 부서명과 "!B1:D8"를 합쳐서 "영업팀!B1:D7"과 같은 참조 텍스트 생성

ㄷ. INDIRECT() : 텍스트 참조를 실제 셀 참조로 변환 ( 쌍따옴표로 둘러싸여 텍스트로 인식되는 참조가 실제 텍스트로 변환 )

 

이제 A1 셀에서 '개발팀' 부서를 선택하면 해당 부서 시트의 B1:D7 범위 데이터가 자동으로 표시돼요!

INDIRECT 함수와 데이터 유효성 검사 조합

 

영업팀 시트 A1 셀, ''개발팀''이 선택되면 개발팀 시트의 B1:D7 범위의 값이 INDIRECT 함수식으로 영업팀 시트의 F1:H7 범위에 참조됩니다.

📝 노트: 이 수식은 배열 수식이므로, Excel 버전에 따라 Ctrl+Shift+Enter를 눌러야 할 수도 있어요. 최신 Excel에서는 자동으로 처리됩니다!

 

이 예제를 통해 여러 시트의 데이터를 간편하게 확인하는 방법을 배웠습니다! 실무에서는 이런 방식으로 부서별, 지점별, 제품별 데이터를 효율적으로 관리할 수 있어요. 😊

 

2️⃣ 동적 범위 이름 생성하기

데이터 분석 시 다양한 데이터 범위를 참조해야 할 때, 엑셀 INDIRECT 함수로 동적인 범위를 생성할 수 있어요.

 

예제 2: 분기별 데이터 분석하기

 

B1 셀에 분기 번호(Q1, Q2)를 입력하고, 각 분기 데이터에 해당하는 범위 이름을 미리 지정해둔 후 다음 INDIRECT 함수로 동적 범위를 설정해보세요:

 

ㄱ. 이 예제의 시작은 Q1 과 Q2 레코드의 개발 범위를 이름정의 해요. (Q2 는 'Q2_Sales')

INDIRECT 함수를 위한 이름 정의

ㄴ. 그러면, 아래의 수식으로 이름정의된 2분기의 개발비용 합계를 계산합니다.

=SUM(INDIRECT(F3&"_Sales"))

 

INDIRECT 함수 활용 동적 합계

 

ㄷ. F3 에 "Q1"를 입력하면 "Q1_Sales"라는 이름이 지정된 범위의 개발비용 합계가 계산돼요!

ㄹ. 추가로 F3 셀을 ''데이터 유효성 검사'' 의 드롭다운 목록으로 만들어 편리함과 입력 오류 처리를 함께 할 수 있어요.

데이터 유효성 검사로 분기 설정

 

아래의 기본 데이터로 예제를 직접 실습해 보세요.

분기,프로젝트,개발비용(백만원)
Q1,앱개발,230
Q1,웹사이트,180
Q1,백엔드,150
Q2,앱개발,210
Q2,웹사이트,195
Q2,백엔드,175

 

3️⃣ 행/열 번호로 동적 참조 만들기

사용자 입력에 따라 특정 행이나 열의 데이터를 참조해야 할 때 엑셀 INDIRECT 함수가 정말 유용해요.

 

예제 3: 품목 코드로 재고 현황 조회하기

 

B10 셀에 ''품목 코드'' 의 마지막 1자리(숫자)를 입력하면 해당 품목코드를 행번호로 사용하여 데이터를 표시하는 수식이에요:

엑셀 INDIRECT 함수로 행열 간접 참조

=INDIRECT("A" & B10 & ":F" & B10)

 

B10 에 5 를 입력하면 A5:F5 범위의 데이터가 자동으로 표시돼요! 이런식으로 많은 활용이 가능해요

품목코드,품목명,카테고리,단가,재고량,입고예정일
1001,노트북 프로,전자기기,1200000,15,2025-06-10
1002,스마트폰 울트라,전자기기,980000,23,2025-05-25
1003,무선이어폰,액세서리,150000,42,2025-05-15
1004,스마트워치,액세서리,250000,18,2025-06-05
1005,블루투스 스피커,오디오,120000,31,2025-05-20
1006,태블릿 PC,전자기기,650000,12,2025-06-15
1007,외장하드,저장장치,95000,27,2025-05-18

 

⚠️ INDIRECT 함수 사용 시 주의할 점

엑셀 INDIRECT 함수를 사용할 때 다음 사항들을 주의하세요:

1️⃣ 오류 발생 원인과 해결책

A. 참조 형식 오류

텍스트가 유효한 셀 참조 형식이 아닐 때 #REF! 오류가 발생해요.

  • 해결책: 참조 텍스트가 올바른 형식인지 확인하세요. 특히 시트명에 공백이 있을 경우 작은따옴표를 사용해야 해요.
  • =INDIRECT("'" & A1 &" 매출'!B2") // A1 값 뒤에 " 매출" 시트 참조

B. 존재하지 않는 참조

참조하려는 시트나 셀이 존재하지 않을 때 #REF! 오류가 발생해요.

  • 해결책: IFERROR 함수와 함께 사용하여 오류 처리를 해주세요.
  • =IFERROR(INDIRECT(A1 & "!B2"), "참조할 수 없습니다")

C. 순환 참조 문제 INDIRECT 함수가 자기 자신을 참조하는 경우 순환 참조 오류가 발생할 수 있어요.

  • 해결책: 참조 구조를 재검토하고 순환 참조가 발생하지 않도록 수식을 수정하세요.

 

🚀 INDIRECT 함수의 고급 활용법

1️⃣ INDEX 함수와 함께 사용하기

INDIRECT와 INDEX 함수를 조합하면 더욱 강력한 동적 참조가 가능해요:

=INDEX(INDIRECT("데이터!A1:D12"), MATCH(F1, INDIRECT("데이터!A1:A12"), 0), 3)

이 수식은 F1 셀의 값과 일치하는 항목을 찾아 해당 행의 3번째 열 데이터를 가져와요. (수식에서 '데이터' 문자열은 셀참조로 변환하여 동적 변환 가능)  >> 보강설명

2️⃣ 날짜 기반 동적 참조 만들기

날짜에 따라 다른 데이터를 참조해야 할 때 TEXT 함수와 함께 활용할 수 있어요:

=INDIRECT("월별데이터_"&TEXT(TODAY(),"mmm")&"!A1:D10")

이 수식은 현재 월에 해당하는 시트(예: 월별데이터_May)의 A1:D10 데이터를 가져와요. >> 보강설명

 

📌 INDIRECT 함수로 업무 효율 높이기

INDIRECT 함수는 단순히 셀을 참조하는 도구를 넘어 엑셀 작업의 자동화와 효율성을 크게 높여주는 강력한 도구예요. 특히 대시보드 구축이나 데이터 통합 작업에서 그 진가를 발휘한답니다!

 

지금까지 배운 INDIRECT 함수의 다양한 활용법을 실무에 적용해보세요. 처음에는 조금 어렵게 느껴질 수 있지만, 익숙해지면 엑셀 작업이 훨씬 수월해질 거예요. 😊

 

여러분의 업무에 INDIRECT 함수가 큰 도움이 되길 바라며, 이 글이 도움이 되셨다면 주변 동료들에게도 공유해 주세요! 더 많은 엑셀 함수 활용법이 궁금하시다면 댓글로 알려주세요! 📊✨

 

 

작성자: 마늘빵