Today's Agenda

Indirect를 이용하면 참조할 시트를 편하게 바꿀 수 있다


엑셀의 장점 중에 하나는 시트를 매우 여러개 사용할 수 있다는 것이다. 어떻게 보면 파일 하나가 큰 주제가 되고, 각 시트별로 소주제를 나누어 정보를 관리할 수 있는 것이다. 그런데 그러다  보니 시트가 매우 많이 늘어나기도 하고, 유사한 시트가 여러개 생기기도 한다. 예를 들어 실무에서는 '2012년 매출 실적'이라는 엑셀 파일에 '1월', '2월'.... 수 개의 시트가 달려 있기도 하다. 


오늘 얘기하고자 하는 것은 유사한 내용의 시트가 반복될 때 매우 유용하게 사용하실 수 있는 Tip입니다. 년도별 매출 실적을 관리하는 엑셀이 있다고 가정해볼까요? 아래 처럼 말이죠. 

두 개의 시트에 각각 2012년 매출과 2013년 매출이 적혀 있습니다.



그리고 Summary용 시트에서 년도별 실적을 취합하기 위해서는 ='2012'!B3 이렇게 써주면 됩니다. 의미는 2012라는 시트의 B3셀을 참조하라는 뜻이죠. 


불편한 점은 2012시트를 참조할 때와 2013시트를 참조할 때 각각 별도로 지정해줘야 한다는 것입니다. A3나 A4에 적혀있는 내용을 참조해서 자동으로 바뀌면 참 좋겠지요?

아래와 같이 B3셀에 =INDIRECT(A3&"!B3") 요렇게 써주면 A3셀의 내용을 바꿔줄 때마다 내용이 바뀌게 됩니다. A3셀에는 물론 각 시트의 이름과 똑같이 넣어주셔야 되구요.!!!


어떻게 이렇게 되느냐구요? INDIRECT는 주소를 입력해주면 그 주소에 있는 값을 돌려주는 데요. A3에 시트 이름을 넣어주게 되면, A3&"!B3" 이 녀석이 '시트이름!B3' 이렇게 적절한 주소로 변경되게 되는 거죠. 



130704_Sample01.xlsx



p.s 오늘 설명이 뭔가 잘 된 것 같지 않지만, 다시 쓸 상황이 못 되네요. 혹 이해가 잘 안되시는 분은 질문 달아주시면 친절히 답변 드리겠습니다. ^^

AND