データ一覧からの請求書の作り方を徹底解説!エクセル関数とクエリ活用【マクロ不要】

はじめに
- 「毎月、
大量のデータ一覧から手作業で請求書を作っていて時間がかかる…」 - 「マクロ/VBAを使えば自動化できるのは知っているけれど、
コードを書くのはハードルが高いし、 引き継ぎも不安。 」
このような悩みをお持ちではないですか?
Excel(エクセル)
本記事では、
Excelのバージョン
本記事は、
環境によっては、
マクロ/VBA不要!Power Queryを使う理由
Power Queryは「複数行を抽出する処理を、
Power Query(パワークエリ)
Power QueryはExcel標準機能の1つです。
「セル単位で処理をする関数」
※ 本記事では「Power Query(パワークエリ)
見出しでは「パワークエリ」

Power Queryはデータ更新がリアルタイムではなく、
Power Queryを使う理由は、
- 複数セルを一度に出力できる
- 難易度が低い
1. 複数セルを一度に出力できる
「1つの条件(請求書Noなど)
- 関数の場合:
- VLOOKUP関数では1セルしか出力できない。
- スピル機能を使えば複数セルの出力が可能だが、
古いExcel(2016未満) では使用できない。 - スピル機能は、
出力範囲に記入済みセルがあると #SPILL! エラーが発生する。
- VLOOKUP関数では1セルしか出力できない。
- Power Queryの場合:
- 複数セルを一度に出力できる。
- Excel 2016以降で標準利用可能(2010、
2013もアドインで対応可能) 。 - 出力先に記入済みセルがあっても、
新規の行・列として挿入される。
- 複数セルを一度に出力できる。

今回はPower Queryを、
2. 難易度が低い
Power Query は、
一方で マクロ/VBA は自由度が高い反面、
ただし関数も併用する
単純な処理のみを行う場面では、

ここでは XLOOKUP 関数をメインに使用していますが、
【完成イメージ】データ一覧から請求書を自動抽出する仕組み
ここでは、
具体的には、
VLOOKUP や FILTER 関数で行っている処理を
マスタテーブルも活用できるように
商品マスタ(M_商品テーブル)
- M_商品 → T_請求書明細 の紐づけ
- 商品IDをドロップダウンリストから選択可能(データの入力規則)
- 商品ID選択時に、
品名・単価などを自動入力(XLOOKUP関数)
- 商品IDをドロップダウンリストから選択可能(データの入力規則)
- M_得意先 → P_得意先ID の紐づけ
- 得意先IDをドロップダウンリストから選択可能
- 得意先情報(住所・担当者など)
を自動入力(XLOOKUP関数)
※ P_得意先ID :書類で使用する得意先IDを1つ指定する欄
作成工程の概要
本記事では、
-
【メイン処理】工程1 パワークエリで明細データから必要項目の抽出 :
複数書類を含む明細一覧から、
特定の請求書Noに紐づくデータのみを抽出。 -
【レイアウト】工程2 書類フォーマットの整形 :
印刷・PDF出力したときに書類として使えるよう、
見た目を整える。 -
【補助機能1】工程3 関数で商品マスタデータを明細に自動記入 :
商品ID選択により、
品名・単価を自動入力。 -
【補助機能2】工程4 関数で得意先マスタデータを書類に自動記入 :
得意先ID選択により、
住所・担当者を自動入力。
工程1 パワークエリで明細データから必要項目の抽出
この工程は最も重要です。
Power Queryを使い、
テーブルの準備
T_請求書明細とP_請求書Noをマージ
Power Queryではデータ更新に「更新」
Power Queryは、
元のデータを変更した場合は、
- データタブのすべて更新を選択
- Power Queryで出力したテーブルを右クリック > 更新を選択
工程2 書類フォーマット(ひな形) の整形
工程1の出力テーブルを基に、
出力テーブルの列幅の自動変更をOFF設定
書類フォーマットの用意
工程3 関数で商品マスタデータを明細データに自動記入
ここからは「入力補助」
テーブルの列の「名前定義」
請求書明細の商品ID列にプルダウンメニュー設定
工程4 関数で得意先マスタデータを書類に自動記入
工程3と同様に「入力補助」
テーブルの準備
テーブルの列の「名前定義」
実務での運用フローと注意点
上記で作成したシステムを使用する際は、
-
データの蓄積
売上が発生するごとに、T_請求書明細 テーブルに新しい行を追加。 -
発行情報の入力
「入力エリア」
にある以下のパラメータを書き換え: - P_請求書No : 発行したい番号
- P_得意先ID: 得意先のID
- P_請求書情報 : その他の情報(発行日や備考など)
-
データの更新
以下のいずれかを行い、
テーブルの更新操作を実行。 - データタブのすべて更新を選択
- Power Queryで出力したテーブルを右クリック > 更新を選択
-
出力
内容に間違いがないか確認し、
印刷・PDF出力を行う。
更新忘れに注意!
値を書き換えただけでは明細テーブルは変わりません。
「書き換えたら更新」
まとめ|Power Queryで請求書作成を効率化しよう
今回は、
本システムは主に、
- 関数 : 単純な処理に使用。
- Power Query : 複数セルを一度に出力する場所に使用。
Power Queryは、
属人化・ブラックボックス化しにくく、
Excel業務を効率化したい方は、






















