Bookmarks    
P値の計算    
比の計算    
行列式    
逆行列    
円の計算    
球の体積    
年齢計算    
日数計算    
曜日計算    
時差計算    
複利計算    
単利計算    
利息計算    
ROIの計算    
IRRの計算    
GDPの計算    
CAGR計算    
BMI計算機    
TDEE計算機    
1RM計算機    
露点温度    
進数変換    
給与換算    
燃費計算    
生コン量    
外壁面積    
   追加
確率・ランダムの計算ツール
2つの独立な事象の確率
2つの独立な事象の確率
2つの事象の確率(逆算)
2つの事象の確率(逆算)
くり返したときの確率
くり返したときの確率
条件付き確率・ベイズの定理
条件付き確率・ベイズの定理
期待値計算機
期待値計算機
二項分布の計算機
二項分布の計算機
順列・組み合わせ
順列・組み合わせ
円順列・じゅず順列
円順列・じゅず順列
重複順列・重複組合せ
重複順列・重複組合せ
乱数ジェネレーター
乱数ジェネレーター
平均・統計の計算ツール
平均計算機
平均計算機
代表値計算機(最頻値ほか)
代表値計算機(最頻値ほか)
標準偏差計算機
標準偏差計算機
四分位数計算機
四分位数計算機
度数分布表 計算機
度数分布表 計算機
相関係数計算機
相関係数計算機
正規分布の確率
正規分布の確率
Zスコアの計算
Zスコアの計算
信頼区間の計算
信頼区間の計算
サンプルサイズの計算
サンプルサイズの計算
標本調査の計算
標本調査の計算
P値の計算
P値の計算
割合・パーセントの計算ツール
割合・パーセントの計算
割合・パーセントの計算
増減率の計算
増減率の計算
パーセント差
パーセント差
誤差率の計算
誤差率の計算
比の計算
比の計算
割引計算機
割引計算機
消費税の計算
消費税の計算
利益率計算機
利益率計算機
速さの計算ツール
速さ計算機
速さ計算機
密度・濃度の計算ツール
密度計算機
密度計算機
モル濃度計算機
モル濃度計算機
分子量・モル質量
分子量・モル質量
物理・電気工学の計算ツール
オームの法則の計算
オームの法則の計算
W・A・V の相互換算
W・A・V の相互換算
抵抗器カラーコードの計算
抵抗器カラーコードの計算
電圧降下の計算
電圧降下の計算
単位の換算の計算ツール
坪・畳・㎡換算
坪・畳・㎡換算
重さの単位換算
重さの単位換算
靴サイズの変換
靴サイズの変換
整数・正負の数の計算ツール
割り算の筆算(商と余り)
割り算の筆算(商と余り)
最小公倍数計算機
最小公倍数計算機
最大公約数
最大公約数
正負の数の計算機
正負の数の計算機
素因数分解
素因数分解
一次不定方程式計算機
一次不定方程式計算機
合同式・余りの計算機
合同式・余りの計算機
約数計算機
約数計算機
ローマ数字変換
ローマ数字変換
分数・小数・端数処理の計算ツール
分数計算機
分数計算機
帯分数計算機
帯分数計算機
約分計算機
約分計算機
分数から小数への変換
分数から小数への変換
小数から分数への変換
小数から分数への変換
四捨五入・切り上げ・切り捨て
四捨五入・切り上げ・切り捨て
方程式・不等式の計算ツール
一次方程式計算機
一次方程式計算機
連立方程式計算機
連立方程式計算機
二次方程式の解の公式
二次方程式の解の公式
絶対値の方程式・不等式
絶対値の方程式・不等式
二次不等式 計算機
二次不等式 計算機
三次方程式計算機
三次方程式計算機
多項式・式の展開の計算ツール
文字式の計算機
文字式の計算機
因数分解計算機
因数分解計算機
式の展開 計算機
式の展開 計算機
多項式の割り算計算機
多項式の割り算計算機
二項定理の計算機
二項定理の計算機
平方根・n乗根の計算ツール
根号の簡約
根号の簡約
分母の有理化
分母の有理化
累乗根の計算
累乗根の計算
指数・対数の計算ツール
べき乗計算機
べき乗計算機
対数計算機
対数計算機
常用対数と桁数
常用対数と桁数
科学的記数法
科学的記数法
科学的記数法の計算
科学的記数法の計算
半減期計算機
半減期計算機
複素数の計算ツール
複素数計算機
複素数計算機
複素数の極形式変換
複素数の極形式変換
ド・モアブルの定理
ド・モアブルの定理
関数・グラフの計算ツール
直線の傾きの計算
直線の傾きの計算
一次関数計算機
一次関数計算機
比例・反比例 計算機
比例・反比例 計算機
二次関数 y=ax² 計算機
二次関数 y=ax² 計算機
2点間の距離の計算
2点間の距離の計算
3D空間の2点間の距離の計算
3D空間の2点間の距離の計算
内分点・外分点の計算
内分点・外分点の計算
点と直線の距離 計算機
点と直線の距離 計算機
緯度経度の距離計算
緯度経度の距離計算
平方完成 計算機
平方完成 計算機
円の方程式 計算機
円の方程式 計算機
二次曲線計算機
二次曲線計算機
極座標と直交座標の変換
極座標と直交座標の変換
微分・積分の計算ツール
極限計算機
極限計算機
導関数計算機
導関数計算機
微分公式の計算機
微分公式の計算機
接線・法線 計算機
接線・法線 計算機
定積分計算機
定積分計算機
不定積分計算機
不定積分計算機
2曲線間の面積
2曲線間の面積
回転体の体積 計算機
回転体の体積 計算機
数列の計算ツール
等差数列の計算
等差数列の計算
等比数列の計算
等比数列の計算
Σ(シグマ)計算機
Σ(シグマ)計算機
フィボナッチ数列の計算
フィボナッチ数列の計算
漸化式計算機
漸化式計算機
ベクトルの計算ツール
ベクトルの計算
ベクトルの計算
外積の計算
外積の計算
行列の計算ツール
行列の計算
行列の計算
行列式
行列式
逆行列
逆行列
平面図形の計算ツール
三角比の計算
三角比の計算
度とラジアンの変換
度とラジアンの変換
三角関数の合成
三角関数の合成
三角形計算機
三角形計算機
三角形の面積計算機
三角形の面積計算機
直角三角形の計算
直角三角形の計算
三平方の定理の計算
三平方の定理の計算
多角形の内角・外角
多角形の内角・外角
相似比・面積比・体積比
相似比・面積比・体積比
平行線と角
平行線と角
長方形の面積
長方形の面積
平行四辺形の面積
平行四辺形の面積
台形の面積
台形の面積
円の計算
円の計算
扇形の面積
扇形の面積
円周角の定理
円周角の定理
楕円の面積
楕円の面積
空間図形の計算ツール
立方体の体積
立方体の体積
立方体の表面積
立方体の表面積
直方体の体積
直方体の体積
直方体の表面積
直方体の表面積
円柱の体積
円柱の体積
円柱の表面積
円柱の表面積
球の体積
球の体積
球の表面積
球の表面積
球欠(球冠)の体積
球欠(球冠)の体積
球冠の表面積
球冠の表面積
楕円体の体積
楕円体の体積
楕円体の表面積
楕円体の表面積
四角錐の体積
四角錐の体積
四角錐の表面積
四角錐の表面積
円錐の体積
円錐の体積
円錐の表面積
円錐の表面積
円錐台の体積
円錐台の体積
円錐台の表面積
円錐台の表面積
パイプ(管)の体積
パイプ(管)の体積
カプセル形の体積
カプセル形の体積
カプセルの表面積
カプセルの表面積
日付・時間の計算ツール
年齢計算
年齢計算
日数計算
日数計算
○日後・○日前の日付
○日後・○日前の日付
○時間後・○時間前の日時
○時間後・○時間前の日時
曜日計算
曜日計算
時間の足し算・引き算
時間の足し算・引き算
時差計算
時差計算
勤務時間計算
勤務時間計算
時間差の計算
時間差の計算
タイムカード計算
タイムカード計算
金融・経済の計算ツール
複利計算
複利計算
単利計算
単利計算
利息計算
利息計算
ファイナンス計算機
ファイナンス計算機
現在価値の計算
現在価値の計算
将来価値の計算
将来価値の計算
ROIの計算
ROIの計算
IRRの計算
IRRの計算
回収期間の計算
回収期間の計算
平均リターンの計算
平均リターンの計算
GDPの計算
GDPの計算
Webマーケ・広告指標の計算ツール
クリック率(CTR)の計算
クリック率(CTR)の計算
コンバージョン率(CVR)の計算
コンバージョン率(CVR)の計算
CPC・CPM・CPA計算機
CPC・CPM・CPA計算機
ROAS(広告費用対効果)の計算
ROAS(広告費用対効果)の計算
損益分岐CPA・許容CPA計算機
損益分岐CPA・許容CPA計算機
顧客生涯価値(LTV)の計算
顧客生涯価値(LTV)の計算
顧客獲得コスト(CAC)とLTV/CAC比
顧客獲得コスト(CAC)とLTV/CAC比
チャーン率(解約率)と平均継続期間
チャーン率(解約率)と平均継続期間
A/Bテストの有意差判定
A/Bテストの有意差判定
A/Bテストの必要サンプル数
A/Bテストの必要サンプル数
検索順位別CTRからの想定流入数
検索順位別CTRからの想定流入数
損益分岐点計算機
損益分岐点計算機
値入率・掛率換算
値入率・掛率換算
CAGR計算
CAGR計算
健康・フィットネスの計算ツール
BMI計算機
BMI計算機
睡眠サイクル計算
睡眠サイクル計算
カロリー計算機
カロリー計算機
基礎代謝量計算機
基礎代謝量計算機
TDEE計算機
TDEE計算機
理想体重計算機
理想体重計算機
体脂肪率計算機
体脂肪率計算機
除脂肪体重計算機
除脂肪体重計算機
消費カロリー計算機
消費カロリー計算機
たんぱく質摂取量計算機
たんぱく質摂取量計算機
PFCバランス計算機
PFCバランス計算機
炭水化物摂取量計算機
炭水化物摂取量計算機
脂質摂取量計算機
脂質摂取量計算機
子供の身長予測
子供の身長予測
スポーツの計算ツール
ゴルフハンディキャップ
ゴルフハンディキャップ
ペース計算機
ペース計算機
1RM計算機
1RM計算機
目標心拍数計算機
目標心拍数計算機
気象の計算ツール
ヒートインデックス
ヒートインデックス
ウインドチル
ウインドチル
露点温度
露点温度
コンピュータの計算ツール
進数変換
進数変換
IPサブネット計算機
IPサブネット計算機
帯域幅・ダウンロード時間の計算機
帯域幅・ダウンロード時間の計算機
家計・光熱費の計算ツール
電気代計算
電気代計算
kWh→電気代・逆算
kWh→電気代・逆算
年間消費電力量→電気代
年間消費電力量→電気代
エアコン畳数・能力
エアコン畳数・能力
エアコンの電気代計算
エアコンの電気代計算
暖房の電気代比較
暖房の電気代比較
ガスと電気の光熱費比較
ガスと電気の光熱費比較
LED交換の節約額
LED交換の節約額
給与換算
給与換算
家計収支の計算
家計収支の計算
自動車の計算ツール
ガソリン代計算
ガソリン代計算
EV充電コスト
EV充電コスト
EVとガソリン車の燃料費比較
EVとガソリン車の燃料費比較
燃費計算
燃費計算
タイヤサイズ計算
タイヤサイズ計算
太陽光発電・蓄電池の計算ツール
太陽光発電の発電量
太陽光発電の発電量
太陽光パネルの枚数と面積
太陽光パネルの枚数と面積
太陽光発電の回収年数
太陽光発電の回収年数
蓄電池の必要容量と持ち時間
蓄電池の必要容量と持ち時間
住まい・DIYの計算ツール
タイル枚数
タイル枚数
階段の寸法
階段の寸法
生コン量
生コン量
壁・天井・床の面積
壁・天井・床の面積
壁紙の必要量
壁紙の必要量
塗料の必要量
塗料の必要量
フローリング枚数
フローリング枚数
外壁面積
外壁面積
砂利の必要量
砂利の必要量
モルタルの配合
モルタルの配合
勾配の計算
勾配の計算
木材の取り数
木材の取り数
建ぺい率・容積率
建ぺい率・容積率
クッションフロア必要量
クッションフロア必要量
畳の枚数と広さ
畳の枚数と広さ
断熱材の必要量
断熱材の必要量
カーテンのサイズ
カーテンのサイズ
テレビのサイズと視聴距離
テレビのサイズと視聴距離
土・培養土の必要量
土・培養土の必要量
芝生の必要枚数
芝生の必要枚数
ブロック塀の個数
ブロック塀の個数
レンガの必要枚数
レンガの必要枚数
ウッドデッキの材料
ウッドデッキの材料
スロープの必要長さ
スロープの必要長さ
ネジの下穴径と長さ
ネジの下穴径と長さ
容積と必要換気量
容積と必要換気量
塗料の希釈計算
塗料の希釈計算
巾木・廻り縁の長さ
巾木・廻り縁の長さ
ブラインドの採寸
ブラインドの採寸
額縁の取り付け高さと配置
額縁の取り付け高さと配置
排水勾配と高低差
排水勾配と高低差
ビス・釘の必要本数
ビス・釘の必要本数
木材の材積(m³・才)
木材の材積(m³・才)
フェンスの本数
フェンスの本数
木材の収縮量(含水率変化)
木材の収縮量(含水率変化)
接着剤・コーキングの必要量
接着剤・コーキングの必要量
部屋の熱損失の目安
部屋の熱損失の目安
家具の搬入可否
家具の搬入可否
引越しのダンボール枚数
引越しのダンボール枚数
収納・棚の容量
収納・棚の容量
板取り計算
板取り計算
棚板のたわみと耐荷重
棚板のたわみと耐荷重

