原板の寸法と切り代、木目の向き、切り出したい部材の幅・高さ・枚数を入力してください(部材は最大8種類。幅と高さの両方が空欄の行は無視します)。厚みと原板の単価は空欄でもかまいません。
このページでできること
- 原板の寸法(サブロク 1820×910mm・シハチ 2440×1220mm・メーターバン 2000×1000mm などのプルダウンか手入力)と、切り出したい部材の幅・高さ・枚数(最大8種類)を入れるだけで、買うべき原板の枚数がその場でわかります
- 切り代(鋸の刃の厚み・既定3mm)と木目の向き(部材を90度回転してよいか)を考慮します。同じ部材だけなら「縦×横」のグリッド計算(回転した向き・残りの帯に回転して並べる案も比較)、複数の部材は高さの順に棚を作る割り付け(棚方式)でまとめ取りします
- 原板ごとに「どこに何を置くか」を色分けした割り付け図と、「原板1枚目:天板×2+側板×2、端材0.286m²」のような割り付け表を表示します。部材ごとに別々の原板から取る場合の枚数と比べて、まとめ取りで何枚節約できるかも出ます
- 端材の面積と歩留まり(部材の合計面積 ÷ 原板の合計面積)、面積から求めた理論上の最小枚数(下限)を併記し、割り付けが下限と一致しているかを表示します。原板の単価(任意)を入れると概算費用も出ます
- 式のやさしい解説・Excel/Googleスプレッドシート/Python用のコピペ数式・計算ドリル(演習問題)もこのページにまとまっています
この計算は何の役に立つ?
例えば天板900×450mm×2枚・側板700×400mm×4枚・棚板600×350mm×3枚の本棚をサブロク(1820×910mm)の合板で作るとき、部材ごとに別々に買うと原板3枚ですが、高さの順に棚を作って詰めるまとめ取りなら2枚で済みます(1枚目:天板×2+側板×2、2枚目:側板×2+棚板×3)。
合板はかさばって車に積みにくく、余らせると置き場に困るので、買い出し前に枚数と割り付けを決めておくと無駄がありません。木目を揃えたい化粧合板は「揃える」で計算し、構造用合板や塗りつぶす板は「問わない」で枚数を減らします。
ホームセンターのカットサービス(パネルソー)は「原板の端から端まで真っすぐ」しか切れず、1カットいくらの料金で、1枚あたりに受けてもらえるカット回数に上限を設けている店もあります。このページの割り付け図はその切り方(ギロチンカット)に合わせているので、図のとおりに「まず上から450mmの位置で横に一直線に切り、その上の板を左から900mmの位置で縦に切って…」と指示すれば、店頭で迷わずに済みます(切り代は刃が削る分なので、切る位置は部材の寸法そのものです)。
カットの本数を数えておくと料金の見当が付き、回数の上限に収まるかも確認できます。切り代は店のパネルソーの刃厚(3mm前後が多いですが、店で確認できます)に合わせて変えてください。なお、店によっては幅の狭い切り出し(数cm以下)や斜め・途中止めのカットは受けてもらえないので、細い部材が多いときは先に確認しておくと安心です。
サブロクを4等分した455×455mmの部材は、切り代なしなら8枚取れそうに見えますが、切り代3mmでは横 \(\lfloor 1823 \div 458 \rfloor = 3\) 枚・縦 \(\lfloor 913 \div 458 \rfloor = 1\) 枚で3枚しか取れません。450×450mmに変えるだけで横4枚×縦2枚=8枚取れます。
このように、設計の段階で部材の寸法を少し変えると原板の枚数が大きく変わることがあります。棚板の奥行きを5mm縮める、天板を2枚に分けるといった調整を、買い出し前にこの計算機で試しておくと材料費を節約できます。
家具工場や建具屋、看板屋(アルミ複合板・アクリル板)、板金工場(鉄板)では、材料費が原価の大きな割合を占めるため、原板から部材をどう取るか(ネスティング)と歩留まりを日常的に管理しています。このページの「歩留まり」は部材の合計面積を原板の合計面積で割った値で、実務でも同じ定義です。
実際の工場では何百種類もの部材を割り付けるため、専用の板取りソフト(ネスティングソフト)が使われています。棚方式は2次元の長方形パッキングの教科書的なヒューリスティックで、そうしたソフトの考え方の土台になっている手法の一つです。
「決まった規格の板から長方形を切り出す」ものは、合板と同じ式で計算できます。アクリル板や塩ビ板(サブロク・メーターバン規格)、石こうボード(910×1820mm)、化粧パネル、コンパネ(900×1800mm)などです。ガラスのようにカッターで筋を付けて割る材料は切り代を0にし(タイルも手動のカッターで割るなら0、湿式カッターで切るなら刃厚分)、木目のない材料は「問わない」にすると枚数が減ります。
ただし、ガラスや薄いアクリルは割れやすく、柄物の化粧板は柄の向きに制約があるので、材料の性質に合わせて切り代と回転の設定を変えてください。
式と図
用語・記号の解説
記号
| \(W\) | ダブリュー | 原板の幅(mm)。買ってくる合板1枚の横の長さです。Width(幅)の頭文字で、部材の幅 \(w\) と区別するため大文字にしています。 |
| \(H\) | エイチ | 原板の高さ(mm)。合板1枚の縦の長さです。Height(高さ)の頭文字で、部材の高さ \(h\) と区別するため大文字にしています。木目を「問わない」なら幅と高さを入れ替えても枚数は変わりません(「揃える」のときは部材の向きと合わせる必要があります)。 |
| \(w\)・\(w_i\) | ダブリュー・ダブリューアイ | 部材(切り出したい板)の幅(mm)。\(w_i\) の \(i\) は「\(i\) 番目の種類の部材」という番号です(天板・側板・棚板のように種類が複数あるため)。 |
| \(h\)・\(h_i\) | エイチ・エイチアイ | 部材の高さ(mm)。棚方式の式では \(h_1,\ h_2,\ \ldots\) を「各棚の高さ」の意味でも使っています(棚の高さ=その棚で一番高い部材の高さ)。 |
| \(k\) | ケー | 切り代(鋸の刃の厚み・mm)。切るたびにこの分だけ板が削れて失われます。kerf(英語で「鋸の切り口」)の頭文字です。 |
| \(c\) | シー | 同じ部材だけを並べたとき、原板の幅の方向に横に並ぶ枚数。\(\lfloor (W + k) \div (w + k) \rfloor\) で求めます。column(列)の頭文字です。 |
| \(r\) | アール | 同じ部材だけを並べたとき、原板の高さの方向に縦に並ぶ枚数。\(\lfloor (H + k) \div (h + k) \rfloor\) で求めます。row(行)の頭文字です。 |
| \(m\)・\(m_i\) | エム・エムアイ | 同じ部材だけを並べたとき、1枚の原板から取れる枚数。横に並ぶ枚数 \(c\) と縦に並ぶ枚数 \(r\) を掛けた \(m = c \times r\) で求めます。 |
| \(q_i\) | キューアイ | 部材 \(i\) の必要枚数。quantity(数量)の頭文字です。 |
| \(B_i\) | ビーアイ | 部材 \(i\) だけを取るのに必要な原板の枚数。\(\lceil q_i \div m_i \rceil\) で求めます。 |
| \(B_{\text{別}}\) | ビーべつ | 部材ごとに別々の原板から取る(別々に買う)場合の合計枚数。各部材の \(B_i\) を全部足した値です。 |
| \(B\) | ビー | まとめ取り(棚方式などの割り付け)で必要な原板の枚数。このページの主役の値です。 |
| \(n\) | エヌ | 1つの棚に横に並ぶ部材の枚数。部材の間の切り代が \(n - 1\) 回分入るので、棚に並ぶ条件の式に使います。number(数)の頭文字です。 |
| \(s\) | エス | 1枚の原板に積む棚の段数。棚の間の切り代が \(s - 1\) 回分入るので、棚が積める条件の式に使います。shelf(棚)の頭文字です。 |
| \(A_{\text{端}}\) | エーはし | 端材の面積(mm²・m²)。買った原板の合計面積から部材の合計面積を引いた値で、切り代で鋸くずになる分も含みます。\(A\) は Area(面積)の頭文字です。 |
| \(Y\) | ワイ | 歩留まり(%)。部材の合計面積を原板の合計面積で割って100を掛けた値です。Yield(収量・歩留まり)の頭文字です。 |
| \(B_{\min}\) | ビーミン | 面積から求めた理論上の最小枚数(下限)。\(\lceil \sum_i q_i (w_i + k)(h_i + k) \div ((W + k)(H + k)) \rceil\) で求め、まとめ取りの枚数 \(B\) がこれと一致すれば最適です。min は minimum(最小)の略です。 |
| \(\Delta\) | デルタ | 節約できる枚数。\(B_{\text{別}} - B\) です。ギリシャ文字のデルタは「差」を表すのによく使われます(difference の頭文字 d に対応する文字)。 |
| \(u\) | ユー | 原板1枚あたりの単価(円)。unit price(単価)の頭文字です。 |
| \(T\) | ティー | 概算費用(円)。total(合計)の頭文字です。原板本体のみで、カット代・送料は含みません。 |
| \(\lfloor x \rfloor\) | 床関数(ゆかかんすう) | 小数点以下を切り捨てて整数にする記号。(例:\(\lfloor 3.02 \rfloor = 3\)、\(\lfloor 2 \rfloor = 2\))取れる枚数は「入りきらない分を切り捨てる」ので、この記号を使います。 |
| \(\lceil x \rceil\) | 天井関数(てんじょうかんすう) | 小数点以下を切り上げて整数にする記号。(例:\(\lceil 1.56 \rceil = 2\)、\(\lceil 2 \rceil = 2\))買う枚数は「足りない分を1枚増やす」ので、この記号を使います。 |
| \(\sum\) | シグマ | 「全部足す」ことを表す記号。\(\sum_i q_i w_i h_i\) なら、部材の種類 \(i\) ごとに \(q_i w_i h_i\)(枚数×幅×高さ)を計算して全部足します。ギリシャ文字のシグマで、Sum(合計)の頭文字 S にあたる文字です。 |
用語
| 原板 | げんばん | 部材を切り出すもとになる大きな板。合板・MDF・化粧板・アクリル板・鉄板など、決まった規格寸法で売られている板物のことです。このページでは幅 \(W\)×高さ \(H\) の長方形として扱います。 |
| 板取り | いたどり | 原板から必要な部材をどう切り出すかを決める作業。木取り(きどり)とも呼びます。このページは幅と高さの両方を考える2次元の板取りで、角材やパイプのように長さだけを考える1次元の板取りは「木材の取り数計算機」で扱います。 |
| 切り代 | きりしろ | 鋸で切るときに刃の厚みの分だけ板が削れて失われる長さ。丸鋸やパネルソーの刃厚は1.5〜3mm程度が多く、切り口の欠けや墨線(切る位置の印)の分も見て3mm前後で見積もるのが一般的です。お使いの刃の厚み(刃に刻印された kerf の値)がわかればその値を入れてください。切る回数の分だけ積み重なるので、小さい部材をたくさん取るときほど効いてきます。 |
| 木目 | もくめ | 木の繊維の向きによる板の表面の模様。化粧合板や無垢材では、部材の木目を全部同じ向きに揃えないと見た目が不自然になるため、板取りで部材を90度回転できないことがあります。このページでは「木目の向き」で回転の可否を選びます。構造用合板や塗りつぶす板なら「問わない」で構いません。 |
| ギロチンカット | ギロチンカット | 原板の端から端まで真っすぐ切り通す切り方。切った後の板をまた端から端まで切る、をくり返して部材を取ります。ホームセンターのカットサービスで使われるパネルソー(大きな板用の直線カット機)はこの切り方しかできないため、この計算機の割り付けもギロチンカットで切れる形(棚方式)に限っています。途中で止める切り方(L字の切り込み)を許すともっと詰められることがありますが、家庭の丸鋸でも切りにくいので採用していません。 |
| 棚方式 (FFDH) |
たなほうしき(エフエフディーエイチ) | 部材を高さの高い順に並べ、原板を横切る「棚」を上から順に作って詰めていく割り付けの手順。First Fit Decreasing Height(高さの大きい順に、最初に入る棚へ)の略で、2次元の長方形パッキングの代表的なヒューリスティックです。切る線が端から端まで通るため、カットサービスでそのまま頼めます。簡単な手順のわりに結果がよいのですが、常に最少の枚数になるとは限りません。 |
| 端材 | はざい | 部材を切り出した後に余る材料。原板の端に残る細長い板や、棚の右に残る切れ端のことです。端材が少ないほど材料の無駄が少なく、歩留まりが高くなります。大きい端材は小物の棚板や補強材に回せます。 |
| 歩留まり | ぶどまり | 材料のうち、製品(部材)として使えた割合。このページでは「部材の合計面積 ÷ 買う原板の合計面積」で、端材と切り代が少ないほど100%に近づきます。 |
| 下限 | かげん | 「どんなに工夫してもこれより小さくはならない」という値。このページの理論上の最小枚数は面積から求めた下限で、割り付けの枚数がこれと一致すれば最適だとわかります。一致しないときも、2次元の板取りでは形の制約で下限まで減らせないことがよくあります。 |
| 最適解 | さいてきかい | 考えられるすべての方法の中で最もよい答え。このページでは「原板の枚数が最も少ない割り付け」のことです。まとめ取りの枚数が下限と一致すれば最適解ですが、一致しない場合、この計算機は組み合わせを全部は探さないので、最適解かどうかは確かめられません。 |
| ヒューリスティック | ヒューリスティック | 「必ず最適解になる保証はないが、決まった手順で手早くよい答えを出す方法」のこと。板取りのような組み合わせの問題は、部材が増えると考えられる置き方が爆発的に増えて全部は試せないため、実務でもヒューリスティックがよく使われます。このページの棚方式やグリッド計算もその一つです。 |
| 合板 | ごうはん | 薄い木の板(単板)を木目が直交するように何枚も貼り合わせた板。一般に「ベニヤ板」とも呼ばれます(正確には貼り合わせる前の1枚の単板がベニヤです)。反りにくく大きな板が作れるため、DIYの棚・箱・下地に広く使われます。構造用合板・ラワン合板・シナ合板・化粧合板などがあり、厚みは9・12・15mmなどが一般的です。 |
| コンパネ | コンパネ | コンクリートの型枠に使う合板(コンクリートパネル)の略で、900×1800mm・厚み12mmが定番の規格です。サブロク(910×1820mm)より一回り小さいので、コンパネで作るときは原板の寸法を900×1800に変えて計算してください。塗装済みの黄色いコンパネ(パネコート)もあります。 |
| サブロク | サブロク | 3尺×6尺(910×1820mm)の板の規格の呼び名。合板・石こうボード・ボード類の最も一般的なサイズで、ホームセンターで手に入る合板の定番です。1尺=約303mmで、3尺≒910mm・6尺≒1820mmです。 |
| シハチ | シハチ | 4尺×8尺(約1220×2440mm)の板の規格の呼び名。サブロクより大きく、大きな天板や壁一面の板を継ぎ目なしで取りたいときに使います。メーカーや製品によって2430×1210mm・2440×1220mmのように寸法が少し違うので、買う製品の寸法を確認して入力してください。 |
| メーターバン | メーターバン | 1000×2000mm(1m×2m)の板の規格の呼び名。尺ではなくメートル基準の規格で、MDFや一部の合板・化粧板で使われます。「バン」は板(ばん)のことです。 |
前提として理解しておくといいこと
このページの計算を「意味がわかって」使えるようになるために、前提として理解しておくといいことをまとめました。
| 割り算と余り(小学3〜4年) |
|
| 概数・端数処理(小学4年) |
|
| 長方形の面積(小学4年) |
|
| 割合と百分率(小学5年) |
|
| 文字を使った式と不等式(中学1年) |
|
Excelで計算する方法
| 原板の幅(mm) | 1820 |
| 原板の高さ(mm) | 910 |
| 部材の幅(mm) | 600 |
| 部材の高さ(mm) | 400 |
| 切り代(mm) | 3 |
| 横に並ぶ枚数 | =INT((B1+B5)/(B3+B5)) |
| 縦に並ぶ枚数 | =INT((B2+B5)/(B4+B5)) |
| 1枚の原板から取れる枚数 | =B6*B7 |
| 部材の必要枚数 | 8 |
| 1枚の原板から取れる枚数 | 6 |
| 必要な原板の枚数 | =ROUNDUP(B1/B2,0) |
| 原板の枚数 | 2 |
| 原板の幅(mm) | 1820 |
| 原板の高さ(mm) | 910 |
| すべての部材の面積の合計(mm²) | 1920000 |
| 端材の面積(mm²) | =B1*B2*B3-B4 |
| 端材の面積(m²) | =B5/1000000 |
| 歩留まり(%) | =B4/(B1*B2*B3)*100 |
| すべての部材の(幅+切り代)×(高さ+切り代)の合計(mm²) | 2589931 |
| (原板の幅+切り代)×(原板の高さ+切り代)(mm²) | 1664399 |
| 理論上の最小枚数 | =ROUNDUP(B1/B2,0) |
| 別々に買う場合の枚数 | 3 |
| まとめ取りの枚数 | 2 |
| 原板の単価(円) | 3980 |
| 節約できる枚数 | =B1-B2 |
| 概算費用(円) | =B3*B2 |
「INT(値)」は小数点以下を切り捨てて整数にする関数(式の ⌊ ⌋)、「ROUNDUP(値, 0)」は切り上げる関数(式の ⌈ ⌉)です。
1つ目の表のB8は6枚(横3枚×縦2枚)、2つ目の表のB3は2枚、3つ目の表のB6は1.3924m²・B7は57.96…%(600×400mmを8枚、原板2枚の例)、4つ目の表のB3は2枚、5つ目の表は節約1枚・費用7,960円になります。
棚方式の割り付けそのものは、部材を高さの順に並べ替えて上から順に棚へ当てはめていく手作業になるため、表計算では「取れる枚数」「端材」「下限」の確認に使い、割り付け図はこのページか下のPythonコードで作るのが確実です。
Googleスプレッドシートで計算する方法
| 原板の幅(mm) | 1820 |
| 原板の高さ(mm) | 910 |
| 部材の幅(mm) | 600 |
| 部材の高さ(mm) | 400 |
| 切り代(mm) | 3 |
| 横に並ぶ枚数 | =INT((B1+B5)/(B3+B5)) |
| 縦に並ぶ枚数 | =INT((B2+B5)/(B4+B5)) |
| 1枚の原板から取れる枚数 | =B6*B7 |
| 部材の必要枚数 | 8 |
| 1枚の原板から取れる枚数 | 6 |
| 必要な原板の枚数 | =ROUNDUP(B1/B2,0) |
| 原板の枚数 | 2 |
| 原板の幅(mm) | 1820 |
| 原板の高さ(mm) | 910 |
| すべての部材の面積の合計(mm²) | 1920000 |
| 端材の面積(mm²) | =B1*B2*B3-B4 |
| 端材の面積(m²) | =B5/1000000 |
| 歩留まり(%) | =B4/(B1*B2*B3)*100 |
| すべての部材の(幅+切り代)×(高さ+切り代)の合計(mm²) | 2589931 |
| (原板の幅+切り代)×(原板の高さ+切り代)(mm²) | 1664399 |
| 理論上の最小枚数 | =ROUNDUP(B1/B2,0) |
| 別々に買う場合の枚数 | 3 |
| まとめ取りの枚数 | 2 |
| 原板の単価(円) | 3980 |
| 節約できる枚数 | =B1-B2 |
| 概算費用(円) | =B3*B2 |
Pythonで計算する方法
import math
sheet_w, sheet_h = 1820, 910 # 原板の幅・高さ(mm)
kerf = 3 # 切り代(鋸の刃厚・mm)
rotate = True # 木目を問わない(部材を90度回転してよい)なら True
unit_price = 3980 # 原板1枚の単価(円)
# 切り出したい部材:(名前, 幅mm, 高さmm, 枚数)
parts = [("天板", 900, 450, 2), ("側板", 700, 400, 4), ("棚板", 600, 350, 3)]
# 部材ごとに別々に買う場合の枚数(縦×横のグリッド。回転可なら向きを入れ替えた方も試す)
def per_sheet(w, h):
return ((sheet_w + kerf) // (w + kerf)) * ((sheet_h + kerf) // (h + kerf)) # 切り捨て(式の ⌊ ⌋)
sheets_separate = 0
for name, w, h, qty in parts:
m = max(per_sheet(w, h), per_sheet(h, w) if rotate else 0)
sheets_separate += math.ceil(qty / m) # 切り上げ(式の ⌈ ⌉)
# まとめ取り:棚方式(高さの高い順に、最初に入る棚へ。回転可なら長辺を横にして並べる)
pieces = []
for name, w, h, qty in parts:
pw, ph = (max(w, h), min(w, h)) if rotate else (w, h)
pieces += [(name, pw, ph)] * qty
pieces.sort(key=lambda p: (-p[2], -p[1]))
sheets = [] # 原板ごとに {"y": 次の棚の位置, "shelves": [{"y", "h", "x", "parts"}]}
for name, pw, ph in pieces:
for sheet in sheets:
shelf = next((s for s in sheet["shelves"] if ph <= s["h"] and pw <= sheet_w - s["x"]), None)
if shelf is None and ph <= sheet_h - sheet["y"]:
shelf = {"y": sheet["y"], "h": ph, "x": 0, "parts": []}
sheet["shelves"].append(shelf)
sheet["y"] += ph + kerf
if shelf is not None:
shelf["parts"].append((name, shelf["x"], shelf["y"], pw, ph))
shelf["x"] += pw + kerf
break
else:
sheets.append({"y": ph + kerf, "shelves": [{"y": 0, "h": ph, "x": pw + kerf, "parts": [(name, 0, 0, pw, ph)]}]})
# 端材・歩留まり・面積の下限
parts_area = sum(qty * w * h for name, w, h, qty in parts)
total_area = len(sheets) * sheet_w * sheet_h
lower_bound = math.ceil(sum(qty * (w + kerf) * (h + kerf) for name, w, h, qty in parts) / ((sheet_w + kerf) * (sheet_h + kerf)))
print(f"部材ごとに別々に買う場合: {sheets_separate} 枚")
print(f"まとめ取り(棚方式): {len(sheets)} 枚(面積の下限 {lower_bound} 枚)")
for i, sheet in enumerate(sheets, 1):
for shelf in sheet["shelves"]:
print(f" 原板{i} 棚(y={shelf['y']}): " + ", ".join(f"{n}@x={x} {pw}x{ph}" for n, x, y, pw, ph in shelf["parts"]))
print(f"端材の面積: {(total_area - parts_area) / 1e6:.3f} m² 歩留まり: {parts_area / total_area * 100:.1f} %")
print(f"概算費用: {unit_price * len(sheets)} 円")
数式記述言語(LaTeX等)での書き方(コピペ可)
c = ⌊(W + k) ÷ (w + k)⌋, r = ⌊(H + k) ÷ (h + k)⌋, m = c × r
c = \left\lfloor \frac{W + k}{w + k} \right\rfloor,\quad r = \left\lfloor \frac{H + k}{h + k} \right\rfloor,\quad m = c \times r
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>c</mi>
<mo>=</mo>
<mo>⌊</mo>
<mfrac>
<mrow><mi>W</mi><mo>+</mo><mi>k</mi></mrow>
<mrow><mi>w</mi><mo>+</mo><mi>k</mi></mrow>
</mfrac>
<mo>⌋</mo>
<mo>,</mo>
<mi>r</mi>
<mo>=</mo>
<mo>⌊</mo>
<mfrac>
<mrow><mi>H</mi><mo>+</mo><mi>k</mi></mrow>
<mrow><mi>h</mi><mo>+</mo><mi>k</mi></mrow>
</mfrac>
<mo>⌋</mo>
<mo>,</mo>
<mi>m</mi>
<mo>=</mo>
<mi>c</mi>
<mo>×</mo>
<mi>r</mi>
</mrow>
</math>
c = |__ (W + k) / (w + k) __|, r = |__ (H + k) / (h + k) __|, m = c * r
c = Floor[(W + k)/(w + k)]; r = Floor[(H + k)/(h + k)]; m = c*r
c := floor((W + k)/(w + k)); r := floor((H + k)/(h + k)); m := c*r;
c = floor((W + k)/(w + k)); r = floor((H + k)/(h + k)); m = c*r;
c = ⌊(W + k)/(w + k)⌋, r = ⌊(H + k)/(h + k)⌋, m = c × r
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>⌈</mo>
<mfrac><msub><mi>q</mi><mi>i</mi></msub><msub><mi>m</mi><mi>i</mi></msub></mfrac>
<mo>⌉</mo>
<mo>,</mo>
<msub><mi>B</mi><mtext>別</mtext></msub>
<mo>=</mo>
<munder><mo>∑</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₁ + w₂ + … + wₙ + (n − 1)k ≤ W, h₁ + h₂ + … + hₛ + (s − 1)k ≤ H
\sum_{j=1}^{n} w_j + (n - 1)k \leq W,\quad \sum_{t=1}^{s} h_t + (s - 1)k \leq H
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover>
<msub><mi>w</mi><mi>j</mi></msub>
<mo>+</mo>
<mo>(</mo><mi>n</mi><mo>−</mo><mn>1</mn><mo>)</mo><mi>k</mi>
<mo>≤</mo>
<mi>W</mi>
<mo>,</mo>
<munderover><mo>∑</mo><mrow><mi>t</mi><mo>=</mo><mn>1</mn></mrow><mi>s</mi></munderover>
<msub><mi>h</mi><mi>t</mi></msub>
<mo>+</mo>
<mo>(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo>)</mo><mi>k</mi>
<mo>≤</mo>
<mi>H</mi>
</mrow>
</math>
sum_(j=1)^n w_j + (n - 1) k <= W, sum_(t=1)^s h_t + (s - 1) k <= H
Total[w] + (Length[w] - 1)*k <= W && Total[h] + (Length[h] - 1)*k <= H
add(w[j], j = 1 .. n) + (n - 1)*k <= W; add(h[t], t = 1 .. s) + (s - 1)*k <= H;
sum(w) + (numel(w) - 1)*k <= W && sum(h) + (numel(h) - 1)*k <= H
∑_(j=1)^n w_j + (n − 1)k ≤ W, ∑_(t=1)^s h_t + (s − 1)k ≤ H
A端 = B × W × H − Σ qᵢ wᵢ hᵢ, Y = Σ qᵢ wᵢ hᵢ ÷ (B × W × H) × 100
A_{\text{端}} = B\,W\,H - \sum_i q_i w_i h_i,\quad Y = \frac{\sum_i q_i w_i h_i}{B\,W\,H} \times 100
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>A</mi><mtext>端</mtext></msub>
<mo>=</mo>
<mi>B</mi><mo>⁢</mo><mi>W</mi><mo>⁢</mo><mi>H</mi>
<mo>−</mo>
<munder><mo>∑</mo><mi>i</mi></munder>
<msub><mi>q</mi><mi>i</mi></msub><msub><mi>w</mi><mi>i</mi></msub><msub><mi>h</mi><mi>i</mi></msub>
<mo>,</mo>
<mi>Y</mi>
<mo>=</mo>
<mfrac>
<mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>q</mi><mi>i</mi></msub><msub><mi>w</mi><mi>i</mi></msub><msub><mi>h</mi><mi>i</mi></msub></mrow>
<mrow><mi>B</mi><mo>⁢</mo><mi>W</mi><mo>⁢</mo><mi>H</mi></mrow>
</mfrac>
<mo>×</mo>
<mn>100</mn>
</mrow>
</math>
A_"端" = B W H - sum_i q_i w_i h_i, Y = (sum_i q_i w_i h_i) / (B W H) * 100
{B*W*H - Total[q*w*h], Total[q*w*h]/(B*W*H)*100}
Awaste := B*W*H - add(q[i]*w[i]*h[i], i = 1 .. n); Y := add(q[i]*w[i]*h[i], i = 1 .. n)/(B*W*H)*100;
Awaste = B*W*H - sum(q .* w .* h); Y = sum(q .* w .* h)/(B*W*H)*100;
A_端 = BWH − ∑_i q_i w_i h_i, Y = (∑_i q_i w_i h_i)/(BWH) × 100
Bmin = ⌈Σ qᵢ (wᵢ + k)(hᵢ + k) ÷ ((W + k)(H + k))⌉
B_{\min} = \left\lceil \frac{\sum_i q_i (w_i + k)(h_i + k)}{(W + k)(H + 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>⌈</mo>
<mfrac>
<mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>q</mi><mi>i</mi></msub><mo>(</mo><msub><mi>w</mi><mi>i</mi></msub><mo>+</mo><mi>k</mi><mo>)</mo><mo>(</mo><msub><mi>h</mi><mi>i</mi></msub><mo>+</mo><mi>k</mi><mo>)</mo></mrow>
<mrow><mo>(</mo><mi>W</mi><mo>+</mo><mi>k</mi><mo>)</mo><mo>(</mo><mi>H</mi><mo>+</mo><mi>k</mi><mo>)</mo></mrow>
</mfrac>
<mo>⌉</mo>
</mrow>
</math>
B_min = |~ (sum_i q_i (w_i + k)(h_i + k)) / ((W + k)(H + k)) ~|
Ceiling[Total[q*(w + k)*(h + k)]/((W + k)*(H + k))]
Bmin := ceil(add(q[i]*(w[i] + k)*(h[i] + k), i = 1 .. n)/((W + k)*(H + k)));
Bmin = ceil(sum(q .* (w + k) .* (h + k))/((W + k)*(H + k)));
B_min = ⌈(∑_i q_i (w_i + k)(h_i + k))/((W + k)(H + 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>Δ</mi>
<mo>=</mo>
<msub><mi>B</mi><mtext>別</mtext></msub>
<mo>−</mo>
<mi>B</mi>
<mo>,</mo>
<mi>T</mi>
<mo>=</mo>
<mi>u</mi>
<mo>×</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コードを実際に実行して行い、実行結果の数値だけを根拠に回答してください(暗算や推測で答えないでください)。 原板1820×910mmの合板から、切り代3mm・部材は90度回転してもよい条件で、天板900×450mm×2枚・側板700×400mm×4枚・棚板600×350mm×3枚を切り出します。 次の値をそれぞれ求めてください。 1. 部材ごとに、同じ部材だけを並べたとき1枚の原板から取れる枚数(⌊(1820+3)÷(幅+3)⌋ × ⌊(910+3)÷(高さ+3)⌋。幅と高さを入れ替えた向きも計算して多い方) 2. 部材ごとに別々の原板から取る場合の原板の合計枚数(必要枚数÷取れる枚数の切り上げの合計) 3. 部材を高さの高い順に並べ、原板を横切る棚を上から順に作って詰める棚方式(First Fit Decreasing Height。棚の中は幅+切り代ずつ右へ、棚は高さ+切り代ずつ下へ進む)で割り付けたときの原板の枚数と、原板ごとの部材の位置 4. 端材の面積(原板の合計面積 − 部材の合計面積)と歩留まり(%) 5. 面積から求めた理論上の最小枚数(全部材の(幅+3)×(高さ+3)の合計を (1820+3)×(910+3) で割った切り上げ) 計算に使ったコードと、実行結果の数値を示してください。
計算ドリル(演習問題)
このページの式を、自分の手で計算できるようになるための演習問題です。
答えと解説は解答ページにあります。
使い方
-
1数値を入力計算したい数値を入力欄に入力します
-
2計算「計算する」ボタンを押します
-
3結果を確認計算結果がその場に表示されます。計算の考え方や式の解説も同じページで確認できます
DataChefの特徴
専門知識不要、直感的で簡単な操作
個人情報を登録することなく使用できます
「ダウンロード」押下でファイルを自動削除
クレジット表記不要
商用利用許諾の連絡も不要です
