안녕하세요. 오랜만에 엑셀 함수 포스팅을 올리네요.
오늘은 indirect 함수에 대해 알아보겠습니다.
살짝 중고급 함수라고 할 수 있는데요.
하지만 실무에서 정말 유용하게 쓰이는 함수 중에 하나입니다.
실제로 저도 굉장히 많이 쓰고 있고요.
INDIRECT 함수를 한마디로 설명하자면 시트 특정 위치 값을 찾아오는 함수입니다.
예제로 바로 알아보겠습니다.
위와 같은 예제가 있다고 가정해봅시다.
바로 보이는 종합 시트에 회사별 재무 현황을 종합해야 하는 상황입니다.
각 회사별 재무 자료는 뒤에 시트인 1,2,3번 시트에 각각 자료가 있는 상황이고요.
예제로 3개만 넣었지만 실무에서는 수십, 수백 개 시트가 더 있을 수 있겠죠?
1번 시트에는 위와 같이 자료가 있습니다. 2번, 3번 시트도 동일 위치에 동일 양식으로 값만 다르게 있습니다.
이런 상황에서 종합 시트에 값을 다 가져올 때 INDIRECT 함수를 쓰면 한 번에 가져올 수가 있습니다.
만약 VLOOKUP함수를 쓴다고 가정하면 각 시트마다 일일이 수식을 별도로 걸어줘야 합니다.
위 상황이면 세 번을 걸어야 하지만 시트가 100개라면 100번 VLOOKUP을 걸어야 하는 거죠.
그냥 노가다(?)로 값을 가져오는 거와 별반 다르지 않겠죠?
그럼 INDIRECT 함수 들어갑니다.
수식은 =INDIRECT($B3&"!$C$3")입니다.
하나하나 뜯어보죠.
INDIRECT 함수는 특정 시트에 특정 셀 위치 값을 가져오는 함수이기 때문에 시트 이름과 셀 위치만 설명해주면 원하는 값을 가져올 수 있습니다.
시트 이름과 셀 위치에 대한 개념을 좀 더 쉽게 이해하려면 아래 사진에 있는 식을 보시면 됩니다.
똑같이 100이라는 A사 매출 값을 가져왔는데 식이 다르죠?
이건 그냥 수동으로 시트에서 값을 가져온 것입니다.
그래서 그냥 수식에 시트 이름과 셀 위치만 표시된 것이지요.
위에 있는 INDIRECT에 있는 식은 바로 위에 있는 식인 ='1'! C3의 위치를 설정해준다고 보시면 됩니다.
이제 수식을 다시 보겠습니다.
=INDIRECT($B3&"!$C$3")
$B3는 시트 이름인 1을 가져오는 값이고,
&는 뒤에 나오는 식과 합쳐주기 위함입니다.
"!$C$3"에서 문자이기 때문에 ""로 감싸줍니다.
그리고 주의할 점이 있는데! 가 꼭 들어가야 합니다.
왜 그런지는 방금 전에 말한 시트와 셀 위치 수식을 보시면 이해 가질 겁니다.
각 시트 이름 뒤에! 가 들어가기 때문에 꼭 붙여줘야 합니다.
그리고 매출 값이 있는 셀 위치인 C3를 입력하고 절댓값을 씌워주면 수식이 완성됩니다.
나머지 영업이익과 당시순이익은 C를 D로 그리고 E로 바꿔주기만하면 됩니다.
동영상으로 보고 마무리 하겠습니다.
'엑셀 > 함수' 카테고리의 다른 글
엑셀 DATEDIF 날짜계산 함수로 근속년수 계산하기 (0) | 2021.01.10 |
---|---|
엑셀 date 함수 사용법 (0) | 2021.01.09 |
엑셀 COUNT,COUNTA,COUNTBLANK 함수 사용법 (0) | 2020.10.12 |
엑셀 TRIM함수 사용 법 (셀 공백 없애기) (0) | 2020.09.18 |
엑셀 IFERROR 함수 쓰는 방법 (0) | 2020.09.12 |
댓글