논리/엑셀 프로그래밍

날짜별 세로표를 가로표로 재정렬

섬그늘 2008. 11. 14. 11:15

B

C

D

E

F

G

H

I

J

2

일자

프로그램

수량

 

가로

4

J5

 

 

3

2007-01-01

엑셀

2

 

세로

6

F10

 

 

4

2007-01-01

한글

2

 

 

 

 

 

 

5

2007-01-01

훈민

2

 

2007-01-01

엑셀

한글

훈민

노트

6

2007-01-02

파워

4

 

 

2

2

2

38

7

2007-01-02

알집

4

 

2007-01-02

파워

알집

엑셀

 

8

2007-01-03

곰플

96

 

 

4

4

1

 

9

2007-01-03

노트

29

 

2007-01-03

곰플

노트

 

 

10

2007-01-02

엑셀

1

 

 

96

29

 

 

11

2007-01-01

노트

38

 

 

 

아래 수식 중 G2, F5, G5는 수식 입력 후 CTRL+SHIFT+ENTER 해야 합니다. (배열 수식)

 

G2 =MAX(COUNTIF(B3:B11,B3:B11))

H2 =ADDRESS(ROW($F$5),COLUMN($F$5)+G2,4,1)

G3 =(SUMPRODUCT(1/COUNTIF(B3:B11,B3:B11)))*2

H3 =ADDRESS(ROW($F$5)+G3-1,COLUMN($F$5),4,1)

 

F5 =IF(F4="",MIN(IF(COUNTIF(F4:F$4,B$3:B$11)=0,B$3:B$11)),"") ; 입력 후 셀 서식-날짜 표시로 지정.

G5 =IF(MOD(ROW(),2)=0,IF(G4="","",SUMPRODUCT(($B$3:$B$11=$F4)*($C$3:$C$11=G4)*$D$3:$D$11)),IF(COLUMN()-COLUMN($F5)>COUNTIF($B$3:$B$11,$F5),"",INDEX($C$3:$C$11,MATCH(1,(COUNTIF(F5:$F5,$C$3:$C$11)=0)*($B$3:$B$11=$F5),0),1)))

 

; G5 잡아 H2의 주소(예시에서는 J5)까지 복사, F5:J5 잡아 아래로 H3의 주소(예시에서는 F10) 까지 채워 넣으면 작업 끝. 단, 위 예시에서는 시작셀을 F5로 두었는데 짝수 행에서 시작하려면 G5의 MOD(ROW(),2)=0 부분을 MOD(ROW(),2)=1 로 바꿔 주어야 합니다.

'논리 > 엑셀 프로그래밍' 카테고리의 다른 글

숫자대로 데이타 나열   (0) 2008.11.14
순차 주사위 경우의 수 순번   (0) 2008.11.14
군대달력 날짜 변환   (0) 2008.11.14
2차원 보간법 수치 찾기  (0) 2008.11.14
복소수 4칙연산 체계 기초  (0) 2008.11.14