오랜만에 엑셀 포스팅 시작!
VLOOKUP 함수를 사용할 때 불편했던 점을 보완할 수 있는 INDEX, MATCH 함수를 알아보자.
VLOOKUP 함수를 사용하는 경우 범위에서 검색할 값을 오른쪽에서만 찾을 수 있지만 INDEX, MATCH함수를 활용하면 왼쪽에서도 값을 찾을 수 있다.
예제파일 기본데이터 탭에 아래와 같은 데이터가 있다.
여기에서 아래와 같은 표에 데이터를 찾아서 넣어주려면
VLOOKUP을 사용하는 경우 [순번]에 값을 찾기 위해서는 기본데이터를 일부 수정하여 순번을 학생명 오른쪽으로 옮긴다던지 해야 값을 구할 수 있다.
하지만 INDEX, MATCH 함수를 활용하면 찾고자하는 값의 왼쪽에 있는 데이터를 구할 수 있다.
C2의 값을 찾으려고 할 때 _ 강OO의 학교 데이터를 가져올 때
VLOOKUP을 사용하는 경우
=VLOOKUP(검색할값,검색데이터범위,몇번째열,논리값)
=VLOOKUP(B2,$B$1:$G$8,2,FALSE)
=VLOOKUP(B2,$B$1:$G$8,2,FALSE) .. 강OO의 데이터 값이 있는 위치
=VLOOKUP(B2,$B$1:$G$8,2,FALSE) .. 데이터 전체 범위
=VLOOKUP(B2,$B$1:$G$8,2,FALSE) .. 데이터 전체 범위에서 찾고자 하는 열의 위치 첫번째 열부터 1이다. (여기서는 B열이 1)
=VLOOKUP(B2,$B$1:$G$8,2,FALSE) .. 논리값, B2와 정확하게 맞는 값을 찾고자 하면 FALSE 비슷한값은 TRUE
INDEX, MATCH를 사용하면 아래와 같다.
=INDEX(찾고자하는데이터, MATCH(검색할 값,검색데이터범위,일치유형_0,정확히일치), )
=INDEX($C$2:$C$8,MATCH(B2,$B$2:$B$8,0),)
=INDEX($C$2:$C$8,MATCH(B2,$B$2:$B$8,0), ) .. 찾고자 하는 데이터가 있는 위치
=INDEX($C$2:$C$8,MATCH(B2,$B$2:$B$8,0), ) .. 검색할 값
=INDEX($C$2:$C$8,MATCH(B2,$B$2:$B$8,0), ) .. 검색데이터범위
=INDEX($C$2:$C$8,MATCH(B2,$B$2:$B$8,0), ) .. 일치유형 _ 0 정확히일치 1 보다 작음 -1 보다 큼
=INDEX($C$2:$C$8,MATCH(B2,$B$2:$B$8,0), ) .. INDEX 함수는 행번호_MATCH(B2,$B$2:$B$8,0) 가 지정되면 열번호는 입력하지 않아도 된다. 그리고 여기서 찾는 범위는 1개의 행이기 때문에 입력이 필요없다. 굳이 입력하고자 한다면 1이 맞다.
위에 적은 것과 같이 찾고자 하는 데이터가 기준열 왼쪽에 있는 경우에도 똑같이 사용하면 된다.
순번데이터를 가져올때는 찾고자 하는 데이터가 있는 위치를 수정해주면 된다.
=INDEX($A$2:$A$8,MATCH(B2,$B$2:$B$8,0),)
이런식으로 말이다.
INDEX, MATCH를 사용하면 검색조건이 다중조건일때도 값을 찾을 수 있고,
데이터목록에서 중복값을 제거한 데이터만 표시될 수 있게 수식을 짤 수도 있다.
위 내용은 다음 포스팅에~
'엑셀' 카테고리의 다른 글
[EXCEL/엑셀] INDEX, MATCH 함수 중복값 제거 (COUNTIF 활용) (1) | 2025.03.17 |
---|---|
[EXCEL/엑셀] INDEX, MATCH 함수 다중조건으로 값 찾기 (0) | 2025.03.14 |
[EXCEL/엑셀] LEN 함수로 금액 표시 하기 (0) | 2025.02.24 |
[EXCEL/엑셀] VLOOKUP 함수2 2가지 기준으로 값 찾기, 2개 이상의 값 찾기(FEAT.COUNTIF) (0) | 2025.02.23 |
[EXCEL/엑셀] COUNTIF, COUNTIFS 기본 사용법 (0) | 2025.02.21 |