[[20190123081242]] 『制約条件を考慮した出荷日にしたいです』(てつ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『制約条件を考慮した出荷日にしたいです』(てつ)

制約条件を考慮した出荷日にしたいです。

下記がサンプルですが、
(ステータス)のF列の出荷日は別シートで基本出荷日があるのでそこから抽出しています。
ただ、(基本仕様)のF列の制約条件を考慮させて13行目のように3/1と自動で入力したいです。

(基本仕様)のF列の制約条件は業者の保管上限数です。

VBAでも関数でもどちらでも良いです。

 (SHEET名:基本仕様)	
   A	  	B	 	C   		D	E		F		
 1  No  	会社名		取扱い品 	出荷数	標準工期       制約条件
 2   1		山本商事	リンゴ		5	15		-
 3   2		山本商事	バナナ		10	20		1
 4   3		佐藤商事 	ミカン		10	4		2
 5   4		佐藤商事   	スイカ		1	30		-
 6   5		小林電機 	桃		5	22		4
 7   6		ヤマダ重工	メロン		1	21		-
 8   7		ヤマダ重工	柿		3	15		-
 9   8		ヤマダ重工	ブドウ		3	10		-
 10  9		高橋産業 	梨		5	6		3
 11  10		高橋産業	マンゴ		2	8			

 (SHEET名:ステータス)
   A	  	B	 	C   		D		E	F		G	  		
 1  No  	作業回数  	会社名		取扱い品 	出荷数	出荷日		標準工期	
 2   1		第1弾		山本商事	リンゴ		5	1/31		15		
 3   2		第1弾		山本商事	バナナ		10	1/31		20		
 4   3		第1弾		佐藤商事 	ミカン		10	1/31		4		
 5   4		第1弾		佐藤商事	スイカ		1	1/31		30		
 6   5		第1弾		小林電機 	桃		5	1/31		22		
 7   6		第1弾		ヤマダ重工	メロン		1	1/31		21		
 8   7		第1弾		ヤマダ重工	柿		3	1/31		15		
 9   8		第1弾		ヤマダ重工	ブドウ		3	1/31		10		
 10  9		第1弾		高橋産業 	梨		5	1/31		6	
 11  10		第1弾		高橋産業	マンゴ		2	1/31		8		
 12  1		第2弾		山本商事	リンゴ		5	2/15		15		
 13  2		第2弾		山本商事        バナナ		10	3/1		20		
 14  3		第2弾		佐藤商事 	ミカン		10	2/15		4		
 15  4		第2弾		佐藤商事	スイカ		1	2/15		30		
 16  5		第2弾		小林電機 	桃		5	2/15		22		
 17  6		第2弾		ヤマダ重工	メロン		1	2/15		21		
 18  7		第2弾		ヤマダ重工	柿		3	2/15		15		
 19  8		第2弾		ヤマダ重工	ブドウ		3	2/15		10		
 20  9		第2弾		高橋産業 	梨		5	2/15		6		
 21  10		第2弾		高橋産業	マンゴ		2	2/15		8		

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 制約条件1だと 2/15 が 3/1になるルールがわからないんすけど。。。。
 ※ほかの2とか3とか。。。。も。
(GobGob) 2019/01/23(水) 09:05

(GobGob)さん

早速の回答ありがとうございます。
3/1は、第1弾で出荷日が1/15なのでその間は、
制約条件が1しかないので、出荷できないです。

出荷できるのは出荷日1/15に対して標準工期20(日)を加えた
作業完了日(1/15+20(日)=3/1(土日祝日は除く))という計算から抽出しました。

他の2とか3は、会社の保管条件数であり、この数字以上は出荷できないようにしたいです。
出荷可能になるのは、前の作業完了日後になります。

作業完了日は、(ステータス)の列に入れておいた方が良かったですね。。。。
(てつ) 2019/01/23(水) 09:20


 例では第1弾は出荷日 1/30になってるけど。。。

 早い話

 第2弾以降の出荷日を

 = 第1弾の出荷日 + (制約設定数値 × 20日)

 ってことでいいの?

 ※ この20日ってのは固定? 月度で変化?
(GobGob) 2019/01/23(水) 09:37

 >※ この20日ってのは固定? 月度で変化?

 これは勘違いでしたw
(GobGob) 2019/01/23(水) 09:39

 あと、13行目以外で、モノで工期が違うのに出荷日は 一律2/15なのはなぜ?
 これもなんかルールあるの?
(GobGob) 2019/01/23(水) 09:43

 >F列の出荷日は別シートで基本出荷日があるのでそこから抽出しています。
 制約がない場合(あっても工期が間に合う場合も?)はその別シートのデータを持ってくるということでは?
(ねむねむ) 2019/01/23(水) 09:46

 ねむねむさんのコメントでなんとなく見えてきましたw。

 制約条件回毎の弾のときは

 = 前回の出荷日 + 標準工期日数(稼働日)

 ってことでOK?
(GobGob) 2019/01/23(水) 10:08

 けど、、、よくよく考えたら 1/15 + 20日 って土日含んでも 3/1にならない。。。。
(GobGob) 2019/01/23(水) 10:20

 一応。

 A12 =IFERROR(MOD(COUNTIF(A$12:A12,A12),INDEX(基本仕様!$F$2:$F$11,A12)+1)=INDEX(基本仕様!$F$2:$F$11,A12),FALSE)

 これで 第n弾が制約条件の回数目(第一弾除く)かどうかわかるんで
 計算処理してみては?

 ※注意、A12セル(第二弾から)っす。 
(GobGob) 2019/01/23(水) 10:26

回答ではないですが

> 3/1は、第1弾で出荷日が1/15なのでその間は、
> 制約条件が1しかないので、出荷できないです。
> 出荷できるのは出荷日1/15に対して標準工期20(日)を加えた
> 作業完了日(1/15+20(日)=3/1(土日祝日は除く))という計算から抽出しました。

上記のてつさんの記述が恐らくミス(1/31と2/15が混ざってる)で、

3/1は、第1弾で出荷日が1/31なのでその間は、
制約条件が1しかないので、出荷できないです。
出荷できるのは出荷日1/31に対して標準工期20(日)を加えた
作業完了日(1/31+20(日)=3/1(土日祝日は除く))という計算から抽出しました。

ですかね。

(ご近所PG) 2019/01/23(水) 10:33


 ご近所PGさん回答からなんとなく理解w

 「基本仕様」 シート

	A	B	C	D	E	F
1	No	会社名	取扱品 	出荷数	標準	制約
2	1	山本	リンゴ	5	15	-
3	2	山本	バナナ	10	20	1
4	3	佐藤 	ミカン	10	4	2
5	4	佐藤   	スイカ	1	30	-
6	5	小林 	桃	5	22	4
7	6	ヤ重工	メロン	1	21	-
8	7	ヤ重工	柿	3	15	-
9	8	ヤ重工	ブドウ	3	10	-
10	9	高橋 	梨	5	6	3
11	10	高橋	マンゴ	2	8	-
12						

 「ステータス」 シート

	A	B	C	D	E	F	G
1	No	回数	会社名	取扱品	出荷数	出荷日	標準
2	1	第1弾	山本	リンゴ	5	1/31	15
3	2	第1弾	山本	バナナ	10	1/31	20
4	3	第1弾	佐藤	ミカン	10	1/31	4
5	4	第1弾	佐藤	スイカ	1	1/31	30
6	5	第1弾	小林	桃	5	1/31	22
7	6	第1弾	ヤ重工	メロン	1	1/31	21
8	7	第1弾	ヤ重工	柿	3	1/31	15
9	8	第1弾	ヤ重工	ブドウ	3	1/31	10
10	9	第1弾	高橋	梨	5	1/31	6
11	10	第1弾	高橋	マンゴ	2	1/31	8
12	1	第2弾	山本	リンゴ	5	2/15	15
13	2	第2弾	山本	バナナ	10	3/1	20
14	3	第2弾	佐藤	ミカン	10	2/15	4
15	4	第2弾	佐藤	スイカ	1	2/15	30
16	5	第2弾	小林	桃	5	2/15	22
17	6	第2弾	ヤ重工	メロン	1	2/15	21
18	7	第2弾	ヤ重工	柿	3	2/15	15
19	8	第2弾	ヤ重工	ブドウ	3	2/15	10
20	9	第2弾	高橋	梨	5	2/15	6
21	10	第2弾	高橋	マンゴ	2	2/15	8
22							

 A12 =IF(IFERROR(MOD(COUNTIF(A$12:A12,A12),INDEX(基本仕様!$F$2:$F$11,A12)+1)=INDEX(基本仕様!$F$2:$F$11,A12),FALSE),WORKDAY(A2,G12+1,※祝日リスト),※別シートから出荷日だす数式)

 下へコピー。

 ※のところはそちらで設定してください。
(GobGob) 2019/01/23(水) 10:46

GobGobさん
数式は理解しきれていないですが、
この数式はA12に書くのでよいのです?F12かな?
(ご近所PG) 2019/01/23(水) 13:19

 F12でしたw。すんません。

 ついでに WORKDAY(A2,G12+1) は WORKDAY(F2,G12+1)の間違いでした。

 F12 =IF(IFERROR(MOD(COUNTIF(A$12:A12,A12),INDEX(基本仕様!$F$2:$F$11,A12)+1)=INDEX(基本仕様!$F$2:$F$11,A12),FALSE),WORKDAY(F2,G12+1,※祝日リスト),※別シートから出荷日だす数式)

 ※のところはそちらで設定してください。
(GobGob) 2019/01/23(水) 13:32

皆さま
ありがとうござます!
まだ実行できてないですが、
拙い文にもかかわらず作っていただい事に先に感謝します!
(てつ) 2019/01/23(水) 18:06

実際にやってみました。
ただ、上手くできなかったので今一度ご相談させてください。
以下のようにアレンジしていました。
その内容でNo.1のみ教えて戴いた関数を入れて走られましたが、
制約条件(2に増やしてみました)に第3弾以降が制約条件を無視してしまいました。

何を間違えてしまったか今一度教えてください。

  (SHEET名:基本仕様)	
No  会社名	       取扱い品 	出荷数	標準工期 制約条件
1	山本商事	リンゴ		5	15       2
2	山本商事	バナナ		10	20    	 1
3	佐藤商事 	ミカン		10	4	2
4	佐藤商事   	スイカ		1	30	-
5	小林電機 	桃		5	22	4
6	ヤマダ重工	メロン		1	21	-
7	ヤマダ重工	柿		3	15	-
8	ヤマダ重工	ブドウ		3	10	-
9	高橋産業 	梨		5	6	3
10	高橋産業	マンゴ		2	8	-

 (SHEET名:ステータス)
No  作業回数 会社名		取扱い品 	出荷数	出荷日	標準工期	業者作業完了日
1	第1弾	山本商事	リンゴ		5	1月31日	40		3月29日
2	第1弾	山本商事	バナナ		10	1月31日	20		3月1日
3	第1弾	佐藤商事 	ミカン		10	1月31日	4		2月7日
4	第1弾	佐藤商事	スイカ		1	1月31日	30		3月15日
5	第1弾	小林電機 	桃		5	1月31日	22		3月5日
6	第1弾	ヤマダ重工	メロン		1	1月31日	21		3月4日
7	第1弾	ヤマダ重工	柿		3	1月31日	15		2月22日
8	第1弾	ヤマダ重工	ブドウ		3	1月31日	10		2月15日
9	第1弾	高橋産業 	梨		5	1月31日	6		2月11日
10	第1弾	高橋産業	マンゴ		2	1月31日	8		2月13日
1	第2弾	山本商事	リンゴ		5	2月7日	40		4月5日
2	第2弾	山本商事	バナナ		10	3月1日	20		4月1日
3	第2弾	佐藤商事 	ミカン		10	2月15日	4		2月22日
4	第2弾	佐藤商事	スイカ		1	2月15日	30		4月1日
5	第2弾	小林電機 	桃		5	2月15日	22		3月20日
6	第2弾	ヤマダ重工	メロン		1	2月15日	21		3月19日
7	第2弾	ヤマダ重工	柿		3	2月15日	15		3月11日
8	第2弾	ヤマダ重工	ブドウ		3	2月15日	10		3月4日
9	第2弾	高橋産業 	梨		5	2月15日	6		2月26日
10	第2弾	高橋産業	マンゴ		2	2月15日	8		2月28日
1	第3弾	山本商事	リンゴ		5	2月12日	40		4月10日
2	第3弾	山本商事	バナナ		10	4月1日	20		5月1日
3	第3弾	佐藤商事 	ミカン		10	2月15日	4		2月22日
4	第3弾	佐藤商事	スイカ		1	2月15日	30		4月1日
5	第3弾	小林電機 	桃		5	2月15日	22		3月20日
6	第3弾	ヤマダ重工	メロン		1	2月15日	21		3月19日
7	第3弾	ヤマダ重工	柿		3	2月15日	15		3月11日
8	第3弾	ヤマダ重工	ブドウ		3	2月15日	10		3月4日
9	第3弾	高橋産業 	梨		5	2月15日	6		2月26日
10	第3弾	高橋産業	マンゴ		2	2月15日	8		2月28日
1	第4弾	山本商事	リンゴ		5	3月7日	40		5月7日
2	第4弾	山本商事	バナナ		10	5月1日	20		5月31日
3	第4弾	佐藤商事 	ミカン		10	2月15日	4		2月22日
4	第4弾	佐藤商事	スイカ		1	2月15日	30		4月1日
5	第4弾	小林電機 	桃		5	2月15日	22		3月20日
6	第4弾	ヤマダ重工	メロン		1	2月15日	21		3月19日
7	第4弾	ヤマダ重工	柿		3	2月15日	15		3月11日
8	第4弾	ヤマダ重工	ブドウ		3	2月15日	10		3月4日
9	第4弾	高橋産業 	梨		5	2月15日	6		2月26日
10	第4弾	高橋産業	マンゴ		2	2月15日	8		2月28日
(てつ) 2019/01/25(金) 16:19

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.