Excel – 수식 : Indirect, Address

안녕하세요, 채랑이 아빠 프리아입니다.

오늘은 조금 기분이 별로인 하루입니다…..
고객사로부터 오늘가지 자료 제출해 달라고 해서 아침부터 급하게 자료를 만들기 시작해서 점심때쯤 마무리 단계에 다달았는데
갑자기 연락이 와서 필요없다네요….. 이게 몬가요 ㅠ.ㅠ

급하게 하느라고 다른일도 못하고 있었는데… 에혀

여담은 여기까지만 하고, 오늘은 Indirect 함수와 Address 함수에 대해서 설명드릴께요.
어떻게 보면 많이 쓸일이 없을지도 몰라요.
하지만 잘 사용하기만 한다면 무지 좋은 기능을 가지고 있기도 합니다.(제 생각입니다 ㅋ)

Indirect 함수는 임의의 글자를 셀이름으로 변환해 주는 명령어 입니다.
무슨 뜻인지 조금 애매하지요? ㅎㅎㅎ
기본적으로 엑셀에서 다른 셀을 참조하려면 다음과 같이 함수를 사용합니다.

=A1

그러면 A1의 데이터를 가져오는 형식이죠.
그런데, C1셀에는 A가 D1셀에는 1이 들어가 있는 상태에서, 다음과 같은 식을 써 넣으면 어떻게 될까요?

=C1&D1

정답은 “A1″이라는 글자가 당겨오게 되어 있습니다.
만약 저렇게 조합해서 A1셀의 데이터를 가져오고 싶다면 어떻게 해야 할까요?
네 맞습니다. 이럴때 사용하는 함수가 Indirect 입니다.

=INDIRECT(C1&D1,TRUE)

이렇게 입력을 하면 C1&D1의 조합이 A1이기 때문에 A1에 있는 데이터를 가져오는 것이죠.
저기 보이는 마지막의 TRUE는 무엇인가 하면, A1스타일이라는 것입니다. ㅎㅎㅎ
즉 우리가 부르는 셀의 이름 스타일을 True로 정의하고 있습니다.
반대로 False는 R1C1 스타일이라고 하는데요, 행번호-열번호 스타일입니다.
즉 R1C1은 1번행의 1번열이므로 A1이 됩니다. 즉, 각 셀을 번호로 호출하게 하는 것입니다.

위의 내용을 정리하면 다음과 같이 됩니다.

어떻게 이용할지는 아직 잘 모르시겠죠?
이용방법은 Address 명령어를 설명드리고, 응용하는 방법을 설명드리겠습니다.

Address 함수는 Indirect의 R1C1 스타일과 같다고 생각하시면 됩니다.
다만, R과 C라는 글자를 넣지 않고 행번호, 열번호로 이루어진다는 것이 차이점입니다.
다양한 사용법이 있지만 Address를 많이 쓰지 않기 때문에 단순 사용법만 알려드릴께요.
(사실 Address 함수는 Indirect명령어와 같이 쓰지 않으면 큰 의미는 없는데, 다른 사용법을 쓰실거면 그냥 Indirect명령어만 쓰는것이 더 낫습니다.)

=ADDRESS(row_num, column_num)

상기와 같이 입력하면 되며, Row1, Column 1을 입력하면 $A$1 이라는 값을 리턴합니다.
즉, 주소의 절대참조가 지정되는 것이지요.
그리고 말 그대로 주소가 리턴되기 때문에 주소에 대한 결과가 리턴되는 것은 아닙니다.
그래서 제대로 사용하려면 Indirect 명령과 혼합해서 사용해야 합니다.

=INDIRECT(ADDRESS(1,1),TRUE)

이렇게 말입니다.
예제는 다음과 같습니다.

자 이제 이걸 어디에 쓸것이냐 하면, 바로 Match, Index 명령어에 사용할 예정입니다.
궁금하신가요? ㅎㅎㅎ
일단 도서용 검색을 위한 프로그램이라고 가정하고 다음과 같이 사용할 수 있습니다.

별건 아니고, 일단 검색 기준과 출력 내용을 정하여 결과물을 출력하는 내용입니다.
보시면 책 제목 “고양이 해결사 깜냥 2″의 출판사를 물어본 결과입니다.
(고양이 해결사 깜냥은 우리 채랑이가 좋아하는 책입니다. ㅎㅎ TMI)

보다시피 Match, Index, Indirect, Address 4개의 명령어를 잘 사용하면 위와 같은 검색 프로그램을 만들 수가 있습니다.

정말 다양한 검색을 하기위해서는 추가로, 수식이 필요하겠지만 단순한 검색용도로는 충분합니다.
대충 감이 잡히시나요? 한번씩 해보시면 쉽게 이해하실 수 있으실 거에요.
어쩌면 많이 사용할 일은 없겠지만, 그래도 하나씩 알아두면 나쁘지 않을 것 같습니다.

자 오늘도 여기까지 쓰겠습니다. 좋은 하루 되세요 ^^

댓글 달기

error: Content is protected !!