본문 바로가기
그리고 다른 관심사/어쩔 수 없이 자기계발하기

엑셀 | 여러조건으로 값 손쉽게 찾기 (Index, match, Max 배열함수 사용)

by 기록중독자 2020. 1. 19.

엑셀에서 값을 찾는 함수
01. Vlookup, Hlookup 함수 | 조건 한가지 | 일반함수
02. Index/Match 함수 | 조건 한가지 | 일반함수
03. Index/Match/Max 함수 응용 | 조건 여러가지 | 배열함수

 


처음에 엑셀을 시작할때는, ABC라는 사람의 XX값을 찾기와 같은 단순한 작업을 했기때문에 이럴때 손쉽게 이용한 함수가 Vlookup, Hlookup 이었다. 그리고 더 하여, Index/Match의 조합으로 Reference가 제일 처음에 위치할 수 없을때 많이 사용하였다.

그러나, 모든 자료는 그렇게 단순하지 않고 더 많은 자료의 홍수속에서 나는 후딱 빠르게 올바른 값을 찾아야 한다.

이때 사용할 수 있는 함수는 Index/Match/MAX를 응용한 배열함수 이다.
* 주의 사항 : 엑셀에서 FALSE는 0으로 표현하고, TRUE는 1로 표현함.

< 수식 >
{=INDEX(찾고자하는 내용이 있는 열,MATCH(1,(첫번째 조건=해당 조건이 있는 열)*(두번째 조건=두번째 조건이 있는 열),0))}

[예제]
"배당금-내역"이라는 시트를 만들며, 기존에 "상품별자산-주식" 시트에 작성해 두었던 현재 주식 단가를 끌어 오고자 한다.
단, 이때 종목별 및 날짜별 단가를 각각 가져오도록 한다.

{=INDEX('상품별자산-주식'!F:F,MATCH(1,('상품별자산-주식'!C2='배당금-내역'!B:B)*('배당금-내역'!E2='상품별자산-주식'!A:A),0))}
따라서, 조건 1 (종목)과 조건 2 (날짜)가 맞는 조건을 구하면 각각 1 (TRUE)이니, 해당 내용이 정확히 매칭하는 데이터를 구한다는 식이다.
더하여, 참조하는 열은 하나의 값이 아니라, 열 전체이므로 배열함수 {} 를 필수로 적용해 줘야지만 에러값이 나타나지 않는다.
배열 함수를 적용하는 방법은 모든 수식을 입력 후 컨트롤+쉬프트+엔터를 누르면 자동으로 반영되니 참고하시길 바란다.

참고예제는 맨 아래에 첨부합니다.

배당금-내역 시트
주식관리 복사본.xlsx
0.01MB

반응형