お役立ち記事

catch-img

Excel注文書を自動作成する方法|手入力ゼロに近づける業務効率化術

「注文書を毎回手作業で作っていて時間がかかる」
「入力ミスや金額のズレが不安で、確認に手間がかかる」

こうした悩みを抱えている方は少なくありません。注文書は件数が増えるほど負担が大きくなり、急ぎの依頼が重なると本来の業務を圧迫します。

この記事では、Excelを使って注文書を自動作成する方法を、テンプレ化・関数活用・マクロ活用の3つの方法を順番に分かりやすく紹介します。

▼注文書作成をExcel作業で終わらせないならworkrun

注文書を自動作成できても、送付・承認・保管が手作業のままだと抜け漏れが起きやすくなります。書類業務は後工程が重くなりやすいため、Excelだけの自動化では不十分な場合もあります。

workrunなら、既存の複数ツールを連携させ、注文書作成後の共有や申請フローまでを一連の業務としてまとめられます。点在していた作業を流れとして整えることで、次の担当や処理へ自動で進む仕組みを作れます。

手作業の連絡や記録が減るため抜け漏れを防ぎやすく、書類業務全体の効率を高められるのが特長です。

目次[非表示]

  1. 注文書作成が現場の負担になっている理由
    1. 手作業で作るほど、ミスと手間が増えていく構造
    2. よくある注文書業務のつまずき
  2. Excel注文書はどこまで自動で作れる?
    1. 注文書の自動化で減らせる作業
    2. 自動化の手法は「難易度別」に選べる
  3. まずは「テンプレ化」で注文書を量産できる状態に
    1. テンプレに入れるべき最低限の項目
    2. 「入力がラクな注文書」になる設計のコツ
  4. 関数を使って「金額計算と明細入力」を自動化
    1. 計算ミスをゼロにする金額自動化
    2. 商品マスタ連携で「入力は選ぶだけ」に
    3. 入力ミスを防ぐ「データ入力規則」
  5. 注文書のPDF化まで統一しておく
    1. Excel標準機能でPDF出力する基本手順
    2. ファイル管理がラクになる命名ルール
    3. 送付業務まで含めると自動化の価値が大きくなる
  6. ボタン1つで完成|VBAマクロで注文書作成をまとめて自動化
    1. マクロでできる注文書自動化の例【DLサンプルあり】
    2. 導入前に知っておきたい注意点
  7. 注文書を「作るだけ」で終わらせないならworkrunがおすすめ
    1. 注文書作成後の次の業務まで自動でつなげられる
    2. 注文書業務を分断せず、一つの流れで回せる仕組みが整う
    3. 現場に合わせて改善しながら運用できる
  8. Excel注文書は「型→計算→仕組み化」で自動化できる

注文書作成が現場の負担になっている理由

まずは、なぜ注文書業務がここまで負担になりやすいのかについて整理します。自動化の前に、負担の構造を把握することで、どこから改善すべきかが見えてきます。

手作業で作るほど、ミスと手間が増えていく構造

注文書を都度ゼロから作る運用では、品目や金額のコピー&ペーストが増え、その分だけ転記漏れや入力ミスが発生しやすくなります。とくに数量や単価の入力ミスは、合計金額の誤りにつながりやすく、後から修正対応が必要になります。

また、取引先ごとにフォーマットが微妙に異なる場合、レイアウトを整えるだけで時間がかかります。「急ぎで1枚だけ」という依頼が積み重なると、1件あたりは小さな工数でも、積み重なると大きな負担になります。さらに、作成後のPDF化やメール送付まで含めると、実際の作業時間は想像以上に長くなります。

よくある注文書業務のつまずき

注文書業務では、過去の書類を探すだけで時間がかかるケースがあります。ファイル名の付け方が統一されていないと、最新版がどれか分からなくなり、確認に手間がかかります。

