http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=hxoAszsGBMk1Hdsmr/FpTc4bvpApx8xf
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
1 |
날짜 |
수량 |
기준 |
날짜 |
발생개수 |
|
개수 |
시작 |
끝 |
발생 |
2 |
4월1일 |
1 |
1 |
4월1일 |
2 |
|
4 |
2 |
5 |
2 |
3 |
4월1일 |
0 |
2 |
4월2일 |
1 |
|
3 |
6 |
8 |
1 |
4 |
4월1일 |
5 |
3 |
4월3일 |
#N/A |
|
0 |
#N/A |
#N/A |
#N/A |
5 |
4월1일 |
4 |
4 |
4월4일 |
#N/A |
|
0 |
#N/A |
#N/A |
#N/A |
6 |
4월2일 |
3 |
5 |
4월5일 |
#N/A |
|
0 |
#N/A |
#N/A |
#N/A |
7 |
4월2일 |
7 |
6 |
4월6일 |
#N/A |
|
0 |
#N/A |
#N/A |
#N/A |
8 |
4월2일 |
40 |
7 |
4월7일 |
#N/A |
|
0 |
#N/A |
#N/A |
#N/A |
E2 =SUMPRODUCT((A$2:A$8=D2)*(COUNTIF(INDIRECT("C"&ROW(A$1)+MATCH(D2,A$2:A$8,0)&":C"&SUMPRODUCT(N(A$2:A$8=D2))+ROW(A$1)+MATCH(D2,A$2:A$8,0)-1),B$2:B$8)>0))
E2 의 수식 구조 :
G2 =SUMPRODUCT(N(A$2:A$8=D2))
H2 =ROW(A$1)+MATCH(D2,A$2:A$8,0)
I2 =G2+H2-1
J2 =SUMPRODUCT((A$2:A$8=D2)*(COUNTIF(INDIRECT("C"&H2&":C"&I2),B$2:B$8)>0))
G2:I2를 J2에 밀어 넣어 정리하면 E2가 됩니다 (표의 G:J열은 설명을 위한 것인 바 실전에선 필요 없습니다). E2 잡아 아래로 드래그 복사하면 표가 완성되겠지요. 데이타가 없을 경우 에러 표시가 아니라 0으로 표시되게 하려면 추가 작업을 해주면 되겠지만 여기서는 생략합니다. A열은 같은 날짜가 연이어 있도록 정렬된 상태여야 위 수식이 유효합니다.
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
유동참조 SUM (OFFSET, INDIRECT) (0) | 2008.11.14 |
---|---|
구간 많은 연장근무 시간 계산 (평일/휴일, 실근/연장, 중식/석식) (0) | 2008.11.14 |
1~9 중 7개 숫자 조합 (9C7) (0) | 2008.11.14 |
영업시간 계산 (휴일 제외, 09:00 시작, 끝은 실제로) (0) | 2008.11.14 |
2*n 배열을 n*m 배열로 재정렬 (Dye Size) (0) | 2008.11.14 |