본문 바로가기
엑셀

엑셀 INDIRECT 함수 사용 (엑셀 범위 이름 지정 및 테이블 기능 사용)

by 만년대리 2023. 6. 19.
반응형

엑셀 INDIRECT 함수는 텍스트로 지정된 셀 참조를 직접 참조로 변환하는 함수입니다. 이 함수는 주로 엑셀 LOOKUP 함수 종류에서 범위에 대한 변화가 계속적으로 일어나는 경우 해당 범위의 변화를 INDIRECT 함수로 대체하여 엑셀 자동화 서식을 만드는대에 사용됩니다. 

엑셀 INDIRECT 함수 구문 정의

 

엑셀 IDIRECT 함수의 구문은 아래와 같습니다. 

 

=INDIRECT(참조 문자, [A1])

 

엑셀 INDIRECT 함수 구문 추가 설명

참조 문자셀값, 범위, 테이블, 혹은 시트로 변환할 텍스트 값입니다.

A1은 범위를 불러오는 형식을 지정하는 값입니다. 기입을 안 하시거나 TRUE라고 쓰시면 우리에게 익숙한 형태, 즉 여러 함수에 사용되는 형태인 Column 은 영어로, Row 는 숫자로 변환하는 A1의 형태로 출력하며, FALSE로 지정하면 R1C1의 형식으로 Column과 Row 모두 숫자로 출력합니다. 

 

엑셀 참조 A1 과 R1C1 의 차이점

일반적으로 사용하는 A1의 스타일은 그 글자 그대로 엑셀 시트안에 위치가 고정되어 있지만, R1C1의 숫자형태는 매번 변하는 범위내에서 연결하여 사용한다면 계속적으로 변하는 위치를 지정할 수 있다는 장점이 있습니다. A1의 스타일이 엑셀 기본으로 지정되어 있기에, R1C1의 형태로 변경을 원하실 때에는 옵션에서 수식쪽으로 이동하여 해당 R1C1의 사용을 클릭하시면 되십니다. 

해당 형태는 최소 엑셀 OFFSET 함수ADDRESS 함수에 대해 익숙하게 응용 가능해지셨을 때 사용하시길 권장드립니다. 

 

엑셀 INDIRECT 함수 구문 예시

 

다시 원점으로 돌아와서, 엑셀 INDIRECT 함수에 대한 정의가 무엇인지 2가지 함수를 비교하여 보여 드리며 설명 드리겠습니다.

 

아래에는 C5 셀에 5억 원이라는 문자가 있습니다. 그 5억 원의 문자가 있는 셀의 주소를 D5열에 문자로 입력하였습니다.

F5 셀에는 C5라는 문자가 적혀 있는 값을 아래와 같이 구문 하였습니다.

 

F5 cell =D5

출력되는 값은 당연히 C5라는 문자입니다. 

 

이 문자를 범위로 변경하여 C5셀에 있는 5억 원이라는 문자를 불러오기 위해 엑셀 INDIRECT 함수를 사용하겠습니다.

 

F6 cell =INDIRECT(D5)

출력되는 값은 5억 원입니다. INDIRECT 함수가 D5 셀에 입력된 C5라는 문자를 범위로 변환하여 C5에 있는 5억 원이라는 문자를 출력하였습니다. 

INDIRECT 함수를 사용하여 텍스트를 범위로 변환하여 지정하였습니다.

 

엑셀 INDIRECT 함수 사용 방법

범위를 사용하는 함수에서 엑셀 INDIRECT 함수는 엑셀자동서식 및 엑셀자동수식을 만드는데 필수적인 요소로 사용됩니다. 

 

엑셀 SUM 함수 종류들과, 엑셀 LOOKUP 함수 종류들에게 있어 각 함수들의 응용 범위를 높여주는 역할을 하는 것이 엑셀 INDIRECT 함수입니다. 개인적으로 가장 즐겨 쓰는 방식은 엑셀 INDEX MATCH 함수의 수식을 작성하고 각각의 엑셀 SHEET에 여러 데이터를 테이블의 이름을 지정하여 저장한 후, 엑셀 INDIRECT 함수를 사용하여 범위, 세로항목, 가로항목 총 3가지를 계속적으로 변경하여도 자동으로 원하는 값을 불러올 수 있는 방식으로 많이 사용합니다. (추후 해당 주제도 다루어 포스팅하겠습니다.)

 

엑셀 INDEX MATCH 함수에 대한 기본적인 정보가 필요하신 분들을 위해 아래의 링크를 남깁니다. 

 

 

엑셀 INDEX MATCH 함수 정의 및 활용 (VLOOKUP 대체 함수)

엑셀 INDEX MATCH 함수는 2개의 별개 함수이지만, 늘 VLOOKUP 대체 함수를 대표하는 함수로 함께 불려지고 있습니다. LOOKUP 함수 중 활용도와 응용도는 INDEX MATCH 함수가 가장 효율적이라고 할 수 있습니

kimexcel.tistory.com

 

엑셀 INDIRECT 함수와 범위 이름지정

