VLOOKUP & INDIRECT – 동적 범위 – Excel 및 Google 스프레드시트
이 튜토리얼에서는 INDIRECT 함수를 사용하여 Excel 및 Google 스프레드시트에서 조회 범위를 정의하는 방법을 보여드립니다.
INDIRECT 및 VLOOKUP
특정 셀 값에 따라 한 번에 여러 범위에 대해 VLOOKUP을 수행해야 할 수도 있습니다. 이 경우 조회 범위를 정의하거나 여러 시트에 대한 동적 참조를 만드는 데 사용할 수 있는 INDIRECT 함수가 한 가지 옵션입니다.
=VLOOKUP($B3,INDIRECT("'"&C$2&"'!"&"B3:C5"),2,FALSE)
여기에서는 모든 시트에 B3:C5 범위의 데이터가 있습니다. 각 시트에 대해 VLOOKUP 수식을 작성하는 대신 INDIRECT 함수를 사용하여 시트를 동적으로 참조할 수 있습니다.
INDIRECT – 동적 조회 범위
C3의 조회 범위는 다음과 같아야 합니다.
'2018!'B3:C5
따라서 INDIRECT 함수 내에서 해당 범위를 생성하는 수식을 작성하기만 하면 됩니다.
"'"&C$2&"'!"&"B3:C5"
(&)를 사용하여 연도(C$2)가 포함된 부분적으로 고정된 셀 참조와 함께 텍스트를 병합합니다. 그런 다음 수식을 범위 전체에 복사하면 INDIRECT 함수가 각 열에 필요한 시트를 출력합니다.
CHOOSE 및 VLOOKUP
INDIRECT 함수의 특징은 “변동성”입니다. Excel이 수행될 때마다 다시 계산하므로 통합 문서의 계산 속도가 느려질 수 있습니다.
대신, 이 경우 CHOOSE 함수가 더 나은 대안이 될 수 있습니다. CHOOSE 함수를 사용하면 목록에서 출력할 내용을 ‘선택’할 수 있습니다.
=CHOOSE(C2,VLOOKUP(B3,'2018'!B3:C5,2,FALSE),VLOOKUP(B3,'2019'!B3:C5,2,FALSE),VLOOKUP(B3,'2020'!B3:C5,2,FALSE))
이 예제에서 CHOOSE 함수의 목록은 가능한 각 VLOOKUP 수식입니다. 각 범위는 입력되어 있으며 각 셀은 세 시트를 모두 참조합니다. 2행의 인덱스 값은 함수에 목록의 어떤 요소를 사용할지, 즉 조회를 수행할 시트를 알려줍니다.
Google 스프레드시트의 조회 및 간접 함수
이 수식은 Google 스프레드시트에서도 Excel에서와 동일하게 작동합니다.