엑셀 INDIRECT 함수 사용법

엑셀 INDIRECT 함수 사용법의 기본적인 내용을 알아보겠습니다. 뿐만 아니라 엑셀 INDIRECT 다른 시트 참조 방법 등 응용법도 모두 알아보도록 하겠습니다.


엑셀 INDIRECT 함수 연습 파일을 다운로드 받아서 연습을 해보면 이해가 훨씬 쉽습니다.

엑셀 INDIRECT 함수 기본 사용법

  • = INDIRECT ( 텍스트 형태의 주소, [ 주소 스타일 ] )
  • INDIRECT 함수: 텍스트 문자열로 지정된 참조를 반환하는 함수

엑셀 INDIRECT 함수는 텍스트를 문자열로 지정된 참조를 반환해 주는 함수를 말합니다. INDIRECT 함수 내 인수를 살펴보면 첫 번째 인수로 텍스트 형태의 주소를 입력해야 합니다.

그리고 두 번째 인수로 주소 스타일을 입력 하는데요. 대괄호 안에 있는 주소 스타일의 경우 A1 처럼 입력 되게 할지, R1C1 형태로 입력 되게 할지 선택하는 것입니다.

대괄호 부분은 선택해서 입력을 하면 되므로 입력하지 않을 경우 A1과 같은 스타일로 값이 반환됩니다.

엑셀 INDIRECT 함수를 대체 어떻게 사용하는 것인지 바로 알아보겠습니다.



1.기본 셀 참조 방법

우선 기본 적인 INDIRECT 사용법에 대해서 알아 보겠습니다. 아래와 같이 함수식을 입력 해줍니다.

▶︎=INDIRECT(“A2”)

1.엑셀 INDIRECT 함수 기본 사용법 사진



즉, A2에 해당 되는 값을 INDIRECT 함수를 이용해서 구하는 것입니다.함수 식을 입력하고 엔터키를 누르면 아래 사진처럼 2라는 값이 반환이 됩니다. A2 셀의 값이 2이므로 2라는 값이 나온 것입니다.

2.엑셀 INDIRECT 함수 기본 사용법 결과값 사진




2.큰 따옴표 반드시 입력하기

INDIRECT 함수를 입력 할 때 주의해야 할 점이 있습니다. 함수 내의 인수로 반드시 큰따옴표(“)를 입력을 해야 한다는 것입니다. 큰따옴표를 입력 하지 않으면 오류값이 나오게 됩니다.

아래 사진을 보시면 큰따옴표를 입력 하지 않은 경우 오류값이 나온 것을 확인할 수 있습니다.

3.큰 따옴표 반드시 입력하기 사진




3.최종 값을 반환하는 INDIRECT 함수

INDIRECT 함수를 사용하면 참조한 셀주소의 최종 값이 반환이 됩니다. 예를 들어 볼게요.

아래 사진에서 A1 셀의 값을 반환 해보도록 하겠습니다. 우선 INDIRECT 함수를 사용하지 않고 =A1 이라고 입력을 한 후 엔터키를 누릅니다. 그럼 B1이라는 결과 값이 나오게 됩니다.

3.최종값을 반환하는 INDIRECT  사진

반면 =INDIRECT($A$1) 이라고 입력을 할 경우 결과값으로 1이 나옵니다. (여기서 셀을 고정하기 위해 F4 키를 눌러서 절대참조를 해주세요. 달러표시($) 기호가 나왔다는 것은 절대참조가 되었다는 의미입니다.)

위 사진을 보시면 A1의 값은 B1 이고, B1의 값은 1입니다.

INDIRECT 함수는 최종 값을 반환하기 때문에 1이라는 값이 나온 것입니다.



4.문자 반환해오기

이번에는 다른 예시로 문자를 반환해 와보겠습니다.

아래 사진에서 A3 셀에 나와있는 ‘가’라는 문자를 반환 해 보겠습니다. 그러기 위해서 아래와 같이 함수식을 입력합니다.

▶︎=INDIRECT(“A”&$B$2)

4.INDIRECT 활용해서 '가' 반환 해 오기  사진