また、数量変更時に合計金額の修正を忘れてしまい、そのまま送付してしまうといったトラブルも起こりがちです。担当者ごとに管理方法が違うと、引き継ぎが難しくなり、業務が属人化します。
Excelファイルが増えすぎると管理が煩雑になり、改善のきっかけを失うことにもつながります

Excel注文書はどこまで自動で作れる?

ここでは、「自動作成」とは具体的にどの範囲を指すのかについて整理します。自動化のレベルを理解することで、自社に合った方法を選びやすくなります。

注文書の自動化で減らせる作業

注文書自動化によって、次のような作業を減らせます。

・商品名や単価の手入力
・数量計算や税計算の手計算
・取引先情報の毎回入力
・PDF保存やファイル整理
・承認・共有の手作業

これらは一つひとつをみると単純ですが、件数が増えると大きな負担になります。自動化によって入力や計算の手間を減らすだけでも、業務の安定性が高まります。

自動化の手法は「難易度別」に選べる

自動化には段階があります。まずはテンプレートで型を作り、次に関数で計算や参照を自動化します。さらに、マクロで帳票出力までまとめて処理する方法もあります。

最終的には、外部ツールと連携して「注文→共有→管理」までを一つの流れにすることも可能です。

いきなり高度な仕組みを目指すのではなく、現場の状況に合わせて段階的に進めることが現実的な業務改善となるでしょう。

まずは「テンプレ化」で注文書を量産できる状態に

最も簡単に始められるのがテンプレ化です。型を整えるだけでも、作業時間とミスを大きく減らせます。

テンプレに入れるべき最低限の項目

注文書テンプレートには、以下のような項目をあらかじめ用意しておきます。

・発注先情報(会社名・担当者名)
・発行日・注文番号
・商品明細(品目・数量・単価)
・小計・消費税・合計金額
・納期・支払い条件
・備考欄

これらを最初からレイアウトに組み込んでおくことで、毎回の作り直しを防げます。必要項目が漏れにくくなることで、社内チェックの負担も軽くなります。

「入力がラクな注文書」になる設計のコツ

たとえば入力欄と計算欄を色分けすることで、どこを入力すればよいかが一目で分かります。毎回変わらない会社情報や振込先情報は、固定で入力しておき上書きを防止しておくといいでしょう。

また、商品マスタを別シートで管理するなど、情報を分離しておくと管理がしやすくなります。誰が使っても迷わない構造にすることが、属人化を防ぐ第一歩です。

関数を使って「金額計算と明細入力」を自動化

ここでは、Excel関数を使って注文書の「計算」と「明細入力」をどのように自動化するかについて、具体的な手順を解説します。テンプレートができている前提で、実際にどのセルにどのような式を入れるかまでイメージできる内容にします。

計算ミスをゼロにする金額自動化

まずは、最も基本となる「数量×単価」の自動計算から設定します。

たとえば、数量をB列、単価をC列に入力し、金額をD列に表示する場合、セルD8に【=B8*C8】という数式を入力します。その後、オートフィルで下方向にコピーすれば、各行の金額が自動計算されます。

入力がないときに何も表示させたくない場合は、セルD8に【=IF(AND(B8<>"",C8<>""),B8*C8,"")】という数式を入力します。これは、B列とC列いずれかが空白の場合は空白を返す、という数式で、両方入力したときに計算が行われます。

以下の例では、D列の4番目以降にも同じ数式が入っていますが、B列・C列ともに空白のためD列も空白となっています。

合計金額は、明細の最終行の下に【=SUM(D8:D18)】のようにSUM関数を設定します。明細行が増える可能性がある場合は、あらかじめ余裕を持った範囲を指定しておきます。

小計・消費税・総計を分けて表示すると、社内確認や取引先とのやり取りもスムーズになります。

商品マスタ連携で「入力は選ぶだけ」に

次に、明細入力そのものを簡略化します。別シートに「商品マスタ」を作成し、B列に商品名、C列に単価を一覧で登録します。商品情報を一元管理することで、注文書側ではプルダウンから選ぶだけで済む設計にできます。

注文書の明細シートで、商品名を入力するセルをA列とした場合、まずは入力規則を設定します。