木材の取り数計算機(定尺から何本取れるか・板取りの割り付け)

定尺の長さと切り代、必要な部材の長さと本数を入力してください(部材は最大8種類。長さの空欄の行は無視します)。定尺の単価は空欄でもかまいません。

記号 名前(任意) 長さ(mm) 本数
A
B
C
D
E
F
G
H
長さはすべてmm(ミリメートル)で入力します。切り代の空欄は3mm、本数の空欄は1本として計算します。部材の名前は空欄なら「部材A」〜「部材H」になります。
計算結果・図
左の入力欄に定尺の長さと必要な部材の長さ・本数を入れて「計算する」を押すと、ここに結果と割り付けの図が表示されます。

このページでできること

  • 定尺(1820mm・3640mm・4000mmなど)の長さと、必要な部材の長さ・本数(最大8種類)を入れるだけで、買うべき定尺の本数がその場でわかります
  • 切り代(鋸の刃の厚み・既定3mm)を含めて計算するので、「1820mmを4等分の455mm×4本は、実は1本から3本しか取れない」といった落とし穴を見逃しません
  • 長い部材から順に詰める割り付け(First Fit Decreasing)を基本に、部材の合計本数が60本以下なら「最も少ない本数になる組み合わせ」まで探索して、「定尺1本目:脚×2、端材214mm」のような割り付け表と、定尺ごとの横棒の図を表示します
  • 部材ごとに別々の定尺から取る単純計算の本数も併記し、まとめ取りで何本節約できるかを見せます。理論上の最小本数(下限)と比べて、割り付けが最適(これ以上減らせない)か近似かも表示します
  • 定尺の単価(任意)を入れると概算費用と節約できる金額も出ます。式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
