논리/엑셀 프로그래밍

가로 세로 위치로 데이타 가져오기 (INDEX, MATCH, V/HLOOKUP, OFFSET)

섬그늘 2009. 1. 19. 10:55

방명록에 보이지않는손 님께서 올려주신, "가로와 세로의 데이타만 기입하면 가로와 세로가 만나는 부분의 데이타가 선택되도록 할 수 있는 엑셀 함수", 몇 가지가 있을 겁니다. 아래 예시에서는 가로의 '병', 세로의

 '화'를 입력했을 때 가로 세로가 만나는 부분의 데이타 13을 출력하도록 하는 방식이 4가지 정도 있겠네요. 

 

 

A

B

C

D

E

F

G

H

I

1

 

 

가로

2

1

2

3

4

5

 

세로

3

6

7

8

9

10

 

결과

13

4

11

12

13

14

15

 

 

13

5

16

17

18

19

20

 

 

13

6

21

22

23

24

25

 

 

13

 

I3 =INDEX(B2:F6,MATCH(I1,B1:F1,0),MATCH(I2,A2:A6,0))
I4 =VLOOKUP(I2,A1:F6,MATCH(I1,A1:F1,0),0)
I5 =HLOOKUP(I1,A1:F6,MATCH(I2,A1:A6,0),0)
I6 =OFFSET(A1,MATCH(I2,A2:A6,0),MATCH(I1,B1:F1,0))

 

즉, 일차원 데이타 중의 위치를 가져오는 MATCH 함수를 쓰는 것이 가장 개념적으로 이해하기 쉬운 바, 그걸 활용한 네 가지 수식이 모두 같은 결과를 가져 옵니다. MATCH를 쓰지 않고도 해결할 수 있는 방법이 있을지는 모르겠습니다.