入力規則を適用したいセルを範囲選択したうえで、「データ」タブから「データの入力規則」をクリックします。

ダイアログが表示されるので、入力値の種類を「リスト」にし、元の値の矢印マークから任意のリストを範囲選択します。この例では、矢印マークをクリックした状態で「商品マスタ」のシートに移動し、商品名を範囲選択します。

設定が完了すると、注文書シートでは品目がプルダウンから選べるようになっています。商品名確認の手間が削減できる他、入力ミスを防止するうえでも有効です。

次に、商品単価を表示するC列に【=IFERROR(VLOOKUP(A8,商品マスタ!B:C,2,FALSE),"")】という数式を設定します。

IFERRORは表示がエラーになった場合にどうするかを設定する関数で、ここでは空白を返し、何も入力がないときにC列が空白になるようにします。

VLOOKUPは設定した範囲から指定の値を検索し、該当する値のN個隣りのセルの値を返す関数です。例ではA8の値「A」を、商品マスタシートのB列から検索し、2個隣りの「100,000」を返しています。

入力ミスを防ぐ「データ入力規則」

関数による自動化とあわせて、入力規則を設定するとさらに安定します。

すでに上記の例で入力規則を設定していますが、他にも入力する値を整数のみに指定するなどのオプションがあり、金額を手動で入力する必要があるフローのときに入力ミスを減らせます。

必須項目が空欄のままの場合に警告を出す設定も有効です。たとえば、注文番号や取引先名が未入力の場合にエラー表示を出すことで、未完成の注文書がそのまま送付されることを防げます。

未入力の場合にエラー表示を出すには、例えば「条件付き書式」の機能が使えます。

エラー表示を設定したいセルを範囲選択したうえで、「ホーム」タブから「条件付き書式」→「新しいルール」と進みます。

ルールの種類を「指定の値を含むセルだけを書式設定」にし、ルールの内容を「空白」に設定します。これにより、そのセルが空白の場合にのみ書式を適用する設定となります。

そのまま、プレビュー右の「書式」から任意の書式を設定します。ここでは、エラーであることがわかりやすいように赤の塗りつぶしを設定しました。

OKで適用すれば、設定は完了です。以下では条件付き書式を設定した各セルが空白のため赤くなっていますが、担当者名には「A」を入力したので、書式が適用なしとなっています。

注文書のPDF化まで統一しておく

ここでは、注文書を作成した後の「PDF化」と「ファイル管理」までを、具体的に解説します。

注文書は作って終わりではなく、提出・共有・保管までが一連の業務です。出力ルールを統一することで、作成後の手間やトラブルを減らせます。

Excel標準機能でPDF出力する基本手順

まずは、Excel標準機能を使ったPDF出力の設定です。注文書シートを開いた状態で、「ファイル」→「名前を付けて保存」を選択し、ファイルの種類から「PDF(*.pdf)」を指定し保存することでPDF出力ができます。

レイアウトが崩れないようにするためには、事前に「ページレイアウト」タブで印刷範囲を設定しておきます。注文書の明細部分だけを選択し、「印刷範囲の設定」をクリックしておけば、毎回範囲を指定する手間が省けます。

また、「ページ設定」で余白や拡大縮小を調整しておくと、1ページに収まるきれいな帳票になります。ページ設定は「ページレイアウト」タブからページ設定エリアの右下のボタンから可能です。

おすすめは、「ページ」では100%表示にし(デフォルト)、「余白」にて水平・垂直ともにチェックを入れる設定です。これにより作成した注文書がバランスよく配置されます。あとは余白などを調整することで、位置の微調整が可能です。

さらに、「ヘッダー・フッター」に会社名やページ番号を入れておくと、正式な書類としての体裁が整います。

これらをテンプレート段階で設定しておけば、PDF化のたびにレイアウトを確認する必要がなくなります。

ファイル管理がラクになる命名ルール

