Excel

【Excel】エクセルで差し込み文書の作り方(どこ・タブがない・おかしい・反映されない・Word連携・設定手順・マクロ活用)方法

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

案内状・通知書・お礼状など、宛名や内容の一部だけを変えながら大量に文書を作成したい場面は、ビジネスの現場でよくあることではないでしょうか。

「差し込み文書」とは、エクセルなどで管理しているデータをWordの文書テンプレートに自動的に埋め込み、一人ひとりに合わせた内容の文書を効率よく作成する手法のことです。

この機能を使いこなせば、100件・1000件のデータを持つ住所録があっても、ボタンひとつで全員分の文書を自動生成できるようになります。

この記事では、エクセルで差し込み文書を作成する(Word連携・設定手順・マクロ活用)方法について、データの準備からWordとの連携手順・マクロによる自動化まで、イメージ図を交えながら丁寧に解説していきます。

初めての方でも迷わず実践できる内容になっていますので、ぜひ最後までお読みください。

【結論】エクセルで差し込み文書を作るには「エクセルでデータシートを整備してWordの差し込み印刷機能に連携させる方法」が最も安定していて実務で使いやすい

それではまず、エクセルで差し込み文書を作成する方法の全体像と、目的別に選ぶべき手段の結論について解説していきます。

差し込み文書を作成するアプローチは大きく3つに分かれます。

差し込み文書を作成する3つのアプローチ

方法① エクセルデータ+Wordの差し込み印刷機能を使う → 最も標準的な方法。Wordで文書テンプレートを作り、エクセルの住所録・顧客データを差し込み先として連携させる。安定していて操作が直感的。

方法② エクセル単体でVLOOKUP関数を使って差し込みシートを作る → Wordを使わずエクセルのみで完結させたい場合に有効。データシートと印刷シートを分けてVLOOKUPで情報を呼び出す仕組みを構築する。

方法③ エクセルVBAマクロでWordを自動操作して文書生成する → 大量データを完全自動で処理したい場合に最適。VBAからWordを操作してデータを流し込み、ファイル保存・印刷まで自動化できる。

件数が少なくレイアウトが単純であれば方法②のエクセル単体方式が手軽ですが、本格的な文書(案内状・通知書・請求書など)を大量に作成する場合は方法①か方法③が圧倒的に効率的です。

以下のイメージ図は、エクセルで作成したデータシートの基本構成を示しています。

⚡ 1行目の見出し名がWordの差し込みフィールド名として使われる。郵便番号は文字列書式で入力。

差し込み文書に使うエクセルデータの整備ポイント

差し込み文書をスムーズに作成するためには、エクセルのデータシートを正しく整備しておくことが最初の重要なステップです。

まず、1行目には必ず見出し行(フィールド名)を入力することが絶対条件です。

「氏名」「会社名」「住所」「郵便番号」「担当者名」などの見出しが、Wordの差し込みフィールドとして認識されます。

見出しに半角スペースや特殊文字が含まれていると、Wordで認識エラーが起きることがあるため、シンプルな日本語や英数字の見出し名を使うようにしましょう。

また、郵便番号は「0」から始まる場合があるため、セルの書式を「文字列」に設定してから入力することが必要です。

データシート作成時に注意すべき4つのルール

Wordの差し込み印刷機能とエクセルを連携させる際、データシートの作り方にはいくつかの重要なルールがあります。

差し込み用エクセルデータシートの4つのルール

ルール① 1行目は必ず見出し行にする → 空白行や結合セルを1行目に置かない。Wordがフィールド名として読み込む行のため、純粋な見出しのみを配置する。

ルール② データは2行目以降に連続して入力する → 途中に空白行を挟まない。空白行があると差し込みが途中で止まることがある。

ルール③ セルを結合しない → 結合セルがあると列の認識がズレてWordが正しく読み込めなくなる場合がある。

ルール④ 郵便番号・電話番号など先頭が0の数値は文字列書式で入力する → 数値書式では先頭の0が消えてしまうため「文字列」書式に設定してから入力する。

これらのルールを守って作成したデータシートは、Wordだけでなく他の差し込みツールやデータベースとの連携にも使いやすい汎用性の高いデータ資産になります。

差し込み文書の用途と対応する文書の種類

差し込み文書はさまざまな用途に活用できます。

どのような文書に使えるのかを把握しておくことで、業務への応用範囲が広がります。

文書の種類 差し込む主なデータ 推奨する作成方法
案内状・招待状 氏名・会社名・敬称 Word差し込み印刷連携
封筒・宛名ラベル 郵便番号・住所・氏名 Word差し込み印刷連携
請求書・納品書 社名・担当者・金額・日付 VLOOKUPまたはVBAマクロ
通知書・お知らせ 氏名・内容・日程 Word差し込み印刷連携
修了証・表彰状 氏名・日付・内容 VBAマクロで自動生成

