概要
データを活用できる仕組みが備わった、エクセルの請求書テンプレートを作成する方法を紹介します。
具体的には、記入するデータをテーブルにまとめる構成にすることで、
エクセルのバージョン
本記事は、 エクセル2024(ローカルまたは共有フォルダでの運用) を基に作成しています。
環境によっては、UIなどの細かな点が異なる可能性があります。
請求書とは?
請求書は、提供した商品・サービスの代金を請求するための書類です。
書類に必要な項目
請求書には法律で定められた書式はありませんが、
| 項目 | 必須/任意 | 説明 | 例 |
|---|---|---|---|
| 請求者の名前 | 必須 | 会社名または個人名 | 「株式会社〇〇商事」 |
| 住所 | 任意 | 請求元の所在地 | 「東京都千代田区〇〇1-2-3」 |
| 電話番号 | 請求元の連絡先 | 「03-1234-5678」 | |
| 請求金額 | 必須 | 税込の合計金額 | 「¥220,000」 |
| 消費税 | 合計金額に含まれる消費税額 | 「¥22,000」 | |
| 請求書の発行日 | 任意 | 取引先の締め日に合わせるのが一般的 | 「2025/03/31」 |
| 請求書番号 | 請求書を識別する管理番号 | 「INV-20250331-01」 | |
| 支払期限 | 支払期日を明示し、トラブルを防止 | 「2025/04/30」 | |
| 請求書の交付を受ける事業者名 | 必須 | 顧客の会社名・屋号など | 「株式会社サンプル」 |
| 担当者 | 任意 | 宛名や部署名を明記 | 「田中様」 |
| 振込先情報 | 銀行名・支店名・口座番号など | 「〇〇銀行 本店 普通 1234567」 | |
| 振込手数料の負担者 | 「貴社負担」「当社負担」などを明記 | 「振込手数料:貴社負担でお願いします」 | |
| 取引日 | 必須 | 商品やサービスの提供日 | 「2025/03/15」 |
| 取引内容 | 品名・サービス名・作業内容など | 「Webサイト制作」 | |
| 税抜単価 | 1単位あたりの金額 | 「¥50,000」 | |
| 数量 | 数量(個数、時間など) | 「4」 | |
| 明細金額 | 任意 | 税抜単価 × 数量の計算結果(小計) | 「¥200,000」 |
データ活用のための工夫
入力内容をテーブルにまとめ、請求書フォーマットへ参照して埋め込む構造にします。
- 入力・修正箇所が一か所にまとまり、記入漏れ・修正忘れが防げる。
- 外部とのデータ共有が容易になる。
- 入力規則の設定がしやすくなる。
- 入力候補をリスト化して表示できるため、入力ミスや表記ゆれを防止できる。
これにより、他シート・他ファイルと連携したときのデータ処理がスムーズになる。
- 入力候補をリスト化して表示できるため、入力ミスや表記ゆれを防止できる。
ファイルの作り方
構成
1ファイル(ブック)中に2シートを用意します。
- 書類フォーマットシート
- 出力エリア
- 入力エリア
- 作業エリア
- 商品リストシート

入力エリアの作成
入力データを格納する4つのテーブルを作成します。
テーブルの作成方法
- 作成するセルを選択
- 挿入タブ > テーブルボタン
(Ctrl + t)

書類情報テーブル
テーブル名: P_書類情報
| 項目 | 必須/任意 | 説明 | 例 |
|---|---|---|---|
| 請求金額 | 必須 | 税込の合計金額 | 「¥220,000」 |
| 発行日 | 任意 | 請求書の発行日(取引先の締め日に合わせるのが一般的) | 「2025/03/31」 |
| 管理番号 | 請求書を識別する管理番号 | 「INV-20250331-01」 | |
| 支払期限 | 支払期日を明示し、トラブルを防止 | 「2025/04/30」 | |
| 備考 | 書類の備考欄に追加する内容 | 「ご請求金額には定期点検サービスが含まれます。」 |
請求金額には、T_取引内容テーブルを作成後に下記の数式を記入します。