‘가’ 라는 문자는 현재 A3 셀에 위치하고 있습니다. 따라서 INDIRECT 함수 내에 A3이라고 입력이 되도록 해줘야 합니다.

▶︎=INDIRECT(“A”&$B$2)

그러기 위해서 위와 같이 큰 따옴표 안에 A 라고 입력을 합니다.

▶︎=INDIRECT(“A”&$B$2)

그리고 결합연산자(&)를 입력하고 B2 셀을 입력합니다. 여기서 B2 셀을 입력하는 이유는 B2 셀에 3이 입력이 되어 있기 때문입니다. 그 후 절대참조를 해서 셀을 고정 시킵니다.

그럼 =INDIRECT(“A”&$B$2) 라는 함수식은 ▶︎=INDIRECT(“A3”)으로 바뀌게 됩니다. 따라서 최종 값은 ‘가’ 로 반환됩니다.



5.수식 내 셀에 대한 참조만 바꾸는 INDIRECT 함수

아래 사진을 보시면 과일명과 과일 가격이 입력이 되어 있습니다. 여기서 포도의 과일 가격인 200원을 반환 해 보겠습니다. 그러기 위해서 2가지 방법을 이용할 수 있습니다.

5.INDIRECT 함수는 수식 잔체가 아닌 수식 내 셀에 대한 참조만 바꾸는 것 사진

첫 번째 방법은 =B1 이라고 입력을 하는 것입니다. 그리고 두 번째 방법은 =INDIRECT(“B1”)이라고 입력을 하는 것입니다.

그럼 위 사진처럼 200 이라는 같은 결과 값이 나옵니다.


그런데 간혹 데이터 중 특정 행을 삭제를 하는 경우가 있습니다. 이 경우 =B1 이라고 입력을 했다면 아래 사진처럼 오류값이 나오게 됩니다.

6.INDIRECT 함수는 수식 잔체가 아닌 수식 내 셀에 대한 참조만 바꾸는 것 사진

그에 비해 INDIRECT를 이용해서 값을 반환 하면 오류 값이 나오지 않습니다. 그 대신 바뀌게 된 B1 셀의 결과 값으로 자동으로 나옵니다.

여기서 INDIRECT의 특징을 한가지 알 수 있는데요. INDIRECT 함수는 참조한 수식 자체를 바꾸지 않습니다. 그 대신 수식 내의 셀에 대한 참조만 바꿉니다.

따라서 INDIRECT 함수는 수식 자체를 바꾸지 않고 참조만 변경 하는 경우 유용하게 활용할 수 있는 함수 입니다.



6.범위 입력하기

INDIRECT 함수 내에 범위를 입력 할 수도 있습니다. 아래 사진처럼 범위를 입력 하면 범위에 대한 결과 값이 바로 반환이 됩니다.

7.범위 입력 시 사진




7.이름 정의하기

‘이름정의’ 라는 것을 해서 범위에 대한 결과 값을 반환 하는 방법도 있습니다. 우선 이름을 정의할 부분의 전체 셀을 선택 합니다. 그 후 수식 – 이름 정의 리본 메뉴로 들어갑니다.

8.이름 정의 후 INDIRECT 함수 입력하기 사진



그럼 아래 사진과 같은 창이 하나 뜨는데요. 여기서 ‘이름’ 칸에 자신이 원하는 이름을 입력 해 주시면 됩니다. 저는 예시로 ‘과일’이라고 입력을 해 보겠습니다. 입력 후 확인 버튼을 누르면 됩니다.

9.원하는 이름 입력 후 확인버튼 사진



그 후 수식 – 이름 관리자로 들어 가 봅니다.

10.수식-이름관리자 사진



그럼 아래 사진처럼 이름이 정의 된 것을 확인할 수 있습니다.

11.이름이 정의된 모습 확인 사진



이름 정의를 모두 했으니 이번에는 INDIRECT 함수를 직접 사용해 보겠습니다. 그러기 위해서 아래와 같이 함수식을 입력 합니다.

▶︎=INDIRECT(“과일”)