案内状や封筒のように「レイアウトはWordで整えたい」という文書はWord連携が向いています。

請求書や修了証のように「エクセルのデータと計算を活かしたい」という文書はVBAマクロが効果的です。

WordとエクセルデータでWordの差し込み文書を作成する手順

続いては、Wordの差し込み印刷機能にエクセルのデータを連携させて、差し込み文書を実際に作成する手順を確認していきます。

操作の流れをひとつひとつ確認することで、初めての方でもスムーズに設定できます。

Wordで差し込み印刷を設定する基本手順

WordとエクセルデータでWordの差し込み文書を作成する際の、基本的な操作の流れは以下の通りです。

Word差し込み印刷の基本設定手順

① Wordを開いて差し込み文書のテンプレートを作成(または既存の文書を開く)

②「差し込み文書」タブをクリックする

③「差し込み印刷の開始」→ 使用する文書の種類(レター・封筒・ラベルなど)を選択する

④「宛先の選択」→「既存のリストを使用」→ エクセルファイルを選択する

⑤ シートの選択ダイアログで使用するシート名を選び「OK」をクリックする

⑥ Word文書内の差し込みたい位置にカーソルを置いて「差し込みフィールドの挿入」→ フィールド名(氏名・住所など)を選択する

⑦「結果のプレビュー」ボタンで内容を確認する

⑧「完了と差し込み」→「ドキュメントの印刷」または「個々のドキュメントの編集」を選択する

「個々のドキュメントの編集」を選ぶと、全件分の文書が1つのWordファイルにページ区切りで生成されます。

内容を確認してから印刷したい場合や、ファイルとして保存したい場合はこちらを選ぶとよいでしょう。

以下のイメージ図は、Wordの「差し込み文書」タブから「宛先の選択」でエクセルファイルを指定する操作の流れを示しています。

📘
Microsoft Word — 差し込み文書タブの操作
案内状.docx
ホーム
挿入
レイアウト
差し込み文書 ← 選択中
校閲
📝
差し込み印刷の開始
👥
宛先の選択 ← ここをクリック
一覧の新規作成
既存のリストを使用 ← エクセルを指定
Outlookの連絡先から選択
🔤
差し込みフィールドの挿入
👁
結果のプレビュー
完了と差し込み
▲ 「宛先の選択」→「既存のリストを使用」でエクセルファイルを指定するとデータが連携される
⚡ Wordの「差し込み文書」タブにある各ボタンを上から順に操作するだけで差し込み文書が完成する

差し込みフィールドの挿入と文書テンプレートの作り方

エクセルデータとWordを連携させた後は、文書テンプレート内の適切な位置に差し込みフィールドを配置していきます。

差し込みフィールドとは、エクセルデータの列見出しに対応するプレースホルダーで、印刷時にそれぞれの値に置き換えられます。

たとえば「<<氏名>>」というフィールドを文書内に挿入しておくと、印刷時には「田中 太郎」「鈴木 花子」のように各行のデータに自動で置き換えられます。

差し込みフィールドを挿入する手順

① Word文書内の差し込みたい位置にカーソルを置く

②「差し込み文書」タブ →「差し込みフィールドの挿入」をクリックする

③ ドロップダウンに表示されるフィールド名(エクセルの見出し名)から使いたいものを選ぶ

④ 文書内に「<<氏名>>」「<<住所>>」などのフィールドが挿入される

⑤「結果のプレビュー」を押すと実際のデータに置き換えた状態を確認できる

「様」「御中」などの敬称はフィールドの後に直接テキストとして入力します。

たとえば「<<氏名>> 様」とすると、自動的に「田中 太郎 様」と表示されます。

フィールドの前後のスペースや改行の位置を整えておくことで、レイアウトが崩れない文書テンプレートが完成します。

差し込み文書の出力方法と保存のコツ

全件分の差し込みが完了したら、「完了と差し込み」から出力方法を選択します。

出力方法は主に3種類あり、目的に応じて使い分けましょう。

差し込み文書の出力方法

「ドキュメントの印刷」→ 直接プリンターに送って全件印刷する。最もシンプルな出力方法。

「個々のドキュメントの編集」→ 全件分が1つのWordファイルに連結されたドキュメントが生成される。内容確認・修正・保存ができる。

「メールの送信」(Outlookと連携している場合)→ 各メールアドレス宛に個別メールとして送信できる。

「個々のドキュメントの編集」で生成されたWordファイルは、各ページが1件ずつのデータに対応しています。

PDFとして保存する場合は「名前を付けて保存」からPDF形式を選択するだけで完了です。

エクセル単体でVLOOKUP関数を使った差し込み文書シートを作る方法

