Wordの差し込み印刷機能を使えば、同じWordファイルでも一部分だけ(名前とか住所とか)内容を変えて一括印刷ができて便利ですよね。
今回の記事では、それを更に発展させて、複数のデータを1枚に差し込む方法を解説したいと思います。意味がわかりにくいと思いますので、まず作成結果をお見せします。

宛先の先生ごとに、担当科目の数が違うのですが、うまく差し込みできていることがわかりますでしょうか。
さっそく手順を解説していきます。
差し込み元データ(Excel)を整形する
まずは、差込元のデータを用意します。今回用意したデータはこんな感じになっています。

データとしては出来上がっているのですが、このままでは今回目標としている形に差し込み印刷をすることができません。今回の目標を達成するためには、教員と教員の境に空行を入れる必要があります。(理由の説明は難しいので割愛します。そういうものだと思ってください)
まずは、この表のデータを小計します。


「グループの基準」は、書類の宛先を識別する項目を選びます。今回の例では、先生ごとの書類を作成するので、グループの基準は教員IDにします。
「集計の方法」「集計するフィールド」はどれでも大丈夫です。
最後に「集計行をデータ下に挿入する」にチェックをつけてOKを押下します。

目標としていたのは、教員と教員の境に空行を入れるなので、あとは、「A001 個数」とか「5」を消せばOKです。
オートフィルターを使って、対象の行を抽出しdeleteキーで値を削除します。




ここまでの手順で差し込み元となるExcelデータが完成しました。
Wordで書類のフォーマットを作成する
次に、Wordで書類を作っていきます。
一番上に宛名があって、下にその先生の担当科目一覧表がある、という作りにしました。

まずは普通に差し込みしてみる
書類のフォーマットができたので、早速差し込みをしてみましょう。



リストの選択ができたので、次は、差し込みを進めていきましょう。


さて、差し込みの設定が終わったので、一旦プレビューしてみましょう。結果のプレビューを押します。

当然ではありますが、目指す形にはなっていませんね。データの1行目の内容が繰り返し差し込みされてしまっています。

Next Record If を使って次のデータを差し込む
ここからは、「ご担当科目詳細」の各行に、それぞれ別のデータが差し込まれるように修正していきます。
その方法として、Next Record If を使用します。



2行目以降にも同じNext Record Ifを入れていきます。コピー&ペーストも可能です。

これで作成が完了しました。結果をプレビューしてみると、期待したとおり、新宿ユウジ先生の担当する各科目が一覧に表示されました。

さて、最後に「完了と差し込み」で差し込み印刷を行います。

印刷した結果、先生ごとに科目一覧を差し込んだ状態で印刷できました。

ただ、ひとつ残念な点として、この方法だと、一番最後に1枚ゴミが印刷されてしまいます。ご注意ください。

以上です。皆さんも、目的にあったものが作成できましたでしょうか?
参考:Next Record If とは + 今回のサンプルの仕組み
Next Record If は、指定した条件を満たした場合は次のデータを読み込むという機能です。今回の設定だと、教員IDが空白でなければ、次のデータを読み込むになります。
わかりにくいと思うので、gif動画を掲載します。

1.Excelの1レコード行目を読み込む
A001 | 新宿ユウジ | 月 | 1限 | Reading Ⅰ |
2.1行目に曜日、時限、科目名を差し込む
3.Next Record If の判定(教員IDがA001で、空白ではないのでExcelの2レコード目を読み込む)
A001 | 新宿ユウジ | 月 | 2限 | Reading Ⅱ |
4.2行目に曜日、時限、科目名を差し込む
5.Next Record If の判定(教員IDがA001で、空白ではないので Excelの3レコード目を読み込む)
・・・というような流れです。
教員IDが空白の行にたどり着くと、次のレコードに進みません。
そのページのすべての差し込み処理が終わったら、次のレコードが読み込まれ、次の先生の資料が作成されるわけです。
参考サイトなど
いかがでしたか?本来であれば、このような仕事は帳票システムやAccessの「レポート」を使うほうが適切なのですが、費用の問題や、使用法修得の労力もありますよね。そのような読者のかたの参考になれば幸いです。

コメント
わかりやすい解説をいつも参考にさせて頂いております。
上記の差し込み印刷の方法を行うと、科目部分は、HPの画像のように差し込むことができました。ただ、宛名の先生名は、同じ名前が複数ページに差し込まれ、教員ごとの宛名に変更できません。
何か対策があればお教えいただけないでしょうか?どうぞ、宜しくお願い致します。