Excelだけで年賀状の宛名を印刷する方法の続きです。
前回は用紙サイズをハガキサイズに変更し、テキストボックスを使って住所や名前を入力できるようにまで作りました。
でもこのままだと、毎回手入力で名前や住所を打ち込まなければいけません…
そこで今回はVLOOKUP関数を使ってあらかじめ入力しておいた住所や名前をテキストボックスに表示させるようにしていきたいと思います。
なのでまだ前回の記事を読んでいない方は先にそちらの記事をご覧下さい。
【Excel&Spreadsheets】Excelだけで年賀状の宛名を印刷する方法①
目次
送り先の住所一覧を作成する
まずは送り先の住所一覧表を作成します。
必要な項目は6つです。
- 番号:これはVLOOKUP関数を使うために必要な番号です。
- 郵便番号:ハイフンは入れず代わりに半角スペースを、全角で入力します。
- 住所1・2:住所が長すぎるとはみ出してしまうので住所の長い方は2つに分けます。
- 名前1・2:名前2はご夫婦などお名前を複数印刷したい場合に入力します。
データの入力が出来たら、➊挿入→➋テーブルでテーブル作成しておくと次にVLOOKUP関数を使うときに役立ちます!
テーブルの名前を分かりやすく変更しておきます。
➊テーブルを選択します→➋テーブルデザイン→➌分かりやすい名前を入力します。
VLOOKUP関数を使う
VLOOKUP関数がよく分からないという方は、下記サイトで詳しく説明されています。
参考 VLOOKUP関数の使い方できるネットテキストボックスには出来ることにいろいろ制限があるようです。
なのでいったん一覧表の上にあるグレーのセルに数式を入力します。
VLOOKUP関数を使って郵便番号を表示させる
まずは、郵便番号を一覧からグレーのセルに表示させます。
VLOOKUP関数を使うためには検索値、範囲、列番号、検索方法を入力する必要があります。
セルG2には、1番の方の郵便番号を検索するため「1」と入力しています。ここが検索値です。
範囲は先ほど作ったテーブルを選択します。
列番号は、検索値でヒットした情報のどの部分(郵便番号なのか、名前なのか、住所なのか)を列で指定します。
郵便番号は2列目にあるので、2を入力します。
検索方法は、完全に一致させたいので、0=完全一致を入力します。
数式をコピーするときに検索値のセルが移動することを防ぐことが出来ます。
数式をコピーする
数式をコピーして、残りの住所や名前をグレーのセルに表示させます。
コピーしたいセルを選択し、セルの右端にカーソルを近づけたら右端まで移動させます。
コピーした数式の列番号を変更します。
住所1なら「3」、名前1なら「4」と順番に変更していきます。
テキストボックスへ取り出した値を表示させる
テキストボックスを選択したら、郵便番号、住所それぞれ=表示させたい値のセルと指定して数式を入力していきます。
番号を変えてみて、結果が正しく表示されているか確認してみて下さい。
空白処理をする
最後に空白処理をします。
送り先が1名の場合や、住所が短い方は住所2、名前2が空白になります。
今のままだと”0”が印刷面に表示されてしまうので、住所2、名前2のセルだけ数式にIF関数を追加します。
住所2の数式:=IF(VLOOKUP(G2,住所一覧表3,4,0)=””,””,VLOOKUP(G2,住所一覧表3,4,0))
名前2の数式:=IF(VLOOKUP(G2,住所一覧表3,6,0)=””,””,VLOOKUP(G2,住所一覧表3,6,0)&”様”)
完成済みExcelファイルのダウンロード
長くなりましたが、説明はこれで終わりです。
後は、試しにいらない紙をハガキサイズにカットして印刷の位置を確認してからテキストボックスの位置を微調整してみて下さい。
下記は2記事にまたがって説明したExcelファイルの完成形です。文字の大きさ、位置などテキストボックスを動かして微調整してみて下さい。