PDF化を自動化するうえで重要なのが、ファイル名のルールです。
たとえば「20260630_株式会社〇〇_注文書No1234.pdf」のように、日付+取引先名+注文番号を組み合わせると、後から検索しやすくなります。

Excel側で注文番号や発行日をセルに入力している場合は、それらを使ってファイル名を作ることも可能です。たとえば、発行日がD3セル、取引先名がB3セル、注文番号がD4セルにある場合、印刷範囲外の別セルに「=TEXT(D3,"yyyymmdd")&"_"&B3&"_注文書No"&D4」といった数式を設定すれば、保存用のファイル名を自動生成できます。

このセルをコピーしてからPDF保存すれば、ファイル名にそのままペーストすることができ、毎回手入力でファイル名を整える必要がありません。命名ルールを統一することで、過去の注文書検索や監査対応もスムーズになります。

送付業務まで含めると自動化の価値が大きくなる

PDFを作るだけでなく、その後の送付も効率化の対象です。たとえば、Outlookを使っている場合は、マクロでメールにPDFを添付して下書き保存する仕組みを組み込むことも可能です。

ただし、メール送付まで完全自動化する場合は、誤送信リスクを考慮する必要があります。実務では「PDF生成までは自動」「送信は最終確認後に人が実行」といった設計にすると、安全性と効率のバランスが取れるでしょう。

ボタン1つで完成|VBAマクロで注文書作成をまとめて自動化

ここでは、Excel注文書の作成を「入力→整形→帳票反映→PDF出力」までまとめて実行するための、VBAマクロ活用手順を具体的に紹介します。

関数やテンプレだけでも改善はできますが、件数が多い・毎回同じ手順が発生する現場では、クリック回数そのものを減らすことでより効果を実感できます。

マクロでできる注文書自動化の例【DLサンプルあり】

VBAで目指す姿は、「必要な入力だけ済ませたら、あとはボタンで注文書が完成する」状態です。

具体的には、入力用シート(フォーム)に取引先・納期・明細を入力し、ボタンを押すと、注文書テンプレートへ転記され、印刷範囲や体裁が整い、最後にPDF保存まで終わる流れです。件数が多い場合は、入力用シートを複数行(複数注文)にしておき、行ごとに注文書を連続生成する設計もできます。

まずは、運用をイメージしやすいように、よくある構成を前提にします。

たとえば「入力シート(Input)」「注文書テンプレ(PO)」「商品マスタ(Master)」の3シートを用意し、Inputに必要情報を入れたらPOに反映してPDF化する形です。最初にこの型を決めると、マクロは作りやすく、後の運用も安定しやすくなります。

手順① Excelのシートの用意(サンプルダウンロード)

