- ベストアンサー
エクセルで宛名印刷のトラブル解消
- エクセルで宛名印刷をする際のトラブル解消方法についてご紹介します。
- エクセルの住所録に郵便番号を加え、担当者名や住所2をブランクの場合の印刷設定について解説します。
- Excel 2007を利用している場合でも、以下の方法で宛名印刷のトラブルを解消することができます。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
住所録はわかりましたが、No3さんの言う通り宛名印刷の詳細がないのでどうしたいのかよくわかりません。 仮定として、あるセルでNoか会社名をリスト表示、選択で、設定した印刷範囲に各データを一つずつのセルにVLOOKUPで表示する方法です。 Q1 郵便番号の表示するセルのVLOOKUP関数の前に "〒"& を追加。 ="〒"&VLOOKUP(・・・ Q2 この印刷されないようにするというのは、VLOOKUP関数を使用したときに空欄の場合表示される「0」の事でしょうか? そうであれば、VLOOKUP関数式の最後に&""を付け足たす。 =VLOOKUP(○,○:○,○,False)&"" ※○はセルの列行番号 Q3 作業用のセルを一つ作ると楽です。 作業用セルに担当者名のVLOOKUP関数[空欄なら空白(Q2の式)]を入れます。 印刷で表示したい会社名のセルには、IF関数で作業セルが空欄の場合、VLOOKUP関数の最後に&"御中"を追加、そうでなければVLOOKUP関数のみ。 =IF(○="",VLOOKUP(○,○:○,○,False)&"御中",VLOOKUP(○,○:○,○,False)) 印刷で表示したい担当者名のセルには、IF関数で作業セルが空欄の場合、空欄、そうでなければVLOOKUP関数の最後に&"様"とします。 =IF(○="","",VLOOKUP(○,○:○,○,False)&"様"
その他の回答 (3)
- kagakusuki
- ベストアンサー率51% (2610/5101)
住所録に関する説明だけで、肝心の宛名印刷をどの様なやり方とレイアウトで行いたいのかという事が説明されていないため正確に回答する事が出来ません。 >関数はvlookupのみで反映しています。 との事ですが、VLOOKUP関数を使って検索する際に、どのデータを検索値として使用しているのかも不明ですし、印刷用のシートの何列の何行目のセルに検索値を入力する様になっているのかも不明です。 その上、印刷のやり方に関しても説明不足で、印刷用のシートに反映させる宛名書き等のデータを1度に1つずつ反映させて、1件ごとに印刷してから、また別の検索値を入力して印刷し直すという事を繰り返すのか、それとも何行か置きの異なるセルに検索値が入力されていて、複数の宛名書きを纏めて印刷する様になっているのかも不明です。 これでは質問者様の実状に合わせて回答する事は不可能ですので、取り敢えず一般化した考え方を示すために、色々な仮定を行った上での仮の話で説明する事に致します。 例えば、住所録が入力されてるシートのシート名がSheet1であり、印刷用のシートのシート名はSheet2であるものとします。 又、列の番号はA、B、C、D等のアルファベットて表示されているものとします。 そして、Sheet2のA1セルに1、2、3等のNo.を入力すると、B1セルに郵便番号が「〒」マーク付きで表示され、C1セルに住所1に続いて全角の空白スペースを2個挟んで住所2が連結された文字列が表示されるものとします。 又、B3セルには会社名が表示され、その際、担当者名が空欄となっている場合には会社名の後に御中を付け、担当者名が空欄ではない場合には会社名のみを表示するものとします。 又、B4セルには担当者名の先頭に全角の空白スペースを1文字付けた形で表示するものとします。(担当者名が空欄となっている場合には何も表示しない) 又、該当するNo.が存在しない場合には、郵便番号、住所、宛名等は全て何も表示しない様にするものとします。 又、該当するNo.が存在する場合であっても、住所1、住所2、及び「会社名と担当者名の双方を合わせた宛名」の内の何れか1つでも空欄となっているものがあった場合には、何も表示しない様にするものとします。(何故、住所2が空欄の場合にまで印刷されない様にしたいのかは解りませんが、質問者様がその様に要望されておられるので、取り敢えずは上記の様な条件としております) あくまで仮の話ですが、上記の様な条件であれば、各セルに入力する関数は以下の様なものとなります。 ・Sheet1のC1セルの関数 =IF(A1="","",IF(ISERROR(1/(VLOOKUP(A1,Sheet1!$A:$F,5,FALSE)<>"")/(VLOOKUP(A1,Sheet1!$A:$F,6,FALSE)<>"")/(VLOOKUP(A1,Sheet1!$A:$F,2,FALSE)&VLOOKUP(A1,Sheet1!$A:$F,3,FALSE)<>"")),"",VLOOKUP(A1,Sheet1!$A:$F,5,FALSE)&" "&VLOOKUP(A1,Sheet1!$A:$F,6,FALSE))) ・Sheet1のB1セルの関数 =IF(C1="","",IF(ISERROR(1/(VLOOKUP(A1,Sheet1!$A:$F,4,FALSE)<>"")),"","〒"&VLOOKUP(A1,Sheet1!$A:$F,4,FALSE))) ・Sheet1のB3セルの関数 =IF(C1="","",IF(ISERROR(1/(VLOOKUP(A1,Sheet1!$A:$F,2,FALSE)<>"")),"",VLOOKUP(A1,Sheet1!$A:$F,2,FALSE)&IF(ISERROR(1/(VLOOKUP(A1,Sheet1!$A:$F,3,FALSE)<>"")),"御中",""))) ・Sheet1のB4セルの関数 =IF(C1="","",IF(ISERROR(1/(VLOOKUP(A1,Sheet1!$A:$F,3,FALSE)<>"")),""," "&VLOOKUP(A1,Sheet1!$A:$F,3,FALSE)&"様"))
- moon-sea
- ベストアンサー率62% (15/24)
abc8823xyz様 Q1とQ3は同じ方法で即解決できますよ。 やり方を記載します。 Q1)郵便番号のセルを選択→セルの書式設定→ユーザー定義→〒@と入力。 これで郵便番号の数字だけ入力すれば、表示上、〒が数字の前に表示されるようになります。 他のセルにコピペして使用してみてください。 Q3)これもQ1と同じ要領で出来ます。 御中を入れたいセルや様を入れたいセルを選択→セルの書式設定→ユーザー定義→@"御中" or @"様" と入力。 Q2)についてですが、これを関数でやるのは無理なので、abc8823xyz様がVBを触れるようでしたら可能です。 こちらに詳しくやり方が記載されていますので、ご参考まで。 http://www.excel.studio-kazu.jp/kw/20060719152744.html
- aokii
- ベストアンサー率23% (5210/22063)
Q1 郵便番号の前に〒はくっつけられません。 Q2 担当者名および住所2がブランクのときに印刷されないようにするには、その行を削除するしかありません。 Q3 会社名単独の場合に御中を、会社名 担当者名のときは様をくっつけるには、通常の様の記載をやめて、手動で宛名氏名の後に、御中や様を、記載しておくしかありません。
お礼
、確かに説明不足でした それにもかかわらず家庭のケースで対応いただきありがとうございました