12.이름 정의한 '과일' INDIRECT 함수 내에 입력하기 사진



그리고 엔터키를 누르면 아래 사진처럼 우리가 지정 했던 이름인 ‘과일’ 범위에 해당되는 결과 값이 바로 나옵니다.

13.범위 결과 값이 나옴 사진




엑셀 INDIRECT 함수 응용법: 다른시트에서 값 찾아오는법

이번에는 INDIRECT 함수를 이용해서 다른 시트에 있는 데이터를 찾아와 보는 방법을 알아 보겠습니다.

예시로 1월 2월 3월에 해당 되는 각각의 과일 판매량 합계를 ‘1월’, ‘2월’, ‘3월’ 시트에서 각각 찾아와서 ‘INDIRECT 함수 응용’ 시트에 입력이 되도록 해보겠습니다.

다른 시트에서 값 찾아오기



그러기 위해서 우선 ‘INDIRECT 함수 응용’ 시트 내의 ‘1월’ 글자 아래 셀에 커서를 둡니다. 그후 아래와 같이 함수식을 입력 합니다.

=INDIRECT(B$2&”!”&”D”&ROW())

14.INDIRECT 함수로 값 찾아내기 사진

어떻게 이런 함수식이 나오는지 하나씩 자세히 살펴 보겠습니다.

=INDIRECT(B$2&”!”&”D”&ROW())

결론적으로 우리는 ‘1월’!D3 이 입력이 되도록 해야 합니다. 왜냐하면 ‘1월’ 시트에서 사과에 해당되는 판매량 합계의 셀인 D3 셀을 찾아와야 하기 때문이죠.

그래서 가장 먼저 ‘1월’ 이라고 적혀 있는 셀인 B2 셀을 선택합니다. 여기서 B 열은 계속 움직여야 하지만 2행은 움직이지 않고 딱 고정이 되어 있어야 합니다. 따라서 F4 키를 두번 눌러서 2행에만 절대 참조를 적용 해 주세요.

▶︎엑셀 절대 참조, 상대 참조, 혼합 참조 |총정리



=INDIRECT(B$2&”!”&”D”&ROW())

그 후 결합연산자 기호(&)를 입력하고 시트 구분 기호인 느낌표(!)를 입력 합니다. 느낌표는 반드시 큰따옴표 안에 입력해 주세요.


=INDIRECT(B$2&”!”&”D”&ROW())

그 후 결합연산자를 입력합니다. D3 셀이 입력 되도록 할 것이므로 큰따옴표 안에 D를 입력 해 줍니다. 그리고 결합연산자를 한 번 더 입력합니다.

이번에는 D3에서 3이 입력이 되도록 해야 합니다. 근데 자동채우기를 했을 때 행 번호가 계속해서 변경이 되도록 해야 하죠. 그래서 행 번호를 반환하는 함수인 ROW 함수를 입력합니다.

여기서 ROW() 라고 입력을 하면 ROW 함수가 입력 된 셀의 행 번호가 반환이 됩니다. 따라서 자동 채우기를 해서 셀 위치가 바뀔 때 행 번호도 같이 바뀌게 됩니다. 따라서 각 셀에 해당 되는 행 번호가 적절하게 반환이 되는 것입니다.

괄호를 닫아준 후 엔터키를 누릅니다.

그럼 26이라는 결과 값이 찾아와지고요. 아래 셀에도 자동 채우기를 하고 그 옆의 셀에도 자동 채우기를 해 주면 단 한 번의 함수식 입력으로 모든 셀을 다른 시트로부터 찾아올 수 있습니다.

15.자동채우기 사진




<결론>

▶︎엑셀 INDIRECT 함수 사용법

  • = INDIRECT ( 텍스트 형태의 주소, [ 주소 스타일 ] )
  • INDIRECT 함수: 텍스트 문자열로 지정된 참조를 반환하는 함수
  • INDIRECT 함수를 이용하면 다른 시트의 데이터를 손쉽게 참조 해올 수 있음.

이상 엑셀 INDIRECT 함수 사용법에 관한 글이었습니다.