見積書の合計・税込計算をExcelで自動にする式(小計→諸経費→値引き→消費税の順)【LibreOfficeで計算して確認】
見積書をExcelで作ると、「諸経費は税抜の小計にかけるのか」「値引きは消費税の前か後か」「端数はどこで丸めるのか」で手が止まりがちです。この記事では、小計 → 諸経費 → 値引き → 消費税 → 税込合計という一つの順番で、各セルに入れる式と、端数処理を入れる場所を示します。
出典: 筆者がLibreOfficeで計算して確認(検証スクリプト: site/verify/estimate_total.py)。外部サイトの説明は参照していません。Excelでは未確認です。使うのはSUM・ROUND・ROUNDDOWN・IF・ORだけですが、本番の見積書に使う前に、数行で結果を確かめてください。
この記事で示す順番と丸め方は、検証のために決めた「一つの例」です。取引先との取り決めや社内ルールが違えば、そちらが優先です。インボイスなど請求書の記載要件の判断は、この記事では行いません。
先に結論
明細を2〜21行目(20行)、金額を合計するセルを G列に置いた場合の式です。
D2〜D21(金額): =IF(OR(B2="",C2=""),0,ROUND(B2*C2,0))
G2 (小計): =SUM(D2:D21)
G3 (諸経費率): 0.1 ← 10%なら「10%」または0.1と入力
G4 (諸経費): =ROUND(G2*G3,0)
G5 (値引き): (円で入力)
G6 (課税対象額): =G2+G4-G5
G7 (消費税): =ROUNDDOWN(G6*0.1,0)
G8 (税込合計): =G6+G7
- 端数は3か所で処理します。明細の金額(四捨五入)、諸経費(四捨五入)、消費税(切り捨て)です。
- 消費税は、明細ごとではなく、課税対象額に対して1回だけ計算しています。
- 数量や単価が空の行は、
IF(OR(...),0,...)で0円にして、エラーを防いでいます。
実際に計算した結果
次の10ケースを計算しました(諸経費の率は%、値引きは円)。
| ケース | 小計 | 諸経費 | 値引き | 課税対象額 | 消費税 | 税込合計 |
|---|---|---|---|---|---|---|
| 単純3行 | 182,000 | 0 | 0 | 182,000 | 18,200 | 200,200 |
| 諸経費10% | 182,000 | 18,200 | 0 | 200,200 | 20,020 | 220,220 |
| 諸経費10%+値引き5,000 | 182,000 | 18,200 | 5,000 | 195,200 | 19,520 | 214,720 |
| 小数の数量 | 14,506 | 0 | 0 | 14,506 | 1,450 | 15,956 |
| 諸経費7%(端数あり) | 32,712 | 2,290 | 0 | 35,002 | 3,500 | 38,502 |
| 税の端数(1,005円) | 1,005 | 0 | 0 | 1,005 | 100 | 1,105 |
| 諸経費5%+値引き1,234 | 99,999 | 5,000 | 1,234 | 103,765 | 10,376 | 114,141 |
| 明細が空(諸経費10%) | 0 | 0 | 0 | 0 | 0 | 0 |
| 値引き=小計+諸経費 | 10,000 | 1,000 | 11,000 | 0 | 0 | 0 |
| 大きな金額(諸経費15%) | 13,222,215 | 1,983,332 | 100,000 | 15,105,547 | 1,510,554 | 16,616,101 |
10ケース、各5項目(小計・諸経費・課税対象額・消費税・税込合計)の計50件がすべて、整数計算の期待値と一致しました。
見るところを3つ挙げます。
- 小数の数量: 2.5×3,333=8,332.5 は 8,333 に、0.5×12,345=6,172.5 は 6,173 に四捨五入され、小計は 14,506 になりました。明細ごとに丸めてから合計する形なので、明細の金額を足した値と小計が一致します(見積書を見た人が電卓で検算しやすい形です)。
- 諸経費の端数: 32,712円の7%は 2,289.84 で、四捨五入して 2,290円。
- 税の端数: 1,005円の10%は 100.5 で、切り捨てて 100円。税込は 1,105円です。
端数処理の式が、ほかの値でも崩れないかを確認
「G6*0.1 のような小数のかけ算は、浮動小数点の誤差で端数が狂うのでは」と心配になるため、次の範囲を整数計算と全件照合しました。
- 消費税
=ROUNDDOWN(N*0.1,0): N=0〜30,000 の30,001件 → 不一致 0件 - 諸経費
=ROUND(S*率,0): S=0〜2,000円 × 率1〜20%(1%刻み)の40,020件 → 不一致 0件
これはLibreOfficeでの結果で、Excelで同じとは限りません。重要な見積書では、端数が出そうな金額で一度、電卓と照らし合わせてください。
つまずきやすい点
- 値引きが大きすぎると課税対象額がマイナスになります。
G2+G4-G5が負になると、消費税や税込合計も負になり、見積書として成り立ちません(この記事ではマイナスの場合の結果は検証していません)。値引き額が「小計+諸経費」以下かを確認する列(=IF(G6<0,"値引き超過","")など)を置くと安全です。値引き=小計+諸経費ちょうどの場合は、課税対象額0・税0・税込0になりました(上の表の9行目)。 - 諸経費率を「10」と入力すると1,000%になります。 セルを%表示にして「10%」と入力するか、0.1と入力します。
- 丸め方を変えると結果が変わります。 諸経費を切り捨てにすれば、上の7%のケースは 2,289円になり、税込も変わります。どの項目をどう丸めるかを、見積書の備考に書いておくと、後で食い違いにくくなります。
- 軽減税率(8%)の品目が混ざる見積書は、この式では扱えません。 税率ごとに課税対象額を分ける必要があります。
注意点: この記事ができないこと
- 税率ごとの区分記載、インボイスの記載要件、請求書への変換は扱いません。
- 消費税の端数処理の方法(切り捨て・切り上げ・四捨五入)の適否は判断しません。ここでは切り捨てを例にしました。
- 数量×単価の「単価」が小数になる場合の取り扱いは、四捨五入で明細を整数にするという一つの方法を示しただけです。
見積書のひな形が必要なら
この記事の式は、自分で作った表にそのまま使えます。工事・リフォーム向けのひな形を探しているなら、運営者が作った工事・リフォーム用 見積書テンプレート(Excel・980円)があります。数量×単価(四捨五入)、諸経費率、値引き、消費税10%(切り捨て)、税込合計を自動計算し、明細は20行、A4縦1枚で印刷できます。軽減税率の混在や、インボイス要件の保証はできません。Excelの確認はWindowsデスクトップ版16のみです。(これは運営者の商品の案内です。)
消費税だけをさっと計算したいときは、無料の消費税 計算ツールや、見積の小計から税込までを一度に出す見積の合計計算ツールも使えます(入力は外部に送信されません)。
まとめ
- 順番は「小計 → 諸経費 → 値引き → 消費税 → 税込合計」
- 端数は、明細の金額(ROUND)、諸経費(ROUND)、消費税(ROUNDDOWN)の3か所で処理する
- 消費税は課税対象額に1回だけかける
- 値引きが「小計+諸経費」を超えるとマイナスになるので、確認の列を置く
- 10ケース(50件)と約7万件の端数照合はLibreOfficeで一致。Excelでは未確認のため、本番の見積書では電卓で検算する
参考にした情報
- 出典: 筆者がLibreOfficeで計算して確認(検証スクリプト: site/verify/estimate_total.py)