割り付けは「長い部材から順に、最初に入る定尺へ詰める」手順(First Fit Decreasing)を基本にし、その本数が「理論上の最小本数」に届かないときは、部材の合計本数が60本以下なら考えられる組み合わせを探索して最も少ない本数の割り付けに置き換えます(結果の「まとめ取りの判定」に、最適か近似かを表示します)。合計本数が60本を超えるときは手順どおりの目安になり、常に最も少ない本数とは限りません。木目・節・反りを避けて取る場合や、定尺の両端を切り落として使う場合は、その分の余裕を見てください。タイルやフローリングのように「面積」から枚数を求めるときは「タイル枚数計算機」「フローリング・床材の必要枚数」ページを使います。

この計算は何の役に立つ?

DIYのテーブル・棚・ベンチの買い出し

例えば脚800mm×4本・幕板500mm×2本・貫400mm×2本の小さなテーブルを1820mmの2×4材で作るとき、部材ごとに別々に買うと定尺4本ですが、長い部材から順に詰めるまとめ取りなら3本で済みます(1本目:脚×2、2本目:脚×2、3本目:幕板×2+貫×2、端材8mm)。
買い出し前に本数を計算しておくと、足りずにもう一度買いに行く、逆に余らせて置き場に困る、といった失敗を減らせます。ホームセンターのカットサービスを使うときも、割り付け表があればカットの指示が一度で済みます。

ウッドデッキ・フェンス・目隠しの根太や支柱

ウッドデッキの根太や、フェンスの横桟のように「同じ長さの部材をたくさん」使う工事では、切り代の積み重ねが本数に効いてきます。例えば1820mmの定尺から455mmの横桟を取るとき、切り代なしなら4本ちょうどですが、切り代3mmでは \(4 \times 455 + 3 \times 3 = 1829\) mmとなって4本目が9mm足りず、1本から3本しか取れません。40本必要なら定尺は10本ではなく \(\lceil 40 \div 3 \rceil = 14\) 本です。
長さを455mmから450mmに変えるだけで4本取れて10本で済むので、設計の段階で「定尺から何本取れる長さか」を確かめておくと材料費を大きく節約できます。

配管・電線管・アルミフレーム・カーテンレールの切り出し

塩ビ管(4m定尺)や電線管、アルミフレーム、カーテンレールなど「決まった長さで売られていて、切って使うもの」はすべて木材と同じ式で計算できます。例えば4000mmの塩ビ管から1200mm×5本・950mm×3本・300mm×1本を切り出すなら、まとめ取りで3本(別々に買うと4本)です。
ただし切り代はパイプカッターで切るなら0に近く、金鋸なら1〜2mm程度と道具で変わるので、切り代の欄を道具に合わせて変えてください。

製材所・家具工場・鉄工所の材料計画(歩留まり)

工場では材料費が原価の大きな割合を占めるため、「材料のうちどれだけを製品にできたか」を歩留まり(ぶどまり)として管理します。このページの「歩留まり」は、部材の合計長さを買う定尺の合計長さで割った値で、端材と切り代が少ないほど100%に近づきます。
実際の工場では、何百種類もの部材を何千本もの材料に割り付けるため、このページと同じ「ビンパッキング問題」を解く専用のソフトウェアが使われています。長い順に詰めるFirst Fit Decreasingは、そうしたソフトウェアでも最初の目安を作る手順として定番の方法です。

巾木・廻り縁・見切り材など内装の定尺材

巾木(壁と床の境目の板)や廻り縁(壁と天井の境目)は3640mm・4000mmの定尺で売られていて、部屋の各壁の長さに合わせて切って使います。例えば壁の長さが3600mm・2700mm・3600mm・2700mm(開口部を除く)の部屋に4000mm定尺の巾木を回すなら、3600と2700は同じ1本に入らないため、まとめ取りでも定尺4本です。
このように「壁1面ぶんの長さ」が定尺の半分を超えると本数は減らせないので、継ぎ目を許すか、定尺の長さを変えるか(3640mm定尺なら3600mmの壁にぴったり)を先に検討する材料になります。

式と図

