- ベストアンサー
Excelで、表紙に、住所を自動で入れたい
表紙付の請求書等をExcelで作りました。 任意のページに、送り先の一覧表を入力して、番号などを振って、その数字を印字したい場所で入力すると、そこに、住所が表示されるようには、出来ないでしょうか? レベル的には、請求書の自動計算(掛け算・トータルぐらい)、会社名など、複数のページにいくつも表示される場合は、一枚目の入力で、反映させている・・・ぐらいが出来るレベルです。 主旨は、窓付封筒で、請求書を出したいのです。 他に、もっと良いやり方をお知りならば、教えて下さい。 ご存知の方、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1の回答と重複しますが、VLOOKUPを使えば簡単にできます。 1.まず、請求先の顧客コード、郵便番号、住所、あて先、などを一覧にした「顧客コード表」を作成します。請求書作成と同じブックである必要はありません。むしろ違うブックの方が管理・整理しやすいです。 例として 1行目はタイトル行 2行目は項目名を表示する行 3行目以降にデータ、として 列A に顧客コード 列B に郵便番号 列C に住所1 列D に住所2 列E に顧客名 このように顧客データを作ります。 2.別ブックの請求書表紙のワークシートの中で、顧客コードを入力するセル、郵便番号を表示させるセル、住所を表示させるセル、あて先を表示させるセル、をそれぞれ決めます。窓付き封筒用ということですので、印字結果がちゃんと窓に収まるように。 例えばこんな具合。 顧客コードを B5 郵便番号を C5 住所1を C6 住所2を C7 顧客名を C8 3.顧客コード一覧表と請求書表紙のブックをそれぞれ開いておいてから、請求書表紙の各セルに次のように入力します。 郵便番号のセルC5をクリックして数式編集行の=をクリック、 左の関数名からVLOOKUPを選択、 検索値 で顧客コードを入れるセルB5をクリック、 範囲 で、顧客コード一覧の、一番最初の顧客コードのセルから一番最後の顧客名セルまでをドラッグ(このとき、将来的に顧客が増えることを考慮して、少し多めに(下まで)ドラッグしておきましょう) 列番号 で2を入力(顧客コードのセルを1として、郵便番号のセルが何番目にあるか、という指定) 検索の形 に0を入力 同様に、住所1を表示させるセルをクリックして数式編集行の=をクリック、 左の関数名からVLOOKUPを選択、 検索値 で顧客コードを入れるセルB5をクリック、 範囲 で、顧客コード一覧の、一番最初の顧客コードのセルから一番最後の顧客名セルまでをドラッグ(このとき、将来的に顧客が増えることを考慮して、少し多めに(下まで)ドラッグしておきましょう) 列番号 で3を入力(顧客コードのセルを1として、住所1のセルが何番目にあるか、という指定) 検索の形 に0を入力 以降、住所2のセル、顧客名のセル、にも同様に数式を設定します。 これで、顧客コードを入力すれば、各セルにそれぞれの結果が表示されるようになります。ツール>オプション>表示タブで、ゼロ値のチェックを外せば、顧客コードが入力されていないときに各セルに0が表示されなくなります。 これをテンプレートとして保存して使用します。 エクセルの数式について簡単に説明した本がたくさん出ていますので、これを機会に勉強もいいですね。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
VBAを使う必要があるでしょう。 http://okweb.jp/kotaeru.php3?q=671987 #3ほか何度も私は解答してますが、見つけるのが大変で1つだけ上げます。興味があれば、応用すれば出来るでしょう。
- 134
- ベストアンサー率27% (162/600)
こういう方法はいかがでしょうか。 1.任意のページに送り先の一覧表を作る。 (この際、所在地が長くなるので県名と市町村 ビル等の建物名は入力セルを分割?) 2.封筒の書式を作り、印刷範囲を設定する。 3.印刷範囲外に送り先のみ、 =if(sheet2!A2="","",sheet2!A2) のような関数で参照できるようにする。 4.関数は社名の数より多めにオートフィルでコピーする。 5.封筒の送り先欄をクリックする。 6.入力規則→リスト で宛先の社名欄(オートフィルで関数コピーした範囲)を選択する。 7.所在地欄等に =vlookup(宛名欄セル,一覧表範囲,n) n:一覧表で、宛先から、参照したいデータまでセルの数。 (表の形式によっては、「hlookup」かもしれませんけど) わかりにくい説明かも分かりませんが、セル配置が不明なので、説明しづらいです。 とりあえず ということで。
補足
皆様ありがとうございます。 週末に、本腰をいれてやってみます。