논리/엑셀 프로그래밍

2차원을 1차원으로 재정렬 (불규칙 위치 OFFSET 유동참조)

섬그늘 2008. 11. 14. 12:48

http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=I+Mcc31HEykJn7FB4sDDpQchm0qlDdUm

 

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

2

번호

508

전화

91.11.2

 

0

1

2

3

4

0

1

2

3

5

3

성명

Nir

Mobile

 

 

0

0

0

0

0

2

2

2

2

0

4

소속

ANMI

Fax

91.11.3

 

시작

2

 

 

 

반복

8

 

 

 

5

직책

AP

E-mail

cab

 

 

 

 

 

 

 

 

 

 

 

6

주소

a

 

 

 

번호

성명

소속

직책

주소

전화

Mo

Fax

Email

비고

7

비고

aa

 

 

 

508

Nir

ANMI

AP

a

91.11.2

0

91.11.3

cab

aa

8

 

 

 

 

 

509

Aji

ANMI

PPD

b

91.98.3

0

91.33.2

0

bb

9

 

 

 

 

 

510

Bui 

SSC

0

c

84.4.93

0

84.4.94

huy

cc

10

번호

509

전화

91.98.3

 

0

0

0

0

0

0

0

0

0

0

11

성명

Aji

Mobile

 

 

 

 

 

 

 

 

 

 

 

 

12

소속

ANMI

Fax

91.33.2

 

 

 

 

 

 

 

 

 

 

 

13

직책

PPD

E-mail

 

 

 

 

 

 

 

 

 

 

 

 

14

주소

b

 

 

 

 

 

 

 

 

 

 

 

 

 

15

비고

bb

 

 

 

 

 

 

 

 

 

 

 

 

 

16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18

번호

510

전화

84.4.93

 

 

 

 

 

 

 

 

 

 

 

19

성명

Bui 

Mobile

 

 

 

 

 

 

 

 

 

 

 

 

20

소속

SSC

Fax

84.4.94

 

 

 

 

 

 

 

 

 

 

 

21

직책

 

E-mail

huy

 

 

 

 

 

 

 

 

 

 

 

22

주소

c

 

 

 

 

 

 

 

 

 

 

 

 

 

23

비고

cc

 

 

 

 

 

 

 

 

 

 

 

 

 

 

데이타가 Sheet1의 B2:B23에 있을 때, G2:P3와 같이 각 항목의 번호기준 행렬 위치를 입력한 후 H4, M4에 시작행 번호와 반복단위를 기입해둡니다. 그 후,

 

G7 =OFFSET(INDIRECT(ADDRESS((ROW()-ROW($G$7))*$M$4+$H$4,COLUMN($C$2),,,"Sheet1")),G$2,G$3)

 

G7 잡아 오른쪽으로 P7까지 드래그, G7:P7 잡아 아래로 데이타가 다 나올 때 까지 (모두 0이 뜰 때 까지) 채워넣으면 표가 완성됩니다. 데이타가 없어 0으로 찍힌 부분은 나중에 =IF(A1=0,"",A1) 식을 활용하면 빈칸으로 되돌릴 수 있습니다.