1本の定尺から取れる本数
数学表記 (一般的な数式)
\(m\) \(=\) \(\lfloor\) \((\) \(L\) \(+\) \(k\) \()\) \(\div\) \((\) \(l\) \(+\) \(k\) \()\) \(\rfloor\)
日本語表記 (記号を日本語に置き換えた式)
1本の定尺から取れる本数 \(m\) \(=\) \(\lfloor\) \((\) 定尺の長さ \(L\) \(+\) 切り代 \(k\) \()\) \(\div\) \((\) 部材の長さ \(l\) \(+\) 切り代 \(k\) \()\) \(\rfloor\)
式を日本語で読むと
定尺の長さ \(L\)
切り代 \(k\) を1回分足し
部材の長さ \(l\) にも切り代 \(k\) を足したもので割って、小数点以下を切り捨てる(記号 \(\lfloor\ \rfloor\) は「切り捨て」の意味)と
1本の定尺から取れる本数 \(m\) になる
簡単な例
1820mmの定尺(6尺の2×4材)から800mmの脚を取るとき、切り代3mmで1本から取れる本数は
取れる本数 \(m\) \(=\) \(\lfloor\) \((\) 定尺(1820mm) \(+\) 切り代(3mm) \()\) \(\div\) \((\) 部材(800mm) \(+\) 切り代(3mm) \()\) \(\rfloor\)
\((1820 + 3) \div (800 + 3) = 1823 \div 803 \fallingdotseq 2.27\)
\(\lfloor 2.27 \rfloor = 2\)
考え方のポイント
なぜ定尺と部材の両方に切り代を足すのでしょうか。定尺から部材を \(n\) 本取ると、切る回数は \(n\) 回のうち最後の1回を除いた \(n - 1\) 回で済みます(最後の部材は定尺の端まで使えばよく、そこで切る必要がないため)。つまり \(n\) 本取れる条件は \(n \times l + (n - 1) \times k \leq L\) です。この両辺に \(k\) を足すと \(n \times (l + k) \leq L + k\) となり、「部材1本を \(l + k\)、定尺を \(L + k\) とみなして割り算する」だけで判定できる形になります。 現場では「部材の長さ+切り代」を本数分足して定尺以下なら取れる、と数える簡易法(切る回数を \(n\) 回とみなす方法)もよく使われます。この計算機は上の \(n - 1\) 回の数え方を採用しているので、簡易法より1本多く取れると出ることがあります。定尺の両端を切り落として使う(端を使わない)場合は、その分を定尺の長さから引いて入力してください。 切り代を無視すると本数を間違えることがあります。例えば1820mmを4等分した455mmの部材は、切り代なしなら4本ちょうど取れますが、切り代3mmでは \(4 \times 455 + 3 \times 3 = 1829 > 1820\) となって4本目が9mm足りず、\(\lfloor 1823 \div 458 \rfloor = 3\) 本しか取れません。
部材ごとに別々に買う場合の本数
数学表記 (一般的な数式)
\(B_i\) \(=\) \(\lceil\) \(q_i\) \(\div\) \(m_i\) \(\rceil\)
\(B_{\text{別}}\) \(=\) \(B_1 + B_2 + \cdots\)
日本語表記 (記号を日本語に置き換えた式)
部材 \(i\) だけを取るのに必要な定尺の本数 \(B_i\) \(=\) \(\lceil\) 部材 \(i\) の必要本数 \(q_i\) \(\div\) 定尺1本から取れる本数 \(m_i\) \(\rceil\)
別々に買う場合の合計本数 \(B_{\text{別}}\) \(=\) 部材ごとの本数 \(B_1,\ B_2,\ \ldots\) の合計
式を日本語で読むと
部材 \(i\) の必要本数 \(q_i\)
定尺1本から取れる本数 \(m_i\) で割って小数点以下を切り上げる(記号 \(\lceil\ \rceil\) は「切り上げ」の意味)と
部材 \(i\) だけを取るのに必要な定尺の本数 \(B_i\) になり
部材ごとの本数 \(B_1,\ B_2,\ \ldots\) の合計
別々に買う場合の合計本数 \(B_{\text{別}}\) になる
簡単な例
1820mmの定尺(切り代3mm)から、脚800mm×4本・幕板500mm×2本・貫400mm×2本を、部材ごとに別々の定尺から取る場合の本数は
\(\text{脚}:\lceil 4 \div 2 \rceil = 2,\quad \text{幕板}:\lceil 2 \div 3 \rceil = 1,\quad \text{貫}:\lceil 2 \div 4 \rceil = 1\)
\(B_{\text{別}} = 2 + 1 + 1 = 4\)
考え方のポイント
「脚用の定尺」「幕板用の定尺」のように部材の種類ごとに定尺を分けて買うのが、この単純計算です。脚は1本の定尺から2本取れるので4本なら定尺2本、幕板は3本取れるので2本なら定尺1本(1本分余る)、貫は4本取れるので定尺1本(2本分余る)、合計4本です。 この方法は考え方が簡単で、買った後の切り出しも迷いませんが、幕板と貫の定尺にはそれぞれ大きな余りが出ています。次の「まとめ取り」は、この余りに別の部材を詰めて本数を減らす方法です。
まとめ取り(長い部材から順に詰める割り付け)と端材
数学表記 (一般的な数式)
\(w\) \(=\) \(L\) \(-\) \(l_1 + l_2 + \cdots + l_n\) \(-\) \(n\) \(\times\) \(k\)
日本語表記 (記号を日本語に置き換えた式)
定尺1本の端材 \(w\) \(=\) 定尺の長さ \(L\) \(-\) その定尺から取る部材の長さ \(l_1,\ l_2,\ \ldots,\ l_n\) の合計 \(-\) その定尺から取る本数 \(n\) \(\times\) 切り代 \(k\)
式を日本語で読むと
定尺の長さ \(L\) から
その定尺から取る部材の長さ \(l_1,\ l_2,\ \ldots,\ l_n\) の合計 を引き、さらに
その定尺から取る本数 \(n\)
切り代 \(k\) を掛けたもの(切るたびに削れる分)も引くと
定尺1本の端材 \(w\) になる(0より小さくなるときは、最後の部材が定尺の端までぴったり収まったということで端材は0)
簡単な例
上の例(脚800mm×4本・幕板500mm×2本・貫400mm×2本)を1820mmの定尺にまとめ取りすると、定尺3本目には幕板2本と貫2本が入り、その端材は
端材 \(w\) \(=\) 定尺(1820mm) \(-\) 部材の合計(500+500+400+400mm) \(-\) 本数(4本) \(\times\) 切り代(3mm)
\(1820 - (500 + 500 + 400 + 400) - 4 \times 3 = 1820 - 1800 - 12 = 8\)
考え方のポイント
まとめ取りの割り付けは、次の3ステップの手順(First Fit Decreasing=「長い順に、最初に入る所へ」)で決めています。 ① すべての部材を長い順に並べる(同じ長さは入力した行の順)。 ② 先頭の部材から順に、今ある定尺のうち「残りの長さがその部材以上」の最初の1本に入れる。入れた定尺の残りは「部材の長さ+切り代」だけ減る。 ③ どの定尺にも入らなければ、新しい定尺を1本追加してそこに入れる。 上の例では、長い順に 800, 800, 800, 800, 500, 500, 400, 400 と並べ、定尺1本目に800を2本(残り214mm、3本目の800は入らない)、定尺2本目に800を2本、定尺3本目に500を2本入れると残り814mmなので400が2本入って残り8mm。合計3本で済み、別々に買う場合の4本より1本少なくなります。 この手順は考え方が簡単で結果もよいのですが、常に最少の本数になるとは限りません。例えば700mm×4本・600mm×2本・450mm×2本を1820mmの定尺(切り代3mm)から取ると、この手順では定尺が4本になりますが、「700+600+450」を2本と「700+700」を1本の組み合わせにすれば3本で済みます。長い順の手順は「700を2本ずつ先に詰めてしまう」ため、この組み合わせに気づけないのです。数学的には、この手順の本数は最少の本数の約1.22倍+1本以内に収まることが証明されており、次の「理論上の最小本数」と一致していればそれが最少だと確かめられます。 そこでこの計算機は、手順の本数が理論上の最小本数に届かないとき、部材の合計本数が60本以下なら「定尺1本ずつ、残っている一番長い部材を必ず含む詰め方をすべて試す」探索(分枝限定法)で最も少ない本数の割り付けを求め、それに置き換えます。上の700・600・450の例も、探索によって3本の割り付けが表示されます。探索を最後まで終えられたかどうかは結果の「まとめ取りの判定」に表示し、合計本数が60本を超えるときは手順どおりの近似になります。
理論上の最小本数(下限)
数学表記 (一般的な数式)
\(B_{\min}\) \(=\) \(\lceil\) \(\sum_i q_i\,(l_i + k)\) \(\div\) \((L + k)\) \(\rceil\)
日本語表記 (記号を日本語に置き換えた式)
理論上の最小本数 \(B_{\min}\) \(=\) \(\lceil\) すべての部材の(長さ+切り代)の合計 \(\sum_i q_i\,(l_i + k)\) \(\div\) 定尺の長さ+切り代 \(L + k\) \(\rceil\)
式を日本語で読むと
すべての部材の(長さ+切り代)の合計 \(\sum_i q_i\,(l_i + k)\)
定尺の長さ+切り代 \(L + k\) で割って小数点以下を切り上げると
理論上の最小本数 \(B_{\min}\) になる
簡単な例
上の例(脚800mm×4本・幕板500mm×2本・貫400mm×2本、定尺1820mm・切り代3mm)の理論上の最小本数は
\(4 \times (800 + 3) + 2 \times (500 + 3) + 2 \times (400 + 3) = 3212 + 1006 + 806 = 5024\)
\(5024 \div (1820 + 3) = 5024 \div 1823 \fallingdotseq 2.76\)
\(\lceil 2.76 \rceil = 3\)
考え方のポイント
「1本の定尺から取れる本数」の式で見たように、1本の定尺に入る部材は「部材ごとの(長さ+切り代)の合計が、定尺の長さ+切り代 以下」という条件を満たします。どんなに上手に割り付けても、全部材の(長さ+切り代)の合計を \(L + k\) で割った値より本数を少なくはできません。これが下限(これより下には行けない値)です。 まとめ取りの本数がこの下限と一致していれば、それ以上減らせない最少の本数(最適)だと確定します。上の例は3本で下限の3本と一致するので最適です。一致しないときは、部材の組み合わせを変えると減らせる可能性がありますが、下限はあくまで「これより少なくはならない」という値なので、必ず下限まで減らせるとは限りません。例えば1000mm×3本を1820mmの定尺(切り代3mm)から取ると、下限は \(\lceil 3009 \div 1823 \rceil = 2\) 本ですが、1本の定尺に1000mmは1本しか入らないので、どう組み合わせても3本必要です。この計算機は合計60本以下なら組み合わせを探索するので、「探索して確認」と表示された本数は、下限より多くてもそれが最少です。
節約できる本数と概算費用
数学表記 (一般的な数式)
\(\Delta\) \(=\) \(B_{\text{別}}\) \(-\) \(B\)
\(T\) \(=\) \(u\) \(\times\) \(B\)
日本語表記 (記号を日本語に置き換えた式)
節約できる本数 \(\Delta\) \(=\) 別々に買う場合の本数 \(B_{\text{別}}\) \(-\) まとめ取りの本数 \(B\)
概算費用 \(T\) \(=\) 定尺の単価 \(u\) \(\times\) まとめ取りの本数 \(B\)
式を日本語で読むと
別々に買う場合の本数 \(B_{\text{別}}\) から
まとめ取りの本数 \(B\) を引くと
節約できる本数 \(\Delta\) になり、
定尺の単価 \(u\) にまとめ取りの本数 \(B\) を掛けると
概算費用 \(T\) になる
簡単な例
上の例で定尺1本が980円のとき、節約できる本数と費用は
\(\Delta = 4 - 3 = 1\)
\(T = 980 \times 3 = 2940\)
\(980 \times 4 - 2940 = 980\)
考え方のポイント
別々に買う場合の費用は \(u \times B_{\text{別}}\)、まとめ取りの費用は \(u \times B\) なので、差額は \(u \times \Delta\) です。単価は定尺1本あたりの価格を入れます。1本単位でなく才(さい)や m³ で売られている材の場合は、1本あたりに直した単価を入れてください。費用は木材本体のみで、カット代・送料・塗料などは含みません。
定尺から取れる本数は「(定尺+切り代)÷(部材+切り代)」の切り捨てで求めるのが基本です。複数の種類の部材は、長い順に「最初に入る定尺へ詰める」まとめ取りで本数を減らせます。その本数が「理論上の最小本数」と一致していれば、それ以上は減らせません。一致しないときも、部材の合計本数が60本以下なら組み合わせを探索して最も少ない本数の割り付けを求めます。