엑셀 INDIRECT 함수를 SUM 함수 안에 사용하여 텍스트로 이름 지어진 범위의 값에 따른 총합을 구했습니다. 

 

G3 셀에 있는 "오전판매"는 C4:C13의 범위에 지정한 이름이며, G4 셀에 있는 "오후판매"는 D4:D13의 범위에 지정한 이름입니다. 

범위 이름지정은 아래의 엑셀 INDIRECT함수와 SUM함수의 조합을 설명 후 추가 설명 하도록 하겠습니다. 

엑셀 INDIRECT 함수를 우선 이해하기 위해서 "오전판매", "오후판매"는 각각의 범위의 이름이다라고 인식 부탁 드립니다. 

 

H3셀과 H4셀에 각각 오전판매, 오후판매의 총합을 구하기 위해 엑셀 INDIRECT 함수 구문을 SUM 함수 안에 아래와 같이 구문 하였습니다.

 

H3 cell = SUM(INDIRECT(G3))

작성한 엑셀 SUM INDIRECT는 범위의 이름을 입력할 때마다 총합을 보여주는 엑셀자동수식으로 활용이 되었습니다. 

엑셀 INDIRECT 함수와 범위 이름 지정 기능을 활용하여 원하는을 값을 출력하였습니다.

 

엑셀 범위 이름 지정 방법

 

엑셀 범위를 지정한 후 원하는 이름으로 설정을 원할 경우 아래와 같이 실시합니다. 

 

첫 번째, 지정할 범위를 선택합니다. 

 

두 번째, 좌측 상단의 수식 입력칸 왼쪽의 상자에 원하는 지정 이름을 입력합니다. 

 

엑셀 범위 지정 방법

 

엑셀 INDIRECT 함수와 테이블 기능 사용

엑셀 INDIRECT 함수와 엑셀 테이블 설정 기능을 사용하여 엑셀 VLOOKUP 함수를 엑셀 자동수식으로 사용될 수 있도록 구문을 작성하였습니다. 엑셀 테이블 설정에 대해서는 아래에 추가적으로 설명드리도록 하고, 우선 엑셀 INDIRECT 함수를 VLOOKUP 함수에 활용한 아래의 테이블을 설명드리도록 하겠습니다. 

 

"테이블 이름"으로 C3:E13의 테이블로 지정된 범위를 정의하였습니다. 이후 "홍길동"의 오후판매에 대해서 VLOOKUP 함수를 사용하여 출력하여하기 위해 엑셀 INDIRECT 함수를 활용하여 아래와 같은 구문으로 입력하였습니다. 

 

H3 cell =VLOOKUP("홍길동",INDIRECT(G3),4,0)

 

엑셀 INDIRECT 함수와 테이블 기능을 조합하여 VLOOKUP 함수에 입력하였습니다.

 

엑셀 VLOOKUP 함수에 대한 응용방법에 대해 궁금하신 분들을 위해 아래 링크를 남깁니다.

 

 

엑셀 VLOOKUP 함수 절대참조와 열위치 및 MATCH 함수 조합

엑셀 VLOOKUP 함수를 사용하다 보면, 여러 값을 가져오기 위해 여러 번의 VLOOKUP 함수를 사용할 경우가 있습니다. 이 경우 단 한번의 VLOOKUP 함수 수식으로 원본데이터에서 원하는 모든 값을 불러오

kimexcel.tistory.com

 

엑셀 테이블 기능 활용 및 이름 지정 방법

엑셀 테이블 기능은 지정한 범위의 데이터를 필터링, 서식지정, 데이터 유효성 검사, 테이블 이름 및 범위 자동 지정 등을 포함하여 테이블 도구 탭에 엑셀이 제공하는 모든 기능을 손쉽게 사용할 수 있는 방법입니다. 엑셀 PIVOT 기능과 연결하여 엑셀 데이터 자동화 분석 파일을 만들 수 있는 초석이 되는 기능입니다. 추후 해당 기능에 대해서도 심화하여 알아보도록 하겠습니다. 

 

우선 오늘은 엑셀 테이블 기능을 어떻게 설정하는지에 알아보도록 하겠습니다. 

 

1) 테이블 기능을 사용할 범위를 우선 지정하여 주십니다.

2) HOME 버튼이 있는 상단의 기능으로 이동하여 삽입(INSERT)으로 이동하여 하위 기능을 열어 줍니다.

3) 열린 하위 기능 중 TABLE을 클릭합니다.

4) 클릭 이후 뜬 팝업에 테이블 범위를 확인하신 후 OK를 눌러 줍니다. 

5) 위에서 설명드린 엑셀 범위 지정과 같이 원하는 이름을 지정하여 줍니다. 

 

엑셀 테이블 기능 설정 하는 방법입니다.

엑셀 INDIRECT 함수 사용을 위해 INDIRECT 함수의 간단한 정의 및 일반 함수와 다른 차이점을 알아보았으며, 범위를 지정하여 엑셀 SUM 함수의 범위 변화를, 테이블 기능을 사용하여 엑셀 VLOOKUP 함수의 범위 변화를 줄 수 있도록 엑셀 INDIRECT 함수를 활용해 보았습니다. 

반응형