엑셀 indirect 함수 사용 방법 정리

2018. 6. 5. 11:47 / 서기랑

 텍스트 문자열로 지정한 셀 주소를 돌려주는 함수.

 셀에 있는 값을 그대로 가져올 수도 있고, 셀에 있는 값을 주소 값으로 참조하여 주소에 해당하는 다른 셀 값을 가져올 수도 있는데 아래의 설명을 보는 것이 이해가 더 빠르지 않을까 한다.


엑셀 indirect 함수 기본

 우선 함수의 기본 문법은 다음과 같다.

 =indirect(ref_text, [a1])

엑셀 indirect 함수 기본


 ref_text : 받아올 값을 지정하는 부분.

 B3과 같이 단일 셀 값을 넣어도 되고 B3:B10과 같은 범위 값을 넣어도 된다.

 다만 값을 넣을 때는 큰따옴표("")의 사용 유무에 따라서 의미가 완전히 달라지는데 큰따옴표 안에 값을 넣는 경우 지정한 셀의 값을 그대로 가져오지만 큰따옴표를 사용하지 않은 경우에는 지정한 셀의 값을 주소 값으로 인식하여 해당 주소가 가리키는 셀의 값을 가져온다.

ref_text


 예를 들면 B3셀에 값이 'B4'이고 B4의 값이 '서기랑'이라고 가정 한 다음 ref_text 값을 B3로 넣고 각각 큰따옴표를 넣을 때와 넣지 않을 때를 비교해보면 다음과 같은 결과가 나오는 것을 볼 수 있다.

큰따옴표의 차이


 [a1] : 값에 대한 옵션을 지정하는 부분.

 옵션 값은 TRUEFALSE가 있는데 TRUE는 A1 스타일로 일반적인 셀을 선택하는 방식이고 FALSE는 R1C1 스타일로 열과 행의 좌표를 넣는 방식이다.

 []가 있는 만큼 생략도 가능하며 생략하는 경우에는 TRUE 즉 A1 스타일이 된다고 보면 된다.

indirect 함수 옵션


 참고로 R1C1 스타일로 값을 넣을 때는 R[0]C[0]과 같은 형식으로 넣으면 되며 좌표는 A1 셀 기준이 아닌 함수를 사용한 셀을 기준으로 0, 0이 된다.


사용 예

indirect 함수의 간단한 사용 예는 다음과 같다.


 1. 셀을 고정할 때 사용.

 일반적으로 수식에 셀을 고정하기 위해서는 $A$1 과 같은 형식으로 사용한다.

 하지만 이렇게 사용해도 행 이나 열이 추가/삭제 되는 경우에는 이에 맞춰 셀이 변하게 되는데 만약 어떠한 경우라도 변하지 않는 고정 셀을 지정하고 싶다면 indirect 함수를 사용하면 된다.

사용 예 셀 고정에 사용


 2. 다른 시트의 이름 정의 값 사용.

 별다른 설정 없이도 다른 시트에서 정의한 이름 값도 쉽게 가져와서 사용 할 수 있다.

 (참고로 간식 시트는 두 번째 시트이다.)

사용 예 이름 정의 값을 가져올때 사용


 이 외에도 데이터 유효성 검사나 이름 정의 등을 사용하여 다양한 곳에서 활용이 가능 하다.