用語・記号の解説

記号

\(L\) エル 定尺の長さ(mm)。買ってくる木材1本の長さです。Length(長さ)の頭文字で、部材の長さ \(l\) と区別するため大文字にしています。
\(l\)・\(l_i\) エル・エルアイ 部材(切り出したい材)の長さ(mm)。\(l_i\) の \(i\) は「\(i\) 番目の種類の部材」という番号です(脚・幕板・貫のように種類が複数あるため)。
\(k\) ケー 切り代(鋸の刃の厚み・mm)。切るたびにこの分だけ木材が削れて短くなります。kerf(英語で「鋸の切り口」)の頭文字です。
\(m\)・\(m_i\) エム・エムアイ 1本の定尺から取れる部材の本数。\(m = \lfloor (L + k) \div (l + k) \rfloor\) で求めます。
\(q_i\) キューアイ 部材 \(i\) の必要本数。quantity(数量)の頭文字です。
\(B_i\)・\(B_{\text{別}}\) ビーアイ・ビーべつ \(B_i\) は部材 \(i\) だけを取るのに必要な定尺の本数(\(\lceil q_i \div m_i \rceil\))。\(B_{\text{別}}\) は部材ごとに別々に買う場合の合計本数(\(B_i\) の合計)です。
\(B\) ビー まとめ取り(長い部材から順に詰める割り付け)で必要な定尺の本数。このページの主役の値です。
\(n\) エヌ ある定尺1本から取る部材の本数。number(数)の頭文字です。端材の式で、切り代を何回分引くかに使います。
\(w\) ダブリュー 定尺1本の端材(使わずに余る長さ・mm)。waste(余り・無駄)の頭文字です。
\(B_{\min}\) ビーミン 理論上の最小本数(下限)。\(\lceil \sum_i q_i (l_i + k) \div (L + k) \rceil\) で求め、まとめ取りの本数 \(B\) がこれと一致すれば最適です。min は minimum(最小)の略です。
\(\Delta\) デルタ 節約できる本数。\(B_{\text{別}} - B\) です。ギリシャ文字のデルタは「差」を表すのによく使われます(difference の頭文字 d に対応する文字)。
\(u\) ユー 定尺1本あたりの単価(円)。unit price(単価)の頭文字です。
\(T\) ティー 概算費用(円)。total(合計)の頭文字です。木材本体のみで、カット代・送料は含みません。
\(\lfloor x \rfloor\) 床関数(ゆかかんすう) 小数点以下を切り捨てて整数にする記号。(例:\(\lfloor 2.27 \rfloor = 2\)、\(\lfloor 3 \rfloor = 3\))取れる本数は「入りきらない分を切り捨てる」ので、この記号を使います。
\(\lceil x \rceil\) 天井関数(てんじょうかんすう) 小数点以下を切り上げて整数にする記号。(例:\(\lceil 2.76 \rceil = 3\)、\(\lceil 2 \rceil = 2\))買う本数は「足りない分を1本増やす」ので、この記号を使います。
\(\sum\) シグマ 「全部足す」ことを表す記号。\(\sum_i q_i (l_i + k)\) なら、部材の種類 \(i\) ごとに \(q_i (l_i + k)\) を計算して全部足します。ギリシャ文字のシグマで、Sum(合計)の頭文字 S にあたる文字です。