自社情報テーブル
テーブル名: P_自社情報
| 項目 | 必須/任意 | 説明 | 例 |
|---|---|---|---|
| 自社名(請求者の名前) | 必須 | 会社名または個人名 | 「株式会社〇〇商事」 |
| 住所 | 任意 | 請求元の所在地 | 「東京都千代田区〇〇1-2-3」 |
| 電話番号 | 請求元の連絡先 | 「03-1234-5678」 | |
| 振込先情報 | 銀行名・支店名・口座番号など | 「〇〇銀行 本店 普通 1234567」 |
取引先情報テーブル
テーブル名: P_取引先情報
| 項目 | 必須/任意 | 説明 | 例 |
|---|---|---|---|
| 取引先名(請求書の交付を受ける事業者名) | 必須 | 顧客の会社名・屋号など | 「株式会社サンプル」 |
| 担当者 | 任意 | 取引先の担当者宛名 | 「田中」 |
| 振込手数料の負担 | 振込時に手数料を負担する側 | 「相手」または「自社」 |
取引内容テーブル
テーブル名: T_取引内容
書類フォーマット内に設置する「取引内容の一覧表」とは項目が少し異なります。
| 項目 | 必須/任意 | 説明 | 例 |
|---|---|---|---|
| 取引日 | 必須 | 商品やサービスの提供日 | 「2025/03/15」 |
| 商品ID | 任意 | 品名・サービス名・作業内容の識別番号 | 「A-001」 |
| 商品名 | 必須 | 品名・サービス名・作業内容など | 「Webサイト制作」 |
| 税抜単価 | 1単位あたりの金額(税抜) | 「¥50,000」 | |
| 税率 | 1単位あたりの消費税額の割合 | 「0.1」 | |
| 税額 | 1単位あたりの消費税額 | 「¥5,000」 | |
| 数量 | 数量(個数、時間など) | 「4」 |
上記のテーブルを作成したら、P_書類情報の請求金額列に以下の数式

出力エリアの作成
書類フォーマットを出力エリアに作成していきます。
1. 取引内容の一覧表を配置する
最初に、書類内に表示する「取引内容の一覧表」を配置します。
- パワークエリ起動
- T_取引内容テーブルのセルを選択 > データタブ > テーブルまたは範囲からボタン
- 摘要 列の作成
- 列の追加タブ > カスタム列ボタンを押してカスタム列ウィンドウを開く
- 新しい列名欄に摘要を記入
- カスタム列の数式欄に=([商品ID]??"")&" "&[商品名]を記入(=は初めから記入済み)
- OKボタンでカスタム列ウィンドウを閉じる
- 追加した摘要列を取引日列の右側にドラッグ&ドロップで移動
- 数量 列の移動
- 数量列を摘要列の右側にドラッグ&ドロップで移動
- 税抜単価 列の移動
- 税抜単価列を数量列の右側にドラッグ&ドロップで移動
- 明細金額 列の作成
- 列の追加タブ > カスタム列ボタンを押してカスタム列ウィンドウを開く
- 新しい列名欄に明細金額を記入
- カスタム列の数式欄に=[数量]*[税抜単価]を記入
(=は初めから記入済み) - OKボタンでカスタム列ウィンドウを閉じる
- 追加した明細金額列を税抜単価列の右側にドラッグ&ドロップで移動
- 不要な列の削除
- Shiftを押しながら商品IDと税額列を選択
(商品ID, 商品名, 税率, 税額列を同時選択状態にする) - ホームタブ > 列の削除ボタン
- Shiftを押しながら商品IDと税額列を選択
- テーブルの設置
- ホームタブ > 閉じて読み込むプルダウン > 閉じて次に読み込む...ボタンでパワークエリを閉じる
- データのインポートウィンドウで下記の状態にする > OKボタン
- テーブルを選択
- 既存のワークシートを選択, =$B$11あたりのセルを指定
- このデータをデータモデルに追加するは未チェック
- テーブルの設定
- テーブルデザインタブ > プロパティボタン > 列の幅を調整するのチェックを外す > OKボタン
- テーブルデザインタブ > フィルターボタンのチェックを外す
- テーブルスタイルや行の縞模様などを変更し、テーブルのデザインを変更(任意)
- テーブルデザインタブ > テーブル名欄で取引内容の一覧表を記入(任意)
ここで作成した表の列が、書類フォーマット中の 列の基準となります。

2. 書類フォーマットの形を作る
上記で作成したテーブルから参照する形で、
出力エリアの列は固定すると作業しやすい
出力エリア上に表示された書類フォーマットを常に見える状態にしていると、作業がしやすくなります。
設定手順:
入力エリアの左端の列を選択 > 表示タブ > ウィンドウ枠の固定
出力エリアの 列の基準は取引内容の一覧表 であるため、
- 列の数・幅の調整を行う場合は、取引内容の一覧表のレイアウトが崩れないようにする。
- テキストのスタイル・位置調整では、下記を活用する:
- リンクされた図 ※1
- テキストボックス ※1
- セルの書式設定 > 配置 > 「横位置:選択範囲の中央」、インデント
- (セルの結合)
次の画像が、書類フォーマットの例です。

