http://kin.naver.com/detail/detail.php?d1id=1&dir_id=1050202&eid=97+vxOl6dIcRX1HsuVR3Y5RYBZgMGAtj
|
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
2 |
가로 |
세로 |
색상 |
수량 |
|
6% |
|
4,000 |
6,000 |
|
|
|
|
|
|
3 |
4,400 |
2,300 |
빨강 |
2 |
|
4,664 |
2,438 |
0.8576 |
1.2864 |
4,700 |
4 |
1.641 |
2.461 |
4,900 |
2 |
4 |
3,000 |
2,300 |
파랑 |
4 |
|
3,180 |
2,438 |
1.2579 |
1.8868 |
4,000 |
8 |
1.641 |
2.461 |
4,900 |
4 |
5 |
1,600 |
2,300 |
노랑 |
3 |
|
1,696 |
2,438 |
2.3585 |
3.5377 |
5,100 |
2 |
1.641 |
2.461 |
4,900 |
3 |
6 |
2,200 |
3,100 |
빨강 |
5 |
|
2,332 |
3,286 |
1.7153 |
2.5729 |
4,700 |
5 |
1.217 |
1.826 |
4,000 |
10 |
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
빨강 |
4,700 |
4 |
|
|
|
|
9 |
|
|
|
|
|
|
|
|
빨강 |
4,900 |
2 |
|
|
|
|
10 |
|
|
|
|
|
|
|
|
파랑 |
4,000 |
8 |
|
|
|
|
11 |
|
|
|
|
|
|
|
|
파랑 |
4,900 |
4 |
|
|
|
|
12 |
|
|
|
|
|
|
|
|
노랑 |
5,100 |
2 |
|
|
|
|
13 |
|
|
|
|
|
|
|
|
노랑 |
4,900 |
3 |
|
|
|
|
14 |
|
|
|
|
|
|
|
|
빨강 |
4,700 |
5 |
|
|
|
|
15 |
|
|
|
|
|
|
|
|
빨강 |
4,000 |
10 |
|
|
|
|
16 |
|
|
|
|
|
|
|
|
0 |
- |
0 |
G3 =B3*(1+$G$2) ; H3에 복사
I3 =I$2/$G3 ; J3에 복사
K3 =IF(INT(I3)<INT(J3),ROUNDUP(INT(J3)*G3,-2),$I$2)
L3 =IF(K3>$I$2,ROUNDUP(G3*$E3*2/K3,0),$E3*2)
M3 =I$2/$H3 ; N3에 복사
O3 =IF(INT(M3)<INT(N3),ROUNDUP(INT(N3)*H3,-2),$I$2)
P3 =IF(O3>$I$2,ROUNDUP(H3*$E3*2/O3,0),$E3*2)
J8 =OFFSET($D$3,INT((ROW(A1)-1)/2),0)
K8 =OFFSET(K$3,INT((ROW(A1)-1)/2),MOD(ROW(A1)-1,2)*4) ; L8에 복사
이제 G3:P3 잡아 데이타 행 만큼 아래로, J8:L8 잡아 아래로 모든 데이타가 다 나올 때 까지 (색상열에 0이 뜰 때 까지) 채워넣으면 표가 완성됩니다. 이후 J8:L8 이하를 잡아 피벗테이블로 만들어 보는 편이 좋겠지요. 아쉬운 대로 '문제가 생기지 않는 정도'의 답은 구할 수 있을 겁니다.
즉, 이 정도면 질문은 충족될 겁니다. 다만 거듭 말씀드리는 바, 이런 유형의 문제가 어려운 것이 위 방식이 '최적해'가 아니라는 점입니다. 예로써 1,600이 1개, 3,000이 1개 각각 올라왔을 때 4,600을 사서 자르면 되겠지만 이렇듯 짜투리를 최소화하는 최적 조합까지 위 수식이 잡아내 주지는 못합니다. (모든 경우의 조합을 구해야 하므로 엄청난 작업이 됨)
더 나아가 제시된 6% 로스율은 아마도 짜투리(전체 자재구매량-사용량)/구매량이 일반적일 겁니다. 길이가 길다고 더 긴 짜투리가 생기지는 않을 테니까. 작업손실로 발생한다면 일정길이를 넣어주어야 할 겁니다. 거기다가 10cm씩 증가하더라도 단위길이당 가격이 같다면 별 문제 없지만 가격이 달라지는 경우는 가격표가 함께 고려되어야 프로그래밍이 의미 있을 것이고, 그 정도 코딩은 아마추어 수준을 훨씬 벗어납니다.
'논리 > 엑셀 프로그래밍' 카테고리의 다른 글
지정된 기간 중 해당 요일 개수 구하기 (0) | 2008.11.14 |
---|---|
0530, 0541...불특정 개수 행을 1차원 열로 재배열 (0) | 2008.11.14 |
기록 점수 계산 (50m달리기 vs. 팔굽혀 매달리기) (0) | 2008.11.14 |
빈셀 제외 조합 자동 출력, 해당 승수 구하기 (소소닭) (0) | 2008.11.14 |
한번에 여러 셀 불러오기 (F 11) (0) | 2008.11.14 |