用語

定尺 ていじゃく 木材・鋼材・パイプなどが決まった長さで売られている、その標準の長さ。日本の木材は尺(しゃく・1尺=303mm)を基準にした1820mm(6尺)・3640mm(12尺)・4000mmなどが一般的で、2×4材やSPF材の1820mmはホームセンターの定番です。
切り代 きりしろ 鋸で切るときに刃の厚みの分だけ木材が削れて失われる長さ。丸鋸の刃厚は1.5〜2mm程度のものが多く、切り口の欠けや墨線(切る位置の印)の分も見て3mm前後で見積もるのが一般的です。お使いの刃の厚み(刃に刻印された kerf の値)がわかればその値を入れてください。切る回数の分だけ積み重なるので、短い部材をたくさん取るときほど効いてきます。
板取り いたどり 材料(板・角材・定尺)から必要な部材をどう切り出すかを決める作業。木取り(きどり)とも呼びます。このページは「長さだけ」を考える1次元の板取りで、合板から縦横に切り出す2次元の板取りは扱いません。
端材 はざい 部材を切り出した後に余る材料。定尺の端に残る短い切れ端のことです。端材が少ないほど材料の無駄が少なく、歩留まりが高くなります。
まとめ取り まとめどり 「脚用」「幕板用」と定尺を分けずに、1本の定尺の余りに別の種類の部材も詰めて取る方法。部材の種類ごとに買うより本数を減らせることが多く、このページの割り付け表がその取り方を示します。
First Fit Decreasing
(FFD)
ファースト・フィット・ディクリージング 「大きい順(Decreasing)に、最初に入る所(First Fit)へ詰める」という割り付けの手順。荷物を箱に詰める問題(ビンパッキング問題)の代表的な近似の方法で、このページのまとめ取りに使っています。簡単な手順のわりに結果がよく、最少の本数の約1.22倍+1本以内に収まることが証明されていますが、常に最少になるとは限りません。この計算機は、この手順の本数が下限に届かないとき、合計60本以下なら分枝限定法で最少の割り付けを探索します。
ビンパッキング問題 ビンパッキングもんだい 大きさの決まった箱(ビン)にいろいろな大きさの荷物を詰めるとき、箱の数を最も少なくする詰め方を求める問題。木材の板取り(定尺=箱、部材=荷物)はその1次元版です。荷物が多いと最適な詰め方を求める計算量が急激に増えるため、実務では手順の決まった近似の方法(FFDなど)がよく使われます。
分枝限定法 ぶんしげんていほう 考えられる組み合わせを枝分かれさせて順に試しながら、「この先をどう進めても今までの最良より良くならない」とわかった枝は途中で切り捨てる(限定する)ことで、全部を試さずに最適解を見つける探索の方法。このページでは、定尺1本ごとの詰め方を枝にし、「使った本数+残りの部材から計算した下限」が今までの最良以上になった枝を切り捨てて、最も少ない本数の割り付けを求めています。
歩留まり ぶどまり 材料のうち、製品(部材)として使えた割合。このページでは「部材の合計長さ ÷ 買う定尺の合計長さ」で、端材と切り代が少ないほど100%に近づきます。
下限 かげん 「どんなに工夫してもこれより小さくはならない」という値。このページの理論上の最小本数は下限で、割り付けの本数がこれと一致すれば最適だとわかります。一致しないときも、必ず下限まで減らせるとは限りません(1000mm×3本を1820mmから取る例では下限2本・実際は3本)。
最適解 さいてきかい 考えられるすべての方法の中で最もよい答え。このページでは「定尺の本数が最も少ない割り付け」のことです。まとめ取りの本数が下限と一致すれば最適解です。一致しなくても、組み合わせをすべて探索して「これ以上減らない」と確かめられれば最適解です。
しゃく 日本の伝統的な長さの単位で、1尺=約303mm。木材の定尺の1820mm(6尺)・910mm(3尺)・3640mm(12尺)はこの尺の倍数です。6尺=1820mmは「1間(いっけん)」とも呼びます。
2×4材 ツーバイフォーざい 断面が約38mm×89mmの規格材で、ホームセンターで最も手に入りやすいDIY用の木材。長さは1820mm(6尺)が定番で、910mm・2440mm(8尺)・3650mmなども売られています。

前提として理解しておくといいこと

このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。

割り算と余り(小学3〜4年)
  • 「1820を800で割ると2余り220」のように、割り算の商が「何本取れるか」、余りが「どれだけ残るか」を表すとわかること
概数・端数処理(小学4年)
  • 切り捨て・切り上げ・四捨五入の違いがわかること
  • 「取れる本数はなぜ切り捨て、買う本数はなぜ切り上げなのか」を自分の言葉で説明できること