※1 構造化参照は使えない
「リンクされた図」や「テキストボックス」では、
セルを参照できますが、構造化参照は使用できません
(INDIRECT関数を利用したとしても)。
そのため、テーブルから値を参照する場合は、
通常の相対参照/絶対参照を使用する必要があります。
3. 書類フォーマットの出力範囲設定をする
書類フォーマットのエリア(出力エリア)のみが印刷されるように設定します。
- 書類のフォーマットの列を選択 > ページレイアウトタブ > 印刷範囲プルダウン > 印刷範囲の設定
- 書類のフォーマットの列を選択 > ページレイアウトタブ > 拡大縮小印刷欄の横幅:で1ページを選択
- ページレイアウトタブ > 余白プルダウン > ユーザー設定の余白...
ページ中央:水平にチェック > OKボタン
4. 商品リストと連携する
商品リストを作成し、
- シート名を商品リストの新規シートを作成(名前は任意)
- 商品リストシートに下記の列名を持つ、テーブルM_商品を作成(A1セルに設置)
- 商品ID
- 商品名
- 税抜単価
- 税率
- T_取引内容テーブルの商品ID列に入力規則を設定
- 商品ID列の全データを範囲選択 > データタブ > データの入力規則を選択
- データの入力規則ウィンドウの設定タブで下記を設定
- 入力値の種類:リスト
- 空白を無視するのチェックを入れる
- ドロップダウンリストのチェックを入れる
- 元の値: =INDIRECT("M_商品[商品ID]")を記入
- 商品名, 税抜単価, 税率, 税額列に下記の数式を記入
- 商品名列: =VLOOKUP([@商品ID],M_商品,COLUMN(M_商品[商品名]))
- 税抜単価列: =VLOOKUP([@商品ID],M_商品,COLUMN(M_商品[税抜単価]))
- 税率列: =VLOOKUP([@商品ID],M_商品,COLUMN(M_商品[税率]))
- 税額列: =ROUNDDOWN([@税抜単価]*[@税率],0)

5. 入力手順のメモを追加する
利用者向けのメモや注意書きを追加し、記入時に迷わないようにします。
メモ書きや注意書きの方法
- 入力エリアのセルに記入
- 入力規則の「入力時メッセージ」に記入
- コメントの挿入を使って記入
- テキストボックス・図形に記入
(出力エリア内に配置する場合は、オブジェクトを印刷するをOFFにする)
T_取引内容テーブルの説明書き:
- テーブルの上のセルに
「↓ テーブルを更新後、 「すべて更新」を実行すること!」 を記入 - ※ コメントは、他のテーブル内に入らないように注意
- 商品ID列データの入力規則の「入力時メッセージ」に下記を設定
- タイトル: 「 プルダウンから選択 or 空白 」
- 入力時メッセージ: 「 商品IDがプルダウンにない場合は空白にする 」
- 商品名, 税抜単価, 税率列データの入力規則の「入力時メッセージ」に下記を設定
- タイトル: 「 VLOOKUP数式を記入 or 値を手入力 」
- 入力時メッセージ: 「 VLOOKUP数式の結果が#N/Aの場合は、値を直接入力する 」

ファイルの使い方
書類の作成方法
作成したテンプレートファイルから書類を作成する方法です。
※「セキュリティの警告 外部データ接続が無効になっています」と表示される場合は「コンテンツの有効化」を選択する
- 作成したテンプレートファイルから、新規ファイルを作成
- 入力エリアの4つのテーブル(P_書類情報, P_自社情報, P_取引先情報, T_取引内容)に記入
- ※ P_自社情報の変更頻度は通常、少ない。
- ※ T_取引内容の記入・修正後は、取引内容の一覧表に反映するため、データタブのすべて更新ボタンを押す必要あり(Ctrl + Alt + F5)。
- PDF出力する場合は、請求書シートを開いた状態で、ファイルタブのエクスポート > PDF/XPSの作成ボタン > ファイル名をつけて保存
テンプレートから作成した書類ファイル(.xlsx)の保存も忘れないようにしましょう。
商品リストデータの更新方法
T_取引内容テーブルで選択できる商品リストを更新する場合は、
まとめ
- テーブル参照型テンプレートにすることで、修正・転用が簡単になる
- 入力規則を設定すれば、データの一貫性と精度が上がる
請求書テンプレートを「書類」としてだけでなく、
外部ファイルのデータを参照することで、

