22.아래 워크시트에서 일자[A2:A7], 제품명[B2:B7], 수량[C2:C7], [A9:C13] 영역을 이용하여 금액[D2:D7]을 배열수식으로 계산하고자 한다. 다음 중 [D2] 셀에 입력된 수식으로 옳은 것은? (단, 금액은 단가*수량으로 계산하며, 단가는 [A9:C13] 영역을 참조하여 구함)

해설
{=INDEX($C$10:$C$13, MATCH(MONTH(A2)&B2, B10:B13&A10:A13, 0))*C2} 이 수식의 경우 INDEX, MATCH, MONTH 3개를 같이 중첩하여 배열수식으로 사용을 했는데요. 여기서 주목하셔야 할 부분이 MATCH 함수를 쓴 부분을 잘 보셔야 합니다. MATCH 함수는 찾을값에 대해서 찾을범위 안에서 몇번째 위치에 있는지 상대적인 위치 값을 반환해서 나타내주는 역할을 합니다. 함수 형태가 다음과 같습니다. ※ MATCH 함수 형태 =MATCH(찾을값, 찾을범위, 옵션) 일반적인 형태는 이 형태입니다. 가령 예를 들어서 =MATCH(2, A1:A10, 0) 이렇게 적었으면 2 가 A1:A10 범위 안에서 몇번째에 위치해 있는지 정확하게 찾으라는 이야기입니다. 옵션을 0을 적은 이유는 정확하게 몇번째에 위치해 있는지 찾을 때 쓰는겁니다. 근데 지금의 문제는 조건이 2개입니다. 조건을 2개를 받아야 하는 상황인데 일자의 월과 제품명 이 2개를 동시에 받아야 하는 상황입니다. 일자, 월은 날짜 중에서 월만 추출해주는 함수인 MONTH 함수를 이용해 월만 추출을 하면 되구요. 따라서 이런 경우는 MATCH 함수에서는 다음과 같은 형태로 사용이 됩니다. MATCH (조건1&조건2, 첫번째범위&두번째범위, 0) 조건1하고 조건2 사이에 & 로 결합을 해주거든요. &는 연결하는 연산자 역할을 합니다. 또한 찾을 범위도 쓸 때 첫번째범위(월 범위)와 두번째 범위(제품명 범위)를 &로 결합을 해주었습니다. 따라서 MATCH 함수를 쓸 때 MATCH(MONTH(A2)&B2, B10:B13&A10:A13, 0) 이렇게 쓴 것입니다. 찾을값 : MONTH(A2)&B2 찾을범위 : B10:B13&A10:A13 옵션 : 0 INDEX 함수는 지정된 범위에서 행, 열에 위치하고 있는 값을 반환하여 나타내주는 함수입니다. ※ INDEX 함수 형태 =INDEX(범위, 행, 열) 따라서 수식을 나누어서 쓰면 이렇게 되겠습니다. =INDEX($C$10:$C$13, MATCH(MONTH(A2)&B2, B10:B13&A10:A13, 0))*C2 범위 : $C$10:$C$13 <-- 배열수식을 이용시 범위는 절대참조로 고정하여 잡습니다. 행 : MATCH(MONTH(A2)&B2, B10:B13&A10:A13, 0)) 열 : 생략 이렇게 계산되어 나온 INDEX 값에 마지막으로 C2가 곱해지는 것입니다. [해설 작성자 : 자격증 따기, 필기망했다] [동영상 해설 보기]