エクセルシートの一部の画像を添付しましたので参照ください。
(1)B3~B18には手入力で422cmものの本数を入力します。余り(D列)の数値がマイナスになったときは本数が多すぎます。
(2)B19には、B3~B18の合計が200に不足する分が自動的に計算されます。
数式は、=IF(SUM(B3:B18)>=200,0,200-SUM(B3:B18))
(3)C3~C19は、材料から422cmものを指定した本数切り取ったときの残りの寸法から45cmものを何本切り取ることができるか、計算します。
数式は、
C3=ROUNDDOWN((A3-B3*B$1)/C$1,0)
C4=ROUNDDOWN((A4-B4*B$1)/C$1,0)
C5=ROUNDDOWN((A5-B5*B$1)/C$1,0)
・
・
・
C19=ROUNDDOWN((A19-B19*B$1)/C$1,0)
ただし、最終的には、合計本数が120になるように後段の行の計算結果を削除し、手入力します。
サンプルでは、C18, C19を削除してC18に4を手入力してあります。
(4)D列にはあまりの長さが自動計算されます。
5650の材料から422cmものの取れる本数はそれほど自由度はありません。(このシートを使ってみるとすぐにわかると思いますが、)最大数は13(13を超える数値を入れると余りがマイナスになる。)です。合計本数を200にするためには、小さい数では足りなくなるからです。(B19の値が13を超え、余りがマイナスになります。)
無駄のない切断とは、短い切れ端がたくさん出ることだと理解します。したがって、B3~B18に適当に数値を入力しながら、余りの長さをチェックします。
材料一本丸々余るようにできると良いのですが、それはありませんでした。
材料を10数本以上に切り分けるのですから切断機の刃(砥石)の厚さを考慮する必要があります。サンプルでは余りが30cm程度になっていますが、金ノコで切るならこれだけ余裕があれば十分と思いますが、切断機の場合はこれでは不十分だと思います。砥石の厚さを考慮する場合は、B1(422)、C1(45)の値を砥石の厚さ分プラスしてください。
パラメータがたくさんあって、自動的に最適な数値を求めることは難しいので、サンプルのシートを使って試行錯誤してください。