PDF出力までの自動化を試す場合は、ぜひExcelをダウンロードし、実際に挙動を確認してみてください。
(*サンプルExcelから、「ファイル」>「コピーを作成する」>「コピーをダウンロード」してください。

サンプルの「Input」シートは以下のようになっています。セルの位置が合っていれば問題ないので、シートはご自身で作成し、のちにご紹介するVBAコードを反映する形でも自動化を試せます。

次に、「PO」シートは以下のようになっています。計算はマクロではなくできるだけ数式で行うほうが動作が軽いため、このシートではE列の「金額」に数量と単価を乗算する数式を入れています。

「Master」のシートでは、これまで解説したように商品マスタを入れ、Inputシートで型番を入れると自動で反映するようにしています。

まず自動化を試すだけなら、いったんMasterシートは作成せず、Inputシートの入力をすべて手入力で行っても問題ありません。

手順② VBAでマクロを登録

サンプルのExcelは、通常のExcelファイル(.xlsx)となっています。マクロを有効にするには、自身の環境でマクロ有効ブック(.xlsm)として保存する必要があります。

「開発」タブから「Visual Basic」をクリックし、ダイアログが出たら「挿入」→「標準モジュール」と進みます。

モジュール入力欄にて、以下のVBAコードをコピペします。

コード内に、最低限の入力漏れチェックや、InputからPOへ転記する範囲、PDFファイル名のルール、保存先のパスが記載されています。必要に応じて参照先などを書き換え、PDF出力までの自動化を試してみてください。

Sub CreatePurchaseOrder()
Dim wsIn As Worksheet, wsPO As Worksheet
Dim lastRow As Long, i As Long
Dim saveFolder As String, fileName As String

Set wsIn = ThisWorkbook.Worksheets("Input")
Set wsPO = ThisWorkbook.Worksheets("PO")

' 1) 入力チェック(最低限の必須項目)
If wsIn.Range("B2").Value = "" Or wsIn.Range("B3").Value = "" Then
    MsgBox "取引先名と発行日は必須です。入力してください。", vbExclamation
    Exit Sub
End If

' 2) 注文書テンプレへヘッダー情報を反映
wsPO.Range("B4").Value = wsIn.Range("B2").Value ' 取引先名
wsPO.Range("H4").Value = wsIn.Range("B3").Value ' 発行日
wsPO.Range("H5").Value = wsIn.Range("B4").Value ' 注文番号
wsPO.Range("B5").Value = wsIn.Range("B5").Value ' 担当者名(例)

' 3) 明細転記(Inputの明細はA10:D行、POの明細開始はA12:D)
' 既存明細をクリア
wsPO.Range("A12:D60").ClearContents

lastRow = wsIn.Cells(wsIn.Rows.Count, "A").End(xlUp).Row
If lastRow < 10 Then
    MsgBox "明細がありません。明細を入力してください。", vbExclamation
    Exit Sub
End If

' 明細をコピー(必要範囲だけ)
wsIn.Range("A10:D" & lastRow).Copy
wsPO.Range("A12").PasteSpecial xlPasteValues
Application.CutCopyMode = False

' 4) 合計計算(例:PO側のE列に金額、H列に合計など)
wsPO.Calculate

' 5) PDF保存(命名:yyyymmdd_取引先_注文番号)
saveFolder = "C:\注文書\"
fileName = Format(wsIn.Range("B3").Value, "yyyymmdd") & "_" & _
           wsIn.Range("B2").Value & "_" & _
           "注文書No" & wsIn.Range("B4").Value

wsPO.ExportAsFixedFormat _
    Type:=xlTypePDF, _
    Filename:=saveFolder & fileName & ".pdf", _
    Quality:=xlQualityStandard, _
    IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

MsgBox "注文書をPDF保存しました:" & vbCrLf & saveFolder & fileName & ".pdf", vbInformation

End Sub

次に、Inputシートにマクロを実行するためのボタンを設置します。いくつか方法がありますが、たとえば「開発」タブから「挿入」で「ボタン」を任意の場所に挿入し、「CreatePurchaseOrder」(先ほど登録したマクロ)を割り当てる方法があります。

以下のようにボタンが挿入できれば準備完了です。

取引先名や発行日、明細などを記入してボタンをクリックすると、POへ自動で反映され、指定したフォルダへのPDF出力まで完了します。

サンプルExcelのInputシートにも手順を記載しています。

実務で活用する際は、実際に使用する注文書テンプレートの各セル位置とVBAコードに記載のセル番号を合わせた上でご使用ください。

導入前に知っておきたい注意点

VBAは効果が大きい一方で、運用面で詰まりやすいポイントがあります。特に導入時は、次の点を事前に整理しておくことが重要です。

1.セキュリティ設定でマクロがブロックされる

会社のセキュリティ方針によってマクロが無効化され、現場が「動かない」状態になるケースがあります。導入前に、マクロ有効ブック(.xlsm)の扱い、信頼済みフォルダの設定、実行時の警告表示の運用方針を確認しておく必要があります。

2.環境変更で突然動かなくなる

ExcelやOfficeの更新、保存場所やファイル名の変更など、環境要因で動作が崩れることがあります。そのため、マクロは「セル位置を固定」「シート名を固定」「保存先を固定」など、変数を減らして作るのが基本です。

3.属人化して保守できなくなる

作った人しか触れない仕組みになると、担当者の異動や退職で改修できず止まることがあります。誰が保守するか、仕様変更が出たときにどこを直すか、といった管理ルールを決めておく必要があります。

4.チーム利用で最新版が分からなくなる

複数人で使う場合、「最新版のマクロファイルはどれか」を迷いやすいのも典型です。共有フォルダの置き場所、更新履歴の付け方、配布方法まで含めて決めておくと、導入メリットを継続しやすくなります。

注文書を「作るだけ」で終わらせないならworkrunがおすすめ

ここまでで、Excelを使った注文書の自動作成方法を紹介してきました。しかし実務では、注文書は「作って終わり」ではありません。

workrunを活用すれば、注文書を起点とした一連の業務をフローとして整理し、止まりにくい運用に近づけることができます。

workrunを導入することで、以下3つのメリットが受けられます。

・注文書作成後の次の業務まで自動でつなげられる
・注文書業務を分断せず、一つの流れで回せる仕組みが整う
・現場に合わせて改善しながら運用できる

各メリットについて、詳しく解説します。

注文書作成後の次の業務まで自動でつなげられる

注文書を作成した後には、上長承認、関係部署への共有、会計システムへの登録、管理台帳への記録など、複数の作業が続くことが一般的です。
Excelで注文書を自動生成できても、その後の通知や登録が手作業のままだと、対応漏れや送付忘れが起きやすくなります。

workrunを使えば、注文データやPDF出力をきっかけに、Slack通知やメール送信、スプレッドシートへの台帳登録などを自動で実行できます。担当者の記憶や個別対応に頼らない仕組みを作れる点が、workrunの大きなメリットです。

注文書業務を分断せず、一つの流れで回せる仕組みが整う

注文書業務は、Excel、メール、チャット、クラウドストレージなど複数ツールをまたいで進みます。
その結果、Excelファイルが増え続けたり、最新版が分からなくなったり、どこまで処理が進んでいるのか見えにくくなることがあります。

workrunなら、Excel更新やフォーム入力をトリガーに、通知、保存、登録といった処理を1つのフローとして統合できます
ツールごとにバラバラに設定された自動化を一つの流れとして整理できるため、「この注文書は今どの段階か」が把握しやすくなります。

現場に合わせて改善しながら運用できる

部分的な自動化は、一時的には便利でも、後から条件追加や例外対応が増えて複雑化しやすい傾向があります。特定のマクロや個人設定に依存すると、仕様変更のたびに修正が必要になり、結果として改善が止まることもあります。

workrunでは、業務フローを可視化した形で管理できるため、「どこで止まっているのか」「どの条件を変えたいのか」が把握しやすくなります。条件分岐や担当振り分けをフロー上で整理できるため、現場の変化に合わせて見直しがしやすい点も特徴です。

専門的なプログラミング知識がなくてもワークフローを組み立てられるため、自社の実情に合わせて段階的に改善を進めやすくなります。

Excel注文書は「型→計算→仕組み化」で自動化できる

注文書自動化は、まずテンプレで型を作り、次に関数で計算を自動化し、必要に応じてマクロや連携で仕組み化する流れが現実的です。いきなり高度な仕組みを目指すのではなく、小さく始めることで次の自動化へ進みやすくなり、改善し続ける運用も作りやすくなるでしょう。

▼書類作成+承認・共有を一気通貫にするならworkrun
注文書業務は、書類を「作る」ことよりも、その後の承認・共有・保管までをどう回すかが重要です。

workrunなら、注文書の作成から承認依頼、承認完了後の自動通知、関連部署への共有、履歴管理までを一つのフローとして設計できます

「誰が」「どのタイミングで」「どのツールを使って」を可視化できるため、確認漏れや差し戻しの往復を減らし、業務全体を安定して回せます。

単なる書類作成ツールではなく、注文書業務そのものを仕組み化できるのがworkrunの特徴です。


workrunのサービスサイトはコチラ


人気記事ランキング

おすすめのセミナー