티스토리 뷰

반응형

엑셀을 쓰다 보면, 간접적으로 셀 주소를 지정해야 할 때가 있습니다.
예를 들어 셀 참조를 함수 안에서 동적으로 바꾸거나, 유효성 검사(드롭다운) 목록을 자동으로 연결하고 싶을 때죠.
이럴 때 쓰는 함수가 바로 INDIRECT() 입니다.


🔹 기본 개념: INDIRECT는 “텍스트를 셀 주소로 바꿔주는 함수”

=INDIRECT("A1")

이 수식은 “A1이라는 텍스트”를 실제 셀 주소로 인식해서, A1 셀의 값을 가져옵니다.
즉, 따옴표 안의 글자를 주소로 읽는 것이에요.

예를 들어,

  • A1 셀에 100이 입력되어 있다면
  • =INDIRECT("A1") → 결과는 100

반면에 단순히 =A1이라고 하면 A1 셀을 직접 참조하는 것이고,
INDIRECT("A1")은 문자열을 주소로 변환해서 간접적으로 참조하는 것입니다.


🔹 그럼 INDIRECT(A1) 과 INDIRECT("A1") 의 차이는?

이게 헷갈리는 포인트입니다 👇

수식 의미 결과
=INDIRECT("A1") “A1”이라는 문자열을 주소로 인식 A1의 값
=INDIRECT(A1) A1 셀 안의 내용을 주소로 해석 A1에 “B2”가 들어 있으면 B2의 값

즉,

  • 따옴표를 넣으면 고정된 셀 참조
  • 따옴표 없이 쓰면, 셀 안에 적힌 주소나 이름 범위를 불러옴

🔹 표(테이블 이름)를 이용한 간접 참조

질문처럼 표를 만들고 이름을 “가격”라고 지정했다고 해볼게요.
(상단 메뉴 → 수식 탭 > 이름 관리자에서 이름 정의 가능)

이제 유효성 검사(데이터 유효성 목록)에서 “가격”의 목록을 불러오고 싶다면,
그 이름을 직접 쓰는 것이 아니라 INDIRECT 함수로 감싸야 합니다.

=INDIRECT("가격")
=INDIRECT(A4)

👉 이유는 ‘데이터 유효성 검사’의 목록 입력란은 문자 그대로 인식하기 때문이에요.
따옴표 없이 “가격”라고 쓰면 텍스트로만 읽히고,
INDIRECT("가격")라고 써야 “이건 이름 범위니까 연결해줘”라고 인식합니다.

또는 INDIRECT(A4) 로 셀 주소를 따옴표(" ") 없이 입력해 줘도 됩니다.

출처 - 내 엑셀


🔹 예시로 이해해보기

구분 설명
가격 A1:A5 범위를 이름으로 지정 (“가격”)
유효성 검사 드롭다운 목록을 “=INDIRECT("가격")” 로 설정

이렇게 하면 “가격”에 포함된 값들이 자동으로 드롭다운에 표시됩니다.
만약 나중에 “가격” 범위를 수정하더라도,
유효성 검사는 자동으로 반영되죠. (바로 이게 INDIRECT의 장점입니다.)


💡 정리하자면

함수 의미 사용 예시
INDIRECT("A1") 텍스트를 주소로 인식 A1 셀의 값 가져오기
INDIRECT(A1) A1의 내용(주소)을 다시 참조 A1에 “B2”가 있으면 B2의 값
INDIRECT("이름정의") 이름으로 지정된 범위를 참조 유효성 검사, 표 자동 연결 등

✅ 한줄 요약

“INDIRECT는 텍스트를 주소처럼 읽게 만드는 함수입니다.
유효성 검사나 동적 참조를 쓸 때 ‘INDIRECT("이름")’ 형태로 써야
엑셀이 그 이름을 실제 범위로 인식합니다.”


📌 Tip:

  • INDIRECT는 다른 시트의 범위도 참조할 수 있습니다.
    예: =INDIRECT("Sheet2!A1") → Sheet2의 A1 값 불러오기
  • 단, 너무 많이 쓰면 계산 속도가 느려질 수 있으니 필요한 곳에만 사용하세요.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함
반응형