Excelで関数だけを使って宛名を連続印刷をする

Excelで関数だけを使って住所リストから宛名を連続印刷をする

以前説明した宛名印刷の連続印刷版です。ここでは1枚のシートを使って、複数の宛先(宛名)を印刷する方法について説明します。
ちなみにここではA4用紙の三つ折りができる封筒である長形3号を例にしていますが、印刷設定を変更すればハガキなどの他の用紙サイズでも可能です。

おおまかな方法と手順

連続印刷と言ってもマクロを使うわけでもなく、1つのシートに等間隔で表示された宛名を印刷していきます。
今回は長形3号を例にしていますが、強いて言えば、プリンタ側で長形3号を手差しする場合は、そもそもとして連続が難しいかもしれません。。
いずれにしてもこの方法の大まかな手順は下記の通りです。
・シートは2枚使用(1枚が住所、宛名のあるシート[A]、もう1枚が印刷用のシート[B])
・Aについては、通し番号が必要
・Bについては、長形3号用に印刷設定を行い、VLOOKUP関数を使ってAの値(住所など)を表示する
・Bは、設定したVLOOKUP関数などをコピーして複数宛名が印刷できるようにする

「関数は規則性を好む」のがポイント

今回に限った話ではありませんが、関数を使う場合、規則性が必要になります。ここでいう「規則性」とはセルの位置取りなどです(表示の値などではありません)。
そして、この規則性を使って印刷するまでの手順をできるだけ簡素化させたいと思います。
なお、ここで説明している内容は以前の記事とほとんど同じ部分もありますので一部割愛している箇所もあります。もし不明な部分があればそちらの記事もご覧ください。

住所リストを用意

最初に宛名に使用する住所リスト(宛名一覧、会社リスト等)を用意します。
このリストを元に封筒用(長形3号)の宛名一覧を作成します。
このリストのポイントはA列に通し番号(No)を入れていることです。
もしお持ちのリストに通し番号がなければ、1列追加して作成します(印刷が終わったら削除しても大丈夫ですし、心配ならリストをコピーしたものに通し番号を振る形でも大丈夫です)。

住所リストを用意

印刷シートを用意し、印刷設定を行う

次に印刷用のシートを用意します。なければ新規でシートを作成します。
このシートに「長形3号」の印刷設定をします。

印刷プレビューで設定
印刷プレビューで長形3号に設定する

すると下記のように点線を区切りに長形3号分の範囲が無数にできます(表示倍率30%で表示)。
長形3号の枠が無数にできる

実際の印刷では下記のように「縦に使う」イメージです。
無数の長形3号は縦に使う

そして、よく見るとこの長形3号の範囲は均等の幅(行数)になっています。この部分を関数で活用しますので、この時の注意点としては、印刷設定後はセルの幅などを調整しない(幅がずれた影響で範囲もずれるとやり直す場合があるため)ことです。
長形3号の範囲(行の長さ)は同じになる
※プリンタによっては必ずしも18行とは限らない可能性がありますのでご注意ください

VLOOKUP関数の第一引数(検索値)を工夫する

そして上記のシートにVLOOKUP関数を組み込めば、基本的には出来上がります。
長形3号イメージ

前回の内容では、通し番号を置くセルを決めてやりましたが、今回は直接引数に「動的な」数値を指定します。
具体的には、VLOOKUP関数の「検索値」です。下記の画像ではこの検索値は「静的な」値(直接入力、ベタ入力)を入れていますが、ここを動的にすることで2個目、3個目のコピー時に関数(の引数)を修正しなくてもよい(コピペだけでOK)ようにします。
※コピーペーストするためにVLOOKUP引数の「範囲」も絶対参照にしている点に気を付けてください
VLOOKUP関数の第1引数

VLOOKUP関数の引数である「検索値」は住所リストの通し番号(A列)が入ります。この番号は1から始まるので、印刷用のシートも上記の画像のように1から始まるようにすれば正しく表示されます。
ただし、この場合、長形3号の2個目(2枚目の印刷部分)に関数をコピーした場合、検索値が「1」のままであり、「2」に変える手間が発生します。
この手間は、必要とする宛名分だけ発生します。
そこで、この手間を省くために先ほどお話しした規則性を使って対処したいと思います。

規則性を使って通し番号を作る

下記画像を見ると、ある一定の規則性があるのが分かります。
表の規則性を見抜く、あるいは作る

各長形3号の最終行は18の倍数です。言い換えれば、各長形3号の最終行を18で割った解は、通し番号と同じです。
この規則から各末尾行を使えば(18で割れば)、VLOOKUP関数の検索値を動的にすることができます。
各長形3号の最終行の位置は「ROW関数」で分かります(取得できます)。そこで、VLOOKUP関数の検索値にはこの点を含めた形にして設定します。
ROW関数で末尾行を取得

このようにすることで、1個目の長形3号は、VLOOKUPの検索値は「1」が取得できますし、2個目の長形3号は「2」が動的に取得できます。
後は、郵便番号以外の項目である、住所、名前も同じ方法でVLOOKUP関数を使い、データを取得(表示)します。
他の項目も同様にVLOOKUP設定をする

最後はコピーペーストで仕上げ

最後は1個目のデータ(実際は関数)を3個(セル)選択コピーして、2個目の位置を間違えないように規則正しく貼り付けていきます。
画像では3個だけですが、実際は(住所リスト件数分だけ)縦にもっと数を増やすことができます。
VLOOKUPの設定ができたらコピーペーストだけ

印刷プレビューで連続印刷できるか確認

タイトルとURLをコピーしました