続いては、Wordを使わずにエクセル単体でVLOOKUP関数を活用した差し込み文書シートを作成する具体的な設定方法を確認していきます。

エクセルだけで完結させたい場合や、エクセルの計算機能と差し込みを組み合わせたい場合に非常に有効な方法です。

データシートと文書シートの2シート構成で作る

エクセル単体で差し込み文書を作成する基本的な構成は、「データシート」と「文書(印刷)シート」の2シートに分ける方法です。

データシートには氏名・住所・会社名などのデータを管理し、文書シートには実際に印刷するレイアウトを作成します。

文書シートには「現在印刷中のNo」を入力する切り替えセルを設け、そのセルの値をもとにVLOOKUP関数でデータシートから必要な情報を引き出す仕組みを構築します。

文書シートのVLOOKUP数式の例

切り替えセルをA1とした場合

氏名を取り出す → =VLOOKUP($A$1,データ!$A:$E,2,0)

会社名を取り出す → =VLOOKUP($A$1,データ!$A:$E,3,0)

住所を取り出す → =VLOOKUP($A$1,データ!$A:$E,4,0)

氏名に「様」を付ける → =VLOOKUP($A$1,データ!$A:$E,2,0)&” 様”

A1に「1」を入れると1件目、「2」を入れると2件目のデータが文書シート全体に自動反映される

切り替えセル(A1)の値を1・2・3と変えるたびに、文書シート全体のデータが自動更新されます。

1件ずつCtrl+Pで印刷し、切り替えセルの番号を変えて次の件を印刷、という流れで差し込み文書の印刷が実現できます。

XLOOKUP関数を使うとより柔軟な差し込みができる

Excel2019以降であれば、VLOOKUPの後継にあたるXLOOKUP関数も選択肢に入ります。

XLOOKUPはVLOOKUPと比べて列番号の指定が不要で、参照する列を直接範囲で指定できるため直感的に使えます。

XLOOKUP関数を使った差し込み数式の例

=XLOOKUP($A$1,データ!$A:$A,データ!$B:$B)

→ データシートのA列でA1の値を検索し、B列(氏名)の値を返す

=XLOOKUP($A$1,データ!$A:$A,データ!$C:$C)

→ 同様にC列(会社名)の値を返す

VLOOKUPのように「何列目か」を数える必要がなく、参照したい列を直接指定できるためミスが減る

XLOOKUPは列が後ろにある場合でも問題なく参照でき、VLOOKUPでは苦手だった「左方向への参照」も可能です。

Excel2019以降を使っている場合はXLOOKUPへの移行を検討することをおすすめします。

差し込み文書シートのページ設定と印刷の仕上げ

エクセルで差し込み文書シートを作成したら、印刷前に必ずページ設定を整えておきましょう。

「ページレイアウト」タブで用紙サイズ・余白・印刷範囲・ヘッダーフッターを設定し、印刷プレビューで1件ごとに内容とレイアウトを確認してから本番印刷に進むのが基本的な流れです。

印刷範囲を固定して文書シートをきれいに印刷する手順

文書シートで印刷したい範囲をドラッグ選択 →「ページレイアウト」タブ →「印刷範囲」→「印刷範囲の設定」をクリック → Ctrl+P でプレビューを確認 → OKなら印刷実行

印刷範囲を一度設定しておけば、切り替えセルの番号を変えて印刷を繰り返す際も、常に同じ範囲が印刷対象となります。

VBAマクロで差し込み文書の自動生成・連続印刷を実現する方法

続いては、VBAマクロを活用してエクセルのデータから差し込み文書を自動生成したり、Wordと連携して連続印刷を自動化したりする方法を確認していきます。

件数が多い場合や定期的に繰り返す業務では、マクロによる自動化が最も効率的な解決策になります。

エクセル単体の差し込みをVBAで自動化するコード

先ほどのVLOOKUP方式の差し込みを手動で番号を切り替えながら印刷する作業は、VBAを使えば全件を自動でループ印刷することができます。

差し込み連続印刷を自動化するVBAコードの基本構造

Sub 差し込み文書連続印刷()

Dim i As Long

Dim lastRow As Long

lastRow = Sheets(“データ”).Cells(Rows.Count, 1).End(xlUp).Row – 1

For i = 1 To lastRow

Sheets(“文書”).Range(“A1”).Value = i

Sheets(“文書”).PrintOut

Next i

MsgBox “全” & lastRow & “件の印刷が完了しました。”

End Sub

このコードは「データ」シートの最終行を自動判定し、「文書」シートのA1に1から順番に番号を入れながら全件連続印刷する

VBAエディタはAlt+F11で開き、挿入メニューから「標準モジュール」を追加してコードを貼り付けます。

実行前には必ずファイルのバックアップを取り、1件だけテスト印刷してから本番実行することを強くおすすめします。