小数の割り算(小学5年)
  • \(1823 \div 803 \fallingdotseq 2.27\) のような割り算の商の大きさがつかめること(計算自体は電卓でかまいません)
文字を使った式と不等式(中学1年)
  • 「\(n\) 本取れる条件は \(n \times l + (n-1) \times k \leq L\)」のように、条件を文字の式で表せること
  • 不等式の両辺に同じ数を足しても大小関係が変わらないこと(\(n(l + k) \leq L + k\) への変形)
割合と百分率(小学5年)
  • 歩留まり「部材の合計長さ ÷ 定尺の合計長さ × 100」のように、割合を百分率(%)で表せること

Excelで計算する方法

Excelファイルをダウンロード
式ごとにシートが分かれたExcelファイルです。貼り付け場所を気にせず、開いてすぐ使えます。
下の表を丸ごとコピーして、ExcelのA1セルに貼り付けるとそのまま使えます。
「1本の定尺から取れる本数」を求める表
定尺の長さ(mm) 1820
部材の長さ(mm) 800
切り代(mm) 3
1本の定尺から取れる本数 =INT((B1+B3)/(B2+B3))
「部材ごとに別々に買う場合の本数」を求める表
部材の必要本数 4
1本の定尺から取れる本数 2
必要な定尺の本数 =ROUNDUP(B1/B2,0)
「定尺1本の端材」を求める表
定尺の長さ(mm) 1820
その定尺から取る部材の長さの合計(mm) 1800
その定尺から取る本数 4
切り代(mm) 3
端材(mm) =MAX(0,B1-B2-B3*B4)
「理論上の最小本数」を求める表
すべての部材の(長さ+切り代)の合計(mm) 5024
定尺の長さ+切り代(mm) 1823
理論上の最小本数 =ROUNDUP(B1/B2,0)
「節約できる本数と概算費用」を求める表
別々に買う場合の本数 4
まとめ取りの本数 3
定尺の単価(円) 980
節約できる本数 =B1-B2
概算費用(円) =B3*B2
貼り付けると、B列の上の行が入力欄になり、最後の行が自動計算の結果になります。
「INT(値)」は小数点以下を切り捨てて整数にする関数(式の ⌊ ⌋)、「ROUNDUP(値, 0)」は切り上げる関数(式の ⌈ ⌉)です。
1つ目の表のB4は2本、2つ目の表のB3は2本、3つ目の表のB5は8mm、4つ目の表のB3は3本、5つ目の表は節約1本・費用2,940円になります。
「長い部材から順に詰める」割り付けそのものは、部材を長さの大きい順に並べ替えて上から順に定尺に当てはめていく手作業になるため、表計算では「取れる本数」「端材」「下限」の確認に使い、割り付け表はこのページか下のPythonコードで作るのが確実です。

Googleスプレッドシートで計算する方法

Excelファイルをダウンロード
上のExcelファイルをダウンロードし、Googleドライブにアップロードして開くと、そのままスプレッドシートとして使えます。
下の表を丸ごとコピーして、GoogleスプレッドシートのA1セルに貼り付けるとそのまま使えます。
「1本の定尺から取れる本数」を求める表
定尺の長さ(mm) 1820
部材の長さ(mm) 800
切り代(mm) 3
1本の定尺から取れる本数 =INT((B1+B3)/(B2+B3))
「部材ごとに別々に買う場合の本数」を求める表
部材の必要本数 4
1本の定尺から取れる本数 2
必要な定尺の本数 =ROUNDUP(B1/B2,0)
「定尺1本の端材」を求める表
定尺の長さ(mm) 1820
その定尺から取る部材の長さの合計(mm) 1800
その定尺から取る本数 4
切り代(mm) 3
端材(mm) =MAX(0,B1-B2-B3*B4)
「理論上の最小本数」を求める表
すべての部材の(長さ+切り代)の合計(mm) 5024
定尺の長さ+切り代(mm) 1823
理論上の最小本数 =ROUNDUP(B1/B2,0)
「節約できる本数と概算費用」を求める表
別々に買う場合の本数 4
まとめ取りの本数 3
定尺の単価(円) 980
節約できる本数 =B1-B2
概算費用(円) =B3*B2
Excelと同じ式(INT・ROUNDUP・MAXも同じ関数名)がそのまま使えます。表を丸ごとコピーしてA1セルに貼り付け、B列を自分の数値に書き換えてください。

Pythonで計算する方法

import math

stock_length = 1820      # 定尺の長さ(mm)
kerf = 3                 # 切り代(鋸の刃厚・mm)
unit_price = 980         # 定尺1本の単価(円)
# 必要な部材:(名前, 長さmm, 本数)
parts = [("脚", 800, 4), ("幕板", 500, 2), ("貫", 400, 2)]

# 部材ごとに別々に買う場合の本数(1本の定尺から取れる本数で割って切り上げ)
stocks_separate = 0
for name, length, qty in parts:
    per_stock = (stock_length + kerf) // (length + kerf)   # 切り捨て(式の ⌊ ⌋)
    stocks_separate += math.ceil(qty / per_stock)           # 切り上げ(式の ⌈ ⌉)

# まとめ取り:長い部材から順に、最初に入る定尺へ詰める(First Fit Decreasing)
items = sorted([(length, name) for name, length, qty in parts for _ in range(qty)], key=lambda t: -t[0])
stocks = []   # 定尺ごとに {"parts": [...], "remaining": 残りの長さ}
for length, name in items:
    for stock in stocks:
        if length <= stock["remaining"]:
            stock["parts"].append((name, length))
            stock["remaining"] = max(0, stock["remaining"] - length - kerf)
            break
    else:
        stocks.append({"parts": [(name, length)], "remaining": max(0, stock_length - length - kerf)})

# 理論上の最小本数(下限)
lower_bound = math.ceil(sum(qty * (length + kerf) for name, length, qty in parts) / (stock_length + kerf))

print(f"部材ごとに別々に買う場合: {stocks_separate} 本")
print(f"まとめ取り: {len(stocks)} 本(理論上の最小本数 {lower_bound} 本)")
for i, stock in enumerate(stocks, 1):
    names = " + ".join(f"{name}{length}" for name, length in stock["parts"])
    print(f"  定尺{i}本目: {names}  端材 {stock['remaining']} mm")
print(f"節約できる本数: {stocks_separate - len(stocks)} 本")
print(f"概算費用: {unit_price * len(stocks)} 円")
標準ライブラリだけで動きます。「//」が切り捨ての割り算(式の ⌊ ⌋)、math.ceil() が切り上げ(式の ⌈ ⌉)です。このコードは「長い順に詰める」手順(First Fit Decreasing)だけを行うので、このページの計算機が組み合わせの探索でさらに少ない本数を見つけた場合は、その本数とは一致しないことがあります(下限と一致していれば同じです)。for 文の else はループが break せずに終わったとき(どの定尺にも入らなかったとき)に実行され、新しい定尺を追加します。先頭の定尺・切り代・部材のリストを自分の数値に書き換えて実行してください。

