이 글에서는 INDIRECT 함수와 VLOOKUP 함수 이 2가지를 같이 사용해서 다른 시트에 있는 값을 가져오는 방법을 알아보겠습니다. 즉, 엑셀 다른 시트 값 가져오기 INDIRECT 활용 방법 입니다.
엑셀 다른 시트 값 가져오기
먼저 예시 데이터부터 확인해 볼게요.
아래 사진은 ‘종합검색’ 시트에 나와 있는 데이터입니다.

그리고 아래 사진은 ‘서울’ 시트에 나와 있는 데이터예요.

부산, 광주, 경기도, 인천 시트에도 각각 각 지점에 해당되는 문구류 가격이 다 다르게 나와 있죠.
이때 ‘종합검색’ 시트에서 ‘지점명’ 칸에 지점을 입력했을 때 해당되는 지점의 가격이 바로 나오게 하는 방법을 알아볼게요.

1.VLOOKUP 함수만 이용해서 다른 시트의 값 가져오는 방법
두 가지 방법을 통해서 다른 시트의 값을 가져올 수 있는데요.
첫 번째 방법은 VLOOKUP 함수만 이용해서 가져오는 방법입니다.
먼저 C3셀에 VLOOKUP 함수를 입력해 주고요. 찾을 값인 B3셀을 선택해 줍니다.

그 후 ‘서울’ 시트로 가서 B3:C8 범위를 선택해 줍니다.

이렇게 범위를 선택을 하는 이유는 우리가 찾을 값인 연필이 들어 있는 원본 데이터가 ‘서울’ 시트의 B3:C18 범위이기 때문입니다.
그 후 콤마를 입력하고 2를 입력하고, 콤마를 입력하고 0을 입력하고 괄호를 닫아주시면 되는데요.
=VLOOKUP(B3,서울!B3:C8,2,0)

여기서 VLOOKUP 함수 3번째 인수에 2를 입력한 이유는 우리가 가져올 값인 ‘가격’ 이 ‘서울’ 시트의 B3:C8 범위 내에서 2번째 열에 위치하고 있기 때문입니다.
그리고 0을 입력하는 이유는 정확한 값을 가져오기 위함이에요.
그리고 엔터 키를 누르면 아래와 같이 서울 지점의 연필 가격이 바로 반환됩니다.

그리고 아래쪽으로 자동 채우기를 해주면 돼요.

자 그런데 문제가 있습니다.
여기서 ‘지점명’ E3 셀에 ‘서울’ 이라고 입력되어 있는 것을 ‘부산’ 으로 바꿔서 입력을 해 봤는데요.

가격이 전혀 변동이 없죠? 원래라면 ‘부산’ 지점에 해당되는 가격으로 바뀌어야 되는데 말이죠.
따라서 지점명 E3셀에 각각의 지점명을 입력했을 때 해당 지점명의 가격이 바로 나오도록 하는 방법을 알아보겠습니다.
그러기 위해서는 VLOOKUP 함수와 INDIRECT 함수 이 2가지를 같이 사용해야 됩니다.
2.VLOOKUP 함수와 INDIRECT 함수 같이 사용해서 다른 시트 값 가져오기
자 먼저 아래 사진처럼 VLOOKUP 함수를 입력해 줍니다.

그리고 INDIRECT 함수를 VLOOKUP 함수 두 번째 인수에 바로 입력을 해 주면 되는데요.
아래와 같이 함수식을 입력해 주면 됩니다.

=VLOOKUP(B3,INDIRECT(“‘”&$E$3&”‘!$B$3:$C$8”),2,0)
우리가 다른 시트를 선택하면 시트명! 이런 형태로 다른 시트가 입력됩니다.
그리고 다른 시트명을 직접 입력하는 경우에는 ‘시트명’! 이 형태로 입력을 해 주셔야 돼요. 즉, 작은 따옴표를 시트명 전후로 반드시 입력을 해줘야 된다는 것입니다.
이러한 이유로 INDIRECT 함수를 위와 같이 입력 한 거예요.
그리고 엔터 키를 누르면 아래와 같이 ‘서울’ 지점의 연필 가격이 바로 나오게 되고요.

아래쪽으로 자동 채우기를 해줍니다.

그리고 이번엔 지점명을 ‘광주’ 로 바꿔 볼게요. 그랬더니 광주에 해당되는 가격이 바로 나오고요.

지점명을 ‘부산’ 으로 바꿨더니 ‘부산’ 에 해당되는 가격이 바로 나오게 됩니다.

추천글
이상 엑셀 다른 시트 값 가져오기 INDIRECT 활용 방법에 관한 글이었습니다.