以下のイメージ図は、VBAエディタで差し込み連続印刷マクロを作成している状態と、エクセルシートにマクロ実行ボタンを設置した画面を示しています。

📗
Microsoft Visual Basic for Applications — 差し込み印刷マクロ
ファイル(F)
編集(E)
挿入(I)
実行(R)
ツール(T)
プロジェクト
📂 VBAProject (差し込み.xlsx)
📂 Microsoft Excel Objects
📄 データ
📄 文書
📂 標準モジュール
📄 Module1 ← ここにコード

Sub 差し込み文書連続印刷()

Dim i As Long

Dim lastRow As Long

‘データシートの最終行を取得

lastRow = Sheets(“データ”).Cells(Rows.Count, 1).End(xlUp).Row – 1

For i = 1 To lastRow

Sheets(“文書”).Range(“A1”).Value = i

Sheets(“文書”).PrintOut

Next i

MsgBox “全” & lastRow & “件の印刷が完了しました。”

End Sub

▲ For〜Nextループでデータシートの件数分だけ文書シートの番号を自動切り替えしながら全件印刷する
⚡ Alt+F11でVBAエディタを開き、標準モジュールにコードを入力してF5キーで実行できる

VBAからWordを自動操作して差し込み文書を生成するコード

より高度な差し込み文書の自動生成として、エクセルのVBAからWordを操作して1件ずつ文書ファイルを生成・保存する方法があります。

この方法では、各件のデータを埋め込んだWordファイルを個別に保存することが可能です。

VBAからWordを操作して差し込み文書を生成するコードの概要

Sub Word差し込み文書生成()

Dim wApp As Object

Dim wDoc As Object

Dim i As Long

Set wApp = CreateObject(“Word.Application”)

wApp.Visible = True

For i = 2 To Sheets(“データ”).Cells(Rows.Count,1).End(xlUp).Row

Set wDoc = wApp.Documents.Open(“C:\テンプレート\案内状.docx”)

wDoc.Content.Find.Execute FindText:=”<<氏名>>”, ReplaceWith:=Sheets(“データ”).Cells(i,2).Value, Replace:=2

wDoc.Content.Find.Execute FindText:=”<<住所>>”, ReplaceWith:=Sheets(“データ”).Cells(i,4).Value, Replace:=2

wDoc.SaveAs2 “C:\出力\” & Sheets(“データ”).Cells(i,2).Value & “_案内状.docx”

wDoc.Close

Next i

wApp.Quit

End Sub

Wordのテンプレートに「<<氏名>>」「<<住所>>」などのプレースホルダーを記入しておき、VBAで置換しながら個別ファイルとして保存する方法

このコードはWordのテンプレートファイルを毎回開いて差し込み・保存・閉じるという処理を全件繰り返します。

テンプレートのパスと保存先パスは実際の環境に合わせて変更する必要があります。

マクロ実行ボタンの設置と運用のポイント

作成したマクロはボタンに割り当てることで、誰でも簡単に実行できる運用環境を整えられます。

エクセルシートにマクロ実行ボタンを設置する手順

「開発」タブ →「挿入」→「フォームコントロール」の「ボタン」をクリック → シート上でドラッグしてボタンを描画 → 表示されたダイアログから「差し込み文書連続印刷」を選択 → OK → ボタンのラベルを「差し込み印刷を実行」に変更する

「開発」タブが表示されていない場合は「ファイル」→「オプション」→「リボンのユーザー設定」→「開発」にチェックを入れる

ボタンを設置しておくと、VBAの知識がないメンバーでもワンクリックで差し込み文書の自動生成・印刷が実行できます。

業務で定期的に使う場合は、ボタンの色や配置を工夫して操作ミスが起きにくいシートデザインにしておくとより使いやすくなります。

マクロを含むファイルは「.xlsm」(マクロ有効ブック)形式で保存することを忘れないようにしましょう。

まとめ エクセルで差し込み文書はどこ?日付がおかしい・反映されない・Word連携・設定手順・マクロ活用)方法

この記事では、エクセルで差し込み文書を作成する(Word連携・設定手順・マクロ活用)方法について、データシートの整備からWordとの連携・エクセル単体のVLOOKUP方式・VBAマクロによる自動化まで幅広く解説しました。

差し込み文書の基本は「データシートとテンプレートを分けて管理し、フィールドで繋げる」という考え方にあります。

案内状や封筒などWordのレイアウト機能を活かしたい文書はWord差し込み印刷との連携が最も適していて、エクセルの計算機能と組み合わせたい文書はVLOOKUP方式やVBAマクロが効果的です。

目的・件数・繰り返し頻度の3つを軸に最適な方法を選ぶことで、差し込み文書の作成作業を大幅に効率化できます。

今回の内容を活用して、エクセルを使った差し込み文書の作成をよりスムーズに進めていただけますと幸いです。