index match 함수, 이렇게 중첩 사용!
오늘 이 포스팅을 위해서 지난 글에서 index 함수와 match 함수를 익혔습니다. 드디어 오늘 index match 함수를 중첩하여 간단한 프로그램을 만들어 보겠습니다.
우리가 엑셀에서 표를 작성할 때 보통 행단위로 머릿글을 작성하고 열단위로 머릿글을 작성하여 아래 처럼 표를 만들어 데이터를 입력합니다. 이 표는 행단위로는 호봉을 나열하였고 열단위로는 직급 나열하여 호봉별 직급별 기본급표를 만들었습니다.
표 안에 있는 숫자 데이터는 가로 좌표(행 번호)와 세로 좌표(열 번호)를 갖게 됩니다.
Index 함수는 좌표를 입력하면 그 위치에 해당하는 셀에 입력된 데이터를 출력해주고,
Match 함수는 특정 데이터의 좌표를 출력해 줍니다.
이 두 함수를 중첩하여 가로와 세로가 만나는 곳에 있는 데이터를 가져와 출력해주는 간단한 프로그램을 엑셀에서 만들어 보겠습니다. 위 표를 데이터베이스로하여 호봉과 직급을 입력하면 그에 해당하는 기본급을 출력하는 퍼포먼스를 실행해 볼 것 입니다.
1. 우선 호봉, 직급, 기본급 칸을 만든다.
2. 기본급 칸에 함수를 입력한다. =index(
3. 마우스로 드래그하여 범위를 지정한다. =index(B2:D9,
4. match 함수를 입력한다. =index(B2:D9,match(
6. 호봉 입력하는 셀의 주소를 적는다. =index(B2:D9,match(G2,
7. 호봉이 행단위로 입력된 부분을 드래그하여 범위 지정한다. =index(B2:D9,match(G2,A2:A9,
8. 일치하는 값을 찾는 것이니까 0을 입력한다. =index(B2:D9,match(G2,A2:A9,0),
9. 다시 match 함수를 입력한다. =index(B2:D9,match(G2,A2:A9,0),match(
10. 직급 입력하는 셀의 주소를 적는다. =index(B2:D9,match(G2,A2:A9,0),match(G3,
11. 직급이 열단위로 입력된 부분을 드래그하여 범위 지정한다.
=index(B2:D9,match(G2,A2:A9,0),match(G3,B1:D1,
12. 일치하는 값을 찾는 것이니까 0을 입력한다.
=index(B2:D9,match(G2,A2:A9,0),match(G3,B1:D1,0))
13. 이제 함수식이 완성되었으니, 샘플로 호봉 칸에 "3호봉"을 입력하고 직급 칸에 "대리"를 입력해 보자. 아래와 같이 3호봉 대리의 기본급이 출력 된다.