달력

122024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

http://kin.naver.com/knowhow/entry.php?eid=8exJH8kaO+SwlbFfPflNJ8AFKSXmUV9e

  A B C
1 목록1 목록2
2 1 a
3 2 b
4 3 c
5 4 d
6 5 e
7 6 f
8 7 g
9 8 h
10 9 i
11 10 j
12 11 k
13 12 l
14 13 m
15 14 n
16 15 o
17 16 p

 

위와 같은 목록에서

 

=VLOOKUP("아",$A$1:$C$17,3,FALSE)

를 하면 값은 h 가 출력됩니다.

 

하지만 값 열의 i의 값을 불러올 수는 없습니다.

 

하지만 목록1과 목록2에서 조건을 주어 값 열의 데이터를 원하는 것으로

불러올 수는 있습니다

 

목록1 목록2
1 a
16 p

 

a 와 p의 값의 수식은

 

=INDIRECT("C"&SUMPRODUCT(($B$2:$B$17=F2)*($C$2:$C$17=G2)*(ROW($D$2:$D$17))))

 

=INDIRECT("C"&SUMPRODUCT(($B$2:$B$17=F3)*($C$2:$C$17=G3)*(ROW($D$2:$D$17))))

입니다

 

여기서 수식 설명입니다

 

SUMPRODUCT(($B$2:$B$17=F3)*($C$2:$C$17=G3)*(ROW($D$2:$D$17)))

 

에서

$B$2:$B$17=F2  는 "가" 일 때만

1의 값을 나머지는 0의 값을 가집니다

 

$C$2:$C$17=G2  는 1 일 때만 1의 값을 가지고 나머지는 0을 가집니다

 

($B$2:$B$17=F2)*($C$2:$C$17=G2)

의 값은

 

1 1 1
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
1 0 0

 

에서 2번째 열의 값으로 배열형태를 취합니다

 

ROW($C$2:$C$17)

는 각각의 셀의 행번호이고

 

2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

의 값으로 배열의 형태를 취합니다

 

여기서

 

sumproduct 함수의 값은

위의 두 수식에서

각각 2와 17을 가집니다

 

그리고

 

마지막으로 indirect 함수를 적용합니다

c 열에서 값을 불러오므로

=Indirect("C"&

 

까지 해서 열의 값을 지정하고 행의 값은 위의 Sumproduct 함수의 결과값으로 지정하면

 

위의 수식은 각각

=Indirect("C2")

=Indirect("C17")

 

이 됩니다

 

최종적으로

 

첫번째 수식=a

두번째 수식=p

의 값을 출력합니다


'excel' 카테고리의 다른 글

사용자 정의 함수 사용하기  (0) 2008.11.11
[함수]문자열자르기 - SEARCH  (0) 2008.11.11
[함수]파일 및 시트명  (0) 2008.09.30
[함수]엑셀함수  (0) 2008.09.30
[함수]indirect - 문자열을 참조로 사용할 때  (0) 2008.09.25
Posted by marryjane
|