数式記述言語(LaTeX等)での書き方(コピペ可)

1本の定尺から取れる本数
m = ⌊(L + k) ÷ (l + k)⌋
m = \left\lfloor \frac{L + k}{l + k} \right\rfloor
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <mi>m</mi>
    <mo>=</mo>
    <mo>&#x230A;</mo>
    <mfrac>
      <mrow><mi>L</mi><mo>+</mo><mi>k</mi></mrow>
      <mrow><mi>l</mi><mo>+</mo><mi>k</mi></mrow>
    </mfrac>
    <mo>&#x230B;</mo>
  </mrow>
</math>
m = |__ (L + k) / (l + k) __|
Floor[(L + k)/(l + k)]
m := floor((L + k)/(l + k));
m = floor((L + k)/(l + k));
m = ⌊(L + k)/(l + k)⌋
部材ごとに別々に買う場合の本数
Bᵢ = ⌈qᵢ ÷ mᵢ⌉,  B別 = B₁ + B₂ + …
B_i = \left\lceil \frac{q_i}{m_i} \right\rceil,\quad B_{\text{別}} = \sum_i B_i
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <msub><mi>B</mi><mi>i</mi></msub>
    <mo>=</mo>
    <mo>&#x2308;</mo>
    <mfrac><msub><mi>q</mi><mi>i</mi></msub><msub><mi>m</mi><mi>i</mi></msub></mfrac>
    <mo>&#x2309;</mo>
    <mo>,</mo>
    <msub><mi>B</mi><mtext>別</mtext></msub>
    <mo>=</mo>
    <munder><mo>&#x2211;</mo><mi>i</mi></munder>
    <msub><mi>B</mi><mi>i</mi></msub>
  </mrow>
</math>
B_i = |~ q_i / m_i ~|,  B_"別" = sum_i B_i
Total[Ceiling[q/m]]
B := add(ceil(q[i]/m[i]), i = 1 .. n);
B = sum(ceil(q ./ m));
B_i = ⌈q_i/m_i⌉, B_別 = ∑_i B_i
まとめ取り(長い部材から順に詰める割り付け)と端材
w = L − (l₁ + l₂ + … + lₙ) − n × k
w = L - \sum_{j=1}^{n} l_j - n k
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <mi>w</mi>
    <mo>=</mo>
    <mi>L</mi>
    <mo>&#x2212;</mo>
    <munderover><mo>&#x2211;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover>
    <msub><mi>l</mi><mi>j</mi></msub>
    <mo>&#x2212;</mo>
    <mi>n</mi><mo>&#x2062;</mo><mi>k</mi>
  </mrow>
</math>
w = L - sum_(j=1)^n l_j - n k
L - Total[l] - Length[l]*k
w := L - add(l[j], j = 1 .. n) - n*k;
w = L - sum(l) - numel(l)*k;
w = L − ∑_(j=1)^n l_j − nk
理論上の最小本数(下限)
Bmin = ⌈Σ qᵢ(lᵢ + k) ÷ (L + k)⌉
B_{\min} = \left\lceil \frac{\sum_i q_i (l_i + k)}{L + k} \right\rceil
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <msub><mi>B</mi><mi>min</mi></msub>
    <mo>=</mo>
    <mo>&#x2308;</mo>
    <mfrac>
      <mrow><munder><mo>&#x2211;</mo><mi>i</mi></munder><msub><mi>q</mi><mi>i</mi></msub><mo>(</mo><msub><mi>l</mi><mi>i</mi></msub><mo>+</mo><mi>k</mi><mo>)</mo></mrow>
      <mrow><mi>L</mi><mo>+</mo><mi>k</mi></mrow>
    </mfrac>
    <mo>&#x2309;</mo>
  </mrow>
</math>
B_min = |~ (sum_i q_i (l_i + k)) / (L + k) ~|
Ceiling[Total[q*(l + k)]/(L + k)]
Bmin := ceil(add(q[i]*(l[i] + k), i = 1 .. n)/(L + k));
Bmin = ceil(sum(q .* (l + k))/(L + k));
B_min = ⌈(∑_i q_i (l_i + k))/(L + k)⌉
節約できる本数と概算費用
Δ = B別 − B,  T = u × B
\Delta = B_{\text{別}} - B,\quad T = u \times B
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
  <mrow>
    <mi>&#x394;</mi>
    <mo>=</mo>
    <msub><mi>B</mi><mtext>別</mtext></msub>
    <mo>&#x2212;</mo>
    <mi>B</mi>
    <mo>,</mo>
    <mi>T</mi>
    <mo>=</mo>
    <mi>u</mi>
    <mo>&#xD7;</mo>
    <mi>B</mi>
  </mrow>
</math>
Delta = B_"別" - B,  T = u * B
{bSep - b, u*b}
Delta := Bsep - B;  T := u*B;
Delta = Bsep - B; T = u*B;
Δ = B_別 − B, T = u × B

ChatGPT に聞いて計算してもらう方法

あなたは木工の板取り(木取り)の計算アシスタントです。次の計算を、必ずPythonコードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。

定尺1820mmの木材から、切り代3mmで、脚800mm×4本・幕板500mm×2本・貫400mm×2本を切り出します。
次の値をそれぞれ求めてください。
1. 部材ごとに、1本の定尺から取れる本数((1820+3)÷(部材の長さ+3) の切り捨て)
2. 部材ごとに別々の定尺から取る場合の定尺の合計本数(必要本数÷取れる本数の切り上げの合計)
3. 長い部材から順に「最初に入る定尺へ詰める」(First Fit Decreasing)で割り付けたときの定尺の本数と、定尺ごとの部材の内訳と端材(部材を入れるたびに残りは「長さ+切り代」だけ減るものとします)
4. 理論上の最小本数(全部材の(長さ+切り代)の合計を 1820+3 で割った切り上げ)

計算に使ったコードと、実行結果の数値を示してください。

計算ドリル(演習問題)

このページの式を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。


使い方
  1. 1
    数値を入力
    計算したい数値を入力欄に入力します
  2. 2
    計算
    「計算する」ボタンを押します
  3. 3
    結果を確認
    計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
  DataChefの特徴
簡単・無料
無料で回数無制限の変換
専門知識不要、直感的で簡単な操作
会員登録不要
アクセス直後に利用可能
個人情報を登録することなく使用できます
安全・安心
通信を高度に暗号化
「ダウンロード」押下でファイルを自動削除
高速
ストレスのない快適な表示速度・変換速度
透かしなし
ウォーターマークなし
クレジット表記不要
商用利用可能
無料で商用利用可能
商用利用許諾の連絡も不要です