엑셀 INDIRECT 함수는 텍스트로 작성된 셀 주소를 직접 참조하여 해당 셀의 값을 반환하는 함수입니다.
=INDIRECT(참조범위, [참조방식])
- 다른 시트를 참조할 경우, "'시트명'!A1" 형식으로 작성합니다.
- 다른 통합문서를 참조할 경우, '[통합문서1]Sheet1'!A1" 형식으로 작성합니다.
- TRUE : [기본값] A1 스타일
- FALSE : R1C1 스타일
엑셀 INDIRECT 함수는 텍스트로 작성된 셀이나 범위 주소를 직접 참조하여 해당 셀이나 범위의 값을 반환하는 함수입니다. 이 함수를 사용하면 셀이나 범위를 동적으로 참조할 수 있어 유연한 수식 작성이 가능합니다.
=INDIRECT("A1") / / A1셀의 값을 반환합니다. =INDIRECT("A" & DAY(TODAY())) / / 오늘 날짜의 일에 따라 A1 ~ A31 까지 범위를 참조합니다.
특히 다른 함수나 셀의 값을 기반으로 동적으로 범위를 참조하는 자동화 함수를 작성할 때 유용하게 사용할 수 있습니다.
=INDIRECT("'" & A1 & "'!C1:C100") / / A1셀에 작성된 시트의 C1:C100 범위를 참조합니다. =SUM(INDIRECT("'" & A1 & "'!C1:C100")) / / A1셀에 작성된 시트에서 C1:C100 범위의 합계를 구합니다.
만약 다른 통합문서를 참조할 경우, INDIRECT 함수는 다음과 같이 작성합니다.
= INDIRECT("'[통합문서1]Sheet1'!"&"A1")
다음과 같이 수식을 작성하면, A1셀에 작성된 셀 주소의 값을 동적으로 참조합니다.
=INDIRECT(A1) / / A1셀이 "B5"일 경우 B5셀의 값을 반환합니다.
다음과 같이 수식을 작성하면, A1셀에 작성한 시트의 특정 범위를 동적으로 참조할 수 있습니다.
=INDIRECT("'" & A1 & "'!B1") / / A1셀에 "1월"이 입력된 경우, 1월 시트의 B1셀을 참조합니다.
다음과 같이 VLOOKUP 함수와 INDIRECT 함수를 함께 사용해서, 여러 시트의 데이터를 동적으로 검색하는 공식을 작성할 수 있습니다.
=VLOOKUP("김하늘",INDIRECT("'" & A1 & "'!A:C"),2,0) / / A1셀에 "2월"이 입력된 경우, '김하늘' 직원의 2월 매출을 검색합니다. / / A1셀에 "4월"이 입력된 경우, '김하늘' 직원의 4월 매출을 검색합니다.
INDIRECT 함수 + VLOOKUP 함수 공식의 자세한 동작 원리는 아래 기초 입문 강의에서 꼼꼼히 정리했으니 참고하세요!👇
다음과 같이 INDIRECT 함수를 작성하면 다른 통합문서의 데이터를 동적으로 참조할 수 있습니다. 단, 참조하려는 통합문서는 반드시 열려있어야 합니다.
=INDIRECT("'[예산.xlsx]Sheet1'!A1") / / 예산이라는 통합문서에서 Sheet1 시트의 A1셀을 참조합니다.
INDIRECT 함수는 참조하는 셀의 값만 반환하며 서식은 반환하지 않습니다. 예를 들어, 참조하는 셀이 통화서식($4.00)으로 작성되어 있더라도, INDIRECT 함수는 '4'를 반환합니다.
참조할 범위가 유효하지 않을 경우, INDIRECT 함수는 #REF! 오류를 반환합니다.
INDIRECT 함수로 다른 통합문서나 시트를 참조할 경우, 통합문서는 대괄호("[]"), 시트는 느낌표("!")로 구분하여 입력합니다.
=INDIRECT("[직원정보.xlsx]"&"Sheet1!"&"A1") / / 직원정보 파일에서 Sheet1 시트의 A1셀을 참조합니다.
INDIRECT 함수의 기본 참조방식은 A1 방식입니다. 만약 R1C1 방식으로 셀을 참조할 경우 두번째 인수인 참조방식을 FALSE로 입력하세요.

=SUM(INDIRECT("'0201:0228'!AB5"))또는 아래 커뮤니티 게시판을 통해 질문을 올려주시면 다른 여러 엑셀 전문가분께 답변을 받으실 수 있습니다.INDIRECT("'["&TEXT($B1,)&".xls]"&B2&"'!B7")홑따옴표(') 를 양 끝으로 넣어주시면 됩니다.=INDIRECT("A"&ROW())적절히 수정해서 사용하면 다양한 방법으로 자동화서식을 만드는데 활용할 수 있습니다.^^=INDIRECT("'"&셀주소&"'!A1")과 같이 시트 이름을 ' (작은따옴표)로 묶어서 함수를 작성해보세요.=INDIRECT("'시트명'!R1C1")으로 작성해서 셀을 참조할 수 있습니다. 정확히 어떠한 방식을 원하시는지 모르겠으나, 남겨주신 질문만 보았을 때에는=INDIRECT("'"&EE6&"'!"&ADDRESS함수)로 해결할 수 있을 듯 합니다. 만약 행/열번호로 참조해야 할 경우 INDIRECT 함수의 두번쨰 인수를 FALSE로 사용해보세요.=COUNTIF(INDIRECT("A1:A7"),"조건")INDIRECT 함수는 말씀하신 것 처럼, INDIRECT("A"&ROW(...)) 형태로 작성해서 범위를 동적으로 참조하는 것도 가능합니다. 제시해드린 답변이 문제를 해결하시는데 도움이 되었길 바랍니다. 감사합니다.=INDIRECT("'"&함수&"'!A1")형태로 수식을 적절히 수정해서 사용해보세요. 감사합니다.