Excelだけで差し込み印刷する方法
最終確認日 2026年10月23日
Excelだけで差し込み印刷をするには、印刷用のひな形シートに「何人目か」を入れるセルを1つ作り、氏名や住所のセルにINDEX関数(Excel 2021以降ならXLOOKUP関数)で名簿のその行を表示させます。番号を1つずつ変えて印刷すれば1人1枚の書類になります。人数が多いと手間がかかるため、名簿を読み込んで全員分を一度に印刷するツールを使う方法もあります。
差し込み印刷ツール(Word不要)
関数を組まずに、ExcelやCSVの名簿を読み込んで全員分の宛名・ラベル・文書をまとめて印刷できます。
名簿から一括で印刷する仕組み:番号で行を切り替える
考え方は単純で、名簿シートとは別に印刷用のシートを用意し、そこに置いた番号に応じて名簿の何行目を表示するかを関数で決めます。番号を1にすれば1人目、2にすれば2人目の内容に入れ替わり、そのつど印刷すれば1人1枚になります。
名簿シートは、1行目に見出し、2行目から1人ずつ並べておきます。番号と行を対応させるため、途中に空いた行を作らないことが大切です。
INDEX関数で作る手順
ひな形シートのB1セルに番号(1から始まる)を入れ、氏名を表示したいセルに =INDEX(名簿!A:A, $B$1+1) と書きます。+1 は見出しの1行を飛ばすためです。住所や金額のセルも、列を変えて同じ形の式にします。
INDEX関数は、範囲と行番号を指定してその位置の値を返す関数で、Excel 2016 や 2019 でも使えます。宛名の位置や文字の大きさは、印刷プレビューを見ながらセルの幅と高さで合わせます。
- 氏名:=INDEX(名簿!A:A, $B$1+1)
- 住所:=INDEX(名簿!C:C, $B$1+1)
- 金額(桁区切り):=TEXT(INDEX(名簿!D:D, $B$1+1), "#,##0")
XLOOKUP関数を使う場合
名簿に通し番号や社員番号の列があるなら、XLOOKUP関数で番号を探す形にもできます。=XLOOKUP($B$1, 名簿!A:A, 名簿!B:B) のように、探す値、探す列、返す列の順に指定します。
XLOOKUP関数は Microsoft 365 と Excel 2021 以降で使え、Excel 2016 と 2019 にはありません。職場で古い版のExcelを使う人に渡すブックなら、INDEX関数で作っておくほうが開けないトラブルを避けられます。
金額と日付の見せ方
関数で取り出した値は、ひな形シートのセルの表示形式で見え方が決まります。金額のセルに桁区切りの表示形式を付けるか、TEXT関数で "#,##0" を指定すれば、名簿の値にカンマがなくても書類ではカンマ付きで表示されます。
日付を和暦で出したいときは、セルの表示形式を和暦にするか、TEXT関数で和暦の書式を指定します。文章の途中に金額や日付を入れるなら、&でつないだ式にTEXT関数を組み合わせます。
この方法の限界と、関数を使わない方法
番号を変えて1枚ずつ印刷する形なので、50人なら50回の操作が必要です。マクロを組めば繰り返しを自動にできますが、職場のパソコンでマクロが止められていることも多く、作った人以外が直しにくくなります。
縦書きのはがきや、12面・24面のラベル用紙に名簿を順番に並べる作業も、関数だけでは手間がかかります。このサイトの差し込み印刷ツールは、名簿のファイルを読み込むだけで全員分のページを作り、ファイルはブラウザの外に送りません。
よくある勘違い
「Excelには差し込み印刷の機能がないので、Wordを使うしかない。」
→ 専用の機能はなくても、番号で行を切り替えるひな形シートを関数で作れば、1人1枚の書類を印刷できます。
「XLOOKUP関数ならどのExcelでも使える。」
→ XLOOKUP関数は Excel 2016 と 2019 では使えません。古い版でも開くブックにはINDEX関数が向いています。
よくある質問
印刷するたびに番号を変えるのが面倒です。
マクロで番号を1つずつ増やして印刷する方法がありますが、マクロが使えない環境なら、名簿を読み込んで一括で印刷するツールを使う方法があります。
出典(確認日)
- Microsoft サポート「INDEX 関数」(2026-10-23)
- Microsoft サポート「XLOOKUP 関数」(2026-10-23)
- Microsoft サポート「TEXT 関数」(2026-10-23)
- Microsoft サポート「Word 差し込み印刷用に、Excel データ ソースを準備する」(2026-10-23)