엑셀 참조함수 index, match 등 몇가지 예제
vlookup이나 hlookup과 같은 기능을 index와 match 함수로도 구현할 수 있다고 한다.
참고할 블로그, http://lamp1004.kr/110038749032
http://fkshtm00.blog.me/10041435487
아래는 오픈오피스 도움말 파일에서 참고하였다.
-------------------------------------
INDEX(참조;행 값을 반환할 범위지정;참조범위의 열인덱스;범위) 정의된 범위에서 셀 참조를 구함
If cells B1, B2, B3 contain 5, red and 6 and cells C1, C2, C3 contain TRUE, 3 and blue:-
INDEX(B1:C3; 1; 1)
returns 5.
INDEX(B1:C3; 3; 2)
returns blue.
INDEX(B1:B3; 2)
returns red.
INDEX(B1:C2; 1; 2)
returns TRUE.
INDEX(B3:C3; 2)
returns blue.
--------------------------------------------------------------------------------
match(검색기준; lookup_array; 유형) 값을 비교한 후 배열의 위치를 지정
=MATCH(200;D1:D100)은 D열인 D1:D100 영역에서 200을 찾습니다.
이 값을 찾으면 해당 열 번호가 반환됩니다. 만약 이보다 높은 값을 찾게 되면 이전 열의 번호가 반환됩니다.
--------------------------------------------------------------------------------
choose(색인;값1;값2;...) 최대30개인수목록에서값을 선택
=CHOOSE(A1;B1;B2;B3;"오늘";"어제";"내일")을 입력한다고 가정하면
A1이 2일 경우 결과값은 B2 셀의 값이 되고 A1 셀의 값이 4일 경우는 문자열 "오늘"이 됩니다.
--------------------------------------------------------------------------
indirect(ref; A1) 텍스트형식으로 참조된 셀의 내용을 구함
address함수와 같이 쓰이며 R1C1 형식으로 사용한다.
------------------------------------------------------------------
offset(참조;행;단;높이;너비) 시작위치와 비교하여 이동한 참조를 구함
=OFFSET(A1;2;2)은 A1에서부터 두행 아래, 두열 오른쪽으로 이동한 셀인 C3 셀의 값을
참조해 돌려줍니다. 만일 C3 셀이 100 이란 값을 가지고 있다면 이 함수의 결과값도
100이 될 것입니다.
=OFFSET(B2:C3;1;1)은 B2:C3 에서 아래로 한 행, 오른쪽으로 한 열 이동한 C3:D4 에 대한
참조를 반환합니다.
=OFFSET(B2:C3;-1;-1) 는 B2:C3을 참조해 1행 위로, 1열 왼쪽으로 이동시킵니다.
=OFFSET(B2:C3;0;0;3;4)는 B2:C3에 대한 참조값을 B2:E4의 3행 4열로 크기를 조절해서 돌려줍니다.
=OFFSET(B2:C3;1;0;3;4)는 B2:C3 에서 아래쪽으로 한 행을 늘인 B2:E4 에 대한 참조를 반환합니다.
=SUM(OFFSET(A1;2;2;5;6))는 A1에서 아래로 2행, 오른쪽으로 2열 떨어진 C3 셀에서부터
세로 5행, 가로 6열 영역(C3:H7) 안의 값을 합산하는 수식입니다.