• 최초 작성일: 2006-03-08
  • 최종 수정일: 2026-09-26
  • 조회수: 24 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 배열 수식에서 3차원 참조하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

원본 강의의 질문과 설명, 예제, 단계별 이미지를 원본의 흐름에 맞춰 복원했습니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

배열 수식에서 3차원 참조하기

핵심 요약

  • 배열 수식에서 3차원 참조하기의 핵심 기능과 실제 활용 방법을 단계별로 살펴봅니다.
  • 배열수식, 3차원참조, INDIRECT를 중심으로 원본 강의의 예제와 수식, 설정 방법을 확인할 수 있습니다.
  • 원본 강의의 설명과 예제 흐름을 따라가며 실무에서 활용할 수 있는 방법을 익힐 수 있습니다.

강의 내용

예제 파일을 내려받으려면 여기를 클릭하세요.

Exceller 님의 강의(?) 를 신봉하는 차원으로 보구 있습니다.

저도 성이 안동 권씨인지라 더욱이 반갑습니다…

"Sumif 함수에서 3차원 참조하기" 파일을 보구 나름대로 응용해 보던 중

막히는 부분이 생겼거든요? Exceller 님의 강좌5 에서(X0217),

거기에선 sheet1,sheet2,sheet3 시트별로 옆의 데이터가 있잖아요

지점명 매출액
강동 790
강서 829
강남 256
강북 959
부산 837
대구 675
대전 451
광주 32
제주 899

그리고 지점이"강남"인 곳의 매출액을 구할 때 함수 구문이

  =SUM(SUMIF(INDIRECT(B88:B90&"!a2:a10"),B96,(INDIRECT(B88:B90&"!b2:b10"))))

이런 형태로 배열 수식으로 구한다는걸 알았습니다. 그런데 만약 지점에

지점명 미스터김 미스터리 미스터박 미스터권 미스터김
강동 7900 8000 8100 8100 미스터리
강서 8500 8700 8500 8600 미스터박
강남 1000 1100 1000 1200 미스터권
강북 1250 1400 1250 1450
부산 3500 3700 3600 3600
대구 2200 2400 2250 2400
대전 2400 2500 2550 2600
광주 5400 5500 5500 5800
제주 2600 2900 2700 2700

이런 데이터가 시트별로 있다고 가정하고…제가 나름대로 정리를 해보았는데요

전 Exceller 님께서 만든 함수식 그대로 적용하면 되겠구나 하고… 이렇게

시트 이름을 정해주고..

 =SUM(VLOOKUP(B33,INDIRECT(I26:I28&"!A1:E10"),C31,FALSE))

이런 식으로vlookup 함수를 적용해 봤더니 값이 오류가 납니다.

이걸 Sumif 함수를 사용할 수도 없는 걸로 알고 있습니다.

이런 때에는 어떻게 해결해야 하는지요?

알려주시면 감사하겠으며, 늘 하시는 일에 성공이 깃들길 바랍니다.

강의를 신봉하는 차원에서 보신다니 한편으론 반갑고 다른 한편으론

부담이 가기도 하고 그렇습니다. ^^

3차원 참조(3D reference)란 다른 워크시트의 내용을 참조하는 것을 말합니다.

Sheet1~Sheet3 시트를 보면, 다음과 같은 형태의 데이터가 들어있습니다.

0402 단계별 설명 이미지 1
아이엑셀러

이것을... 지점명뿐만 아니라 조건을 한 가지 더 추가해서, 지점과 영업사원을

선택하면 Sheet1~Sheet3 시트의 내용들을 모두 합산할 수 없겠느냐 하는 것입니다.

아래에서 지점명과 영업사원을 다양하게 선택함에 따라 매출액이 어떻게 변하는지

확인해 보시기 바랍니다.

지점명 영업사원 매출액
3 4 =SUM(SUMIF(INDIRECT("Sheet"&{1,2,3}&"!"&ADDRESS(지점명,영업사원명)),">0"))
=B81+1 =C81+1

어떻습니까! 잘 되지요?

이미 알고 계신 바와 같이, Indirect 함수를 사용하면 3차원 참조를 할 수가 있습니다.

사용된 수식은 다음과 같습니다.

 {=SUM(SUMIF(INDIRECT("Sheet"&{1,2,3}&"!"&ADDRESS(지점명,영업사원명)),">0"))}

여기서 Indirect 함수의 인수로 세 개의 시트명을 지정하기 위해 중괄호({})를

이용하여 배열 형태로 전달한 것과, 각 시트에서 해당 정보가 어디에 있는지를

알려주기 위해 Address 함수를 중첩해서 사용한 것을 눈여겨 보시기 바랍니다.

그리고 '지점명'과 '영업사원명'은 두 개의 콤보 상자와 연결되어 있는 셀에

'이름 정의'를 해 둔 것입니다. 이렇게 하면 중간에 행이나 열이 삽입되거나

삭제되어도 변함없이 유효한 값을 가져올 수 있습니다.

배열의 형태로 자료를 계산해야 하므로 Ctrl + Shift + Enter 키를 함께 눌러

수식을 마무리(즉, 배열 수식) 한다는 것을 잊으시면 안되겠지요?

다음에 또…