|
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
2 |
☞ |
번호 |
제품명 |
제조회사 |
수량 |
|
A업체 |
화일주소 |
|
|
|
3 |
|
2198 |
신라면 |
농심 |
12 |
|
☞ |
번호 |
제품명 |
제조회사 |
수량 |
4 |
|
8238 |
소나타 |
현대자동차 |
3 |
|
☞ |
5209 |
처음처럼 |
두산주조 |
9 |
5 |
☞ |
5209 |
처음처럼 |
두산주조 |
9 |
|
☞ |
5538 |
참이슬 |
진로 |
3 |
6 |
|
2570 |
진라면 |
오뚜기식품 |
24 |
|
☞ |
4323 |
A4 미백 |
신도리코 |
7 |
7 |
☞ |
5538 |
참이슬 |
진로 |
3 |
|
이하여백 |
이하여백 |
이하여백 |
이하여백 |
이하여백 |
8 |
|
8521 |
프라이드 |
기아자동차 |
5 |
|
|
|
|
|
|
9 |
|
4201 |
색연필 |
바른손 |
6 |
|
|
|
|
|
|
10 |
☞ |
4323 |
A4 미백 |
신도리코 |
7 |
|
|
|
|
|
|
11 |
|
4522 |
황화일 |
바른손 |
8 |
|
|
|
|
|
|
H4 =IF(COUNTIF($B$3:$B$11,"☞")=0,"이하여백",INDEX(B$3:B$11,MATCH("☞",$B$3:$B$11,0),1))
H5 =IF(OR(H4="이하여백",H4=""),"",IF(COUNTIF($B$3:$B$11,"☞")<ROW()-ROW(H$3),"이하여백",VLOOKUP("☞",INDIRECT("B"&(MATCH($I4,$C$3:$C$11,0)+ROW(B$2)+1)):$F$11,COLUMN()-COLUMN($H3)+1,FALSE))) ; H4:H5 잡아 L4:L5까지 복사, H5:L5 잡아 데이타 행 만큼 아래로 복사하면 초기작업 완료. 다음은 H:L열의 주문표 양식을 만들어 복사해 둔 후 한 화일을 열어 H4, H5의 수식창의 범위, 주소 셀 앞에 커서 위치, 업체 창의 해당 주소/범위를 클릭/드래그 하면 화일이름이 H4 (H5)주소창에 뜸. 뒤의 주소는 원본 그대로 살리고 엔터 (H4, H5 모두 3회 이렇게 왔다갔다 작업 필요함). 이 작업을 하고 나면 I2 ="'C:\Data\[지식엑셀.xls]Sheet1'!" ; A업체의 화일 경로명 H4 =IF(COUNTIF([지식엑셀.xls]Sheet1!$B$3:$B$11,"☞")=0,"이하여백",INDEX([지식엑셀.xls]Sheet1!B$3:B$11,MATCH("☞",[지식엑셀.xls]Sheet1!$B$3:$B$11,0),1)) H5 =IF(OR(H4="이하여백",H4=""),"",IF(COUNTIF([지식엑셀.xls]Sheet1!$B$3:$B$11,"☞")<ROW()-ROW(H$3),"이하여백",VLOOKUP("☞",INDIRECT($I$2&"B"&(MATCH($I4,[지식엑셀.xls]Sheet1!$C$3:$C$11,0)+ROW(B$2)+1)):INDIRECT($I$2&"F11"),COLUMN()-COLUMN($H3)+1,FALSE))) ; H4:H5 잡아 L4:L5까지 복사, H5:L5 잡아 데이타 행 만큼 아래로 복사하면 링크 작업 끝. 수식 설명 : H4에서 체크가 1개도 없으면 "이하여백" 표시하고 종료. 1개라도 있으면 MATCH로 위치를 검색, INDEX로 H4:L4 데이타 가져옴. H5에서는 위 셀이 "이하여백"이나 빈칸이라면 빈칸, 체크표시를 다 출력했으면 "이하여백" 그렇지 않으면 바로 위 행의 데이타 위치를 MATCH로 탐색, 그 바로 아래 행 부터 체크표시를 VLOOKUP으로 찾아 데이타 출력함. 링크를 위해 화일경로를 I2(어디든 상관 없음)에 넣고 INDIRECT를 걸어 VLOOKUP을 돌리는 것이 위 수식의 핵심임.
(2008.11.13 근데 유효성 검사 한 방에 해결될 터이므로, 위 수식이 필요한 경우가 있긴 있을까? 항상 의문임.)
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
다중조건 맞춤 출력 (0) | 2008.11.13 |
---|---|
근사값을 임의의 갯수 만큼 추출 (0) | 2008.11.13 |
구간별 다른 변수 적용 계산 (0) | 2008.11.13 |
구간별 데이타 합계 (SUMPRODUCT) (0) | 2008.11.13 |
다중 순위 (SUMPRODUCT) (0) | 2008.11.13 |