엑셀 셀 주소 참조 - egsel sel juso chamjo

오늘 이야기할 엑셀 함수는 INDIRECT 함수입니다.

개인적으로는 잘 사용하지 않는 함수이지만 여러 시트의 데이터를 합친다던가 아니면 엑셀 유효성 검사에서 상위 목록, 하위 목록을 지정하기 위해 사용되기도 합니다.

또한 특정 셀을 삭제하였을 때 그 셀을 참조하는 셀은 오류가 나는데 INDIRECT 함수를 사용하면 오류를 피해 갈 수 있습니다.

조금 헷갈릴 수 있는 함수인데 그 사용법 이야기해봅니다.

엑셀 INDIRECT 함수 기본 개념

INDIRECT(ref_text, [a1])

INDIRECT 함수 구문에는 다음과 같은 인수가 사용됩니다.

Ref_text 필수 요소입니다. A1 스타일 참조, R1C1 스타일 참조, 참조로 정의된 이름이 들어 있는 셀에 대한 참조이거나 셀에 대한 텍스트 문자열 참조입니다. ref_text가 유효한 셀 참조가 아닌 경우에는 INDIRECT에서는 #REF! 오류 값이 반환됩니다.

a1 선택 요소입니다. ref_text가 있는 셀의 참조 영역의 유형을 정하는 논리값입니다.

a1이 TRUE이거나 이를 생략하면 ref_text는 A1 스타일의 참조로 해석됩니다.

a1이 FALSE 이면 ref_text는 R1C1 스타일의 참조로 해석됩니다.

엑셀 도움말을 보면 위와 같은 구문을 설명하는데 사실 그리 어렵지 않은데 머리 아픈 거 싫은 분은 그냥 패스, 혹은 가볍게 읽어주시면 됩니다.

엑셀 INDIRECT 함수는 그냥 수식에서 셀 주소를 텍스트로 만들어주면 그 위치의 값이 삭제 또는 이동되더라도 항상 텍스트로 된 셀 주소의 값을 가져오게 됩니다.

엑셀 셀 주소 참조 - egsel sel juso chamjo

위 소녀시대 시험 점수 예제를 보면 A13 셀과 A14 셀에는 값은 같지만 수식은 다르게 되어있습니다.

A14 셀에는 INDIRECT 함수를 사용하여 값이 표시되었는데 이 상태에서 A6행을 삭제하여 어떻게 값이 변하는지 확인해보면 기본 개념을 알 수 있습니다.

엑셀 셀 주소 참조 - egsel sel juso chamjo

A6행에 있던 태연을 삭제하니 그 밑의 제시카가 A6행으로 올라옵니다.

그 결과 일반 수식은 #REF 오류를 내지만 엑셀 INDIRECT 함수는 여전히 A6행을 참조하여 새로 바뀐 제시카라는 답을 내놓습니다.

셀 주소는 텍스트 형식이어야 하므로 반드시 큰따옴표로 묶어주어야 오류가 나지 않습니다.

이것이 INDIRECT 함수의 기본입니다.

엑셀 셀 주소 참조 - egsel sel juso chamjo

엑셀 INDIRECT 함수는 앞서 말씀드린 대로 2개의 인수를 가지게 됩니다.

첫 번째는 텍스트 형태의 셀 주소, 두 번째는 참조 스타일입니다.

수식 입력 시에 콤마로 인수를 구분할 때 위와 같이 두 번째 인수는 FALSE와 TRUE 2가지 중 선택할 수 있습니다.

생략하면 TRUE 스타일이 적용되어 A1 스타일 참조가 적용되며, FALSE를 선택하면 R1C1 스타일로 셀 주소를 참조합니다.

결괏값은 같지만 사용 방식에 차이가 있어서 상황에 맞는 스타일로 적용하면 됩니다.

엑셀 셀 주소 참조 - egsel sel juso chamjo

R1C1 스타일에서 R(ROW)은 행, C(COLUNM)은 열을 뜻하게 됩니다.

따라서 위 수식에서는 6행의 첫 번째 열을 참조하게 됩니다.

아래에서는 몇 가지 INDIRECT 함수 예제를 추가로 확인해봅니다.

엑셀 셀 주소 참조 - egsel sel juso chamjo

INDIRECT 함수에서 A12 셀을 참조하는데 A12 셀은 다시 A6 셀을 참조하기 때문에 최종적으로 태연이라는 결괏값을 출력하게 됩니다.

엑셀 셀 주소 참조 - egsel sel juso chamjo

위 예제는 이름으로 정의된 셀을 참조합니다.

왼쪽 위 이름 상자를 보면 서현의 국어 점수인 B10 셀은 서현국어라는 이름으로 정의된 건을 볼 수 있습니다.

그리고 A14 셀의 수식은 A12 셀을 참조하는데 이름으로 정의된 B10 셀의 값을 가져오게 됩니다.

그 밑의 A15 셀에서는 이름을 직접 수식에 넣어서 해당 위치를 참조하게 되어 두 수식의 값은 동일하게 80이 나오게 됩니다.

엑셀 셀 주소 참조 - egsel sel juso chamjo

이번에는 특수문자 &를 사용하여 문자 A와 A12 셀의 값 숫자 2를 합쳐줍니다.

그러면 A2가 되고 A2 셀을 참조하게 되어 윤아라는 값을 출력하게 됩니다.

INDIRECT 함수의 주의 사항으로는 다른 통합 문서를 참조하는 경우에는 그 통합 문서가 열려 있어야 오류가 발생되지 않습니다.

오늘 이야기 한 엑셀 INDIRECT 함수는 여기까지입니다.

엑셀의 자동화를 위해 반드시 필요한 함수라고 생각되는데 오늘 이야기 어떠셨나요?^^