본문 바로가기
#1 엑셀 함수/#1.1 단일 함수

엑셀 INDIRECT 함수 사용법 및 실무 예제

by 이세계의엑셀 2024. 10. 20.
반응형

INDIRECT 함수는 엑셀에서 동적으로 참조를 생성할 수 있게 해주는 매우 유용한 함수로, 텍스트 형식으로 입력된 셀 주소나 범위를 참조하여 해당 값을 반환합니다. 즉, 셀 주소가 수식에 고정되지 않고 동적으로 변경될 수 있어 여러 상황에서 유연한 데이터 참조가 가능합니다. 이 함수는 주로 여러 워크시트 간의 데이터를 동적으로 참조하거나, 특정 조건에 따라 변경되는 셀을 참조하는 경우에 매우 유용합니다.

실무에서 INDIRECT 함수는 동적인 데이터 처리와 참조를 가능하게 함으로써, 다양한 분석 작업에서 중요한 역할을 합니다. 예를 들어, 여러 시트에 분산된 데이터를 하나의 셀에서 통합하거나, 사용자가 선택한 조건에 따라 다른 범위를 참조할 수 있도록 하는 것이 가능합니다. 이는 데이터 관리 및 분석 효율성을 높이는 데 크게 기여합니다.

INDIRECT 함수의 기본 작성 형태

INDIRECT 함수는 기본적으로 텍스트 문자열을 기반으로 참조를 반환합니다. 다음은 함수의 기본 구문입니다:

=INDIRECT(ref_text, [a1])

  • ref_text: 참조할 셀 주소나 범위를 텍스트 형식으로 입력합니다. 이는 엑셀 내에서 동적으로 변동될 수 있는 값입니다.
  • a1 (선택): A1 참조 스타일을 사용할 경우 TRUE, R1C1 참조 스타일을 사용할 경우 FALSE로 설정합니다. 기본값은 TRUE입니다.

INDIRECT 함수는 다른 함수들과 결합하여 동적인 수식을 만들거나, 특정 조건에 맞춰 셀 범위를 유연하게 참조할 수 있습니다. 특히 대규모 데이터를 다룰 때, 이 함수를 통해 보다 효율적인 분석을 수행할 수 있습니다.

INDIRECT 함수의 사용처와 구체적인 예시

INDIRECT 함수는 다양한 실무 환경에서 활용될 수 있으며, 그 중 대표적인 사용 예시를 소개합니다:

반응형

1. 동적 셀 참조 생성

INDIRECT 함수는 특정 셀 주소를 텍스트로 입력하고 이를 참조하는 데 매우 유용합니다. 예를 들어, 셀 주소가 동적으로 변경되는 상황에서 이 함수를 사용하면, 사용자가 입력한 주소에 따라 데이터를 자동으로 참조할 수 있습니다. 아래 예시는 B1 셀에 입력된 텍스트를 기반으로 A1 셀의 값을 참조하는 예시입니다.

  A B
1 데이터 참조 셀 주소
2 100 A1

이 경우, B1 셀에 입력된 "A1"을 참조하여 A1 셀의 값을 가져오려면 다음과 같은 수식을 사용할 수 있습니다:

=INDIRECT(B1)

이 방법을 통해 특정 셀을 동적으로 참조하여, 사용자가 입력한 값에 따라 데이터를 자동으로 불러올 수 있습니다.

2. 여러 시트 간 동적 참조

INDIRECT 함수는 여러 시트 간 데이터를 참조할 때도 매우 유용합니다. 예를 들어, "Sheet2"의 A1 셀에 있는 값을 참조하려면 다음과 같은 수식을 사용할 수 있습니다:

=INDIRECT("Sheet2!A1")

이 수식은 특정 시트의 특정 셀을 동적으로 참조하여 데이터를 가져오는 방법입니다. 특히 여러 시트에서 데이터를 통합할 때 매우 유용합니다.

INDIRECT 함수의 실무형 예제

1. 동적 범위 참조

INDIRECT 함수를 사용하면 특정 범위를 동적으로 참조하여 합계를 계산할 수 있습니다. 예를 들어, 사용자가 C1 셀에 "A1:A5"와 같은 범위를 입력하면, 해당 범위의 합계를 계산할 수 있습니다.

  A B C
1 범위
2 10 20 A1:A2

이 경우, C1 셀에 입력된 범위를 동적으로 참조하여 해당 범위의 합계를 구하려면 다음과 같은 수식을 사용할 수 있습니다:

=SUM(INDIRECT(C1))

이 수식을 사용하면 사용자가 범위를 동적으로 변경할 수 있으며, 그 범위에 해당하는 값의 합계를 자동으로 계산할 수 있습니다.

2. 여러 시트의 데이터 동적 통합

사용자가 입력한 시트 이름에 따라 해당 시트의 특정 셀 값을 참조할 수 있습니다. 예를 들어, C1 셀에 시트 이름을 입력하고, 해당 시트의 A1 셀 값을 가져오려면 다음과 같은 수식을 사용할 수 있습니다:

=INDIRECT("'"&C1&"'!A1")

이 방법을 통해 여러 시트의 데이터를 하나의 셀에서 동적으로 통합하여 분석할 수 있습니다. 시트 이름을 변경하거나, 사용자가 입력하는 시트에 따라 데이터를 자동으로 가져올 수 있어 실무에서 매우 유용합니다.

INDIRECT 함수 사용 시 주의사항

  • INDIRECT 함수는 참조된 셀의 값이 변경될 때마다 실시간으로 계산이 이루어지기 때문에, 참조하는 셀이 많아질 경우 성능이 저하될 수 있습니다.
  • 다른 워크북의 셀을 참조하려면 해당 워크북이 열려 있어야 합니다. 닫힌 워크북을 참조할 경우 #REF! 오류가 발생합니다.
  • 참조하려는 셀 주소나 범위는 반드시 텍스트 형식으로 입력되어야 합니다. 그렇지 않으면 INDIRECT 함수가 제대로 작동하지 않을 수 있습니다.

INDIRECT 문제 예시

다음은 실습 문제입니다. 답을 보려면 마우스로 드래그 하세요.

문제 1: 동적 셀 범위를 참조하여 합계를 계산

다음 표를 기준으로 사용자가 입력한 범위를 참조하여 합계를 계산하는 수식을 작성하세요.

  A B C
1 범위
2 10 20 A1:A2

=SUM(INDIRECT(C1))

  답을 보려면 마우스로 드래그 하세요.

문제 2: 동적으로 시트를 참조하여 셀 값 가져오기

다음 표를 기준으로 사용자가 입력한 시트 이름에 따라 해당 시트의 A1 셀 값을 참조하는 수식을 작성하세요.

  A
1 시트 이름
2 Sheet2

=INDIRECT("'"&A1&"'!A1")

▲ 답을 보려면 마우스로 드래그 하세요.

반응형