[ 기초 강좌 ]
제 75 강
INDIRECT 함수의 응용
INDIRECT 함수
그 사용법을 알아봅니다.
이럴 때 필요해요
상위의 값의 합계를 구하고자 할때 사용할 수 있습니다.
이렇게 사용해요
어느 해외 Spreadsheet 관련 사이트에서 아래와 같은 질문이 눈에 띄었습니다.
I use EXCEL 97 version, and I need to calculate the Sum of the five largest values in a range of 100 cells. (저는 EXCEL 97을 사용하고 있는데, 100개의 셀 중에서 상위 5개 값의 합계를 구하고자 합니다.)
The range isn't sorted, so I can't use a SUM function. Do you have any suggestions about how I could handle this problem? (영역은 정렬이 되어 있지 않으므로 SUM 함수를 사용할 수는 없습니다. 어떻게 하면 이 문제를 해결할 수 있을지 알려 주십시오.) |
(방법. 1) 아마 초보라면 이렇게 하실 것입니다. (아래의 수식에서 사용된 'Stage'는 '이름정의' 한 것입니다.)
423 |
=LARGE(Stage,1)+LARGE(Stage,2)+LARGE(Stage,3)+LARGE(Stage,4)+LARGE(Stage,5)
(방법. 2) 배열수식을 어느 정도 사용할 줄 안다고 생각하는 분은 이렇게 하실 것입니다.
423 |
=SUM(LARGE(Stage,{1,2,3,4,5}))
-처음의 방법보다는 한결 간결해졌지만 아직도 복잡할 수 있습니다.
이것이 만약 상위 5개까지의 합이 아니라, 전체 100개의 자료 중에서 상위 30개 까지의 합을 구해야 한다면?
{1,2,3,4,5,6,7 ...30} 이런 식으로 30개를 일일이 적어 주어야 겠죠.
(방법. 3) INDIRECT( ) 함수와 ROW( ) 함수를 함께 사용하는 방법
423 |
{=SUM(LARGE(Stage,ROW(INDIRECT("1:5"))))}
-INDIRECT( ) 함수와 ROW( )함수를 함께 사용하면 이렇게 간결하게 표현할 수가 있는 것입니다.
만약 상위 10개의 합을 구하고자 한다면, 마지막 5를 10으로 바꾸어 주기만 하면 됩니다.
(응용)
이것은 위 (방법. 3)을 양간 응용해 본 것입니다. 아래 D42셀에 임의의 숫자 (예 :4)를 입력한 다음
D43 셀값의 변화와 '수식입력줄'을 함께 살펴 보시기 바랍니다.
그런데, 위에서 살펴 본 수식 {=SUM(LARGE(Stage,ROW(INDIRECT("1:"&D42))))} 에서 INDIRECT("1:"&D42)는 무슨 의미일까요?
<힌트>
⇒
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.