• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:名簿のデータを自動的に宛名ラベルにリンクさせる)

名簿データを自動的に宛名ラベルにリンクさせる方法とは?

このQ&Aのポイント
  • エクセルで名簿データを入力し、宛名ラベルにリンクさせる方法をご紹介します。
  • 宛名ラベルをワードで差込印刷する際、毎年の異動時に手動で書き換える作業が面倒ですよね。
  • 関数やマクロを使って、名簿データを入力すれば宛名ラベルも自動的に変わるようにする方法をお教えします。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.7

解答No5です。 ご質問の件で参加者名簿の両サイドにカンマを付けるのはこちらが勘違いをしていました。無くてよいでしょう。 次に式の意味ですが =IF(OR(A$1="",COUNTIF(参加者名簿!A$2:A$105,A$1)=0),"",IF(VLOOKUP(A$1,参加者名簿!A$2:E$105,3,FALSE)=0,"",VLOOKUP(A$1,参加者名簿!A$2:E$105,3,FALSE))) ""はセルが空白を意味します。また、COUNTIF(参加者名簿!A$2:A$105,A$1)は参加者名簿のA列にA1セルの値が存在しないときは0となります。 A1セルが空白の場合や参加者名簿にその番号が無ければセルを空白にしなさいとなります。セルの値がエラー表示になることを避けるためです。

nanagorou
質問者

お礼

度々ありがとうございます。 勉強になりました。

その他の回答 (6)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.6

解答のNo5です。 A1セルに番号に入力が無ければB1セルからB4セルまですべてが空白となるのですが、郵便番号や、住所、氏名に入力が無い時,存在しない番号が入力されたとき、にもそれぞれのセルを空白とするためにはもっと式が複雑になります。次のような式にすればよいでしょう。 B1セルには次の式を入力します。 =IF(OR(A$1="",COUNTIF('参加者名簿'!A$2:A$105,A$1)=0),"",IF(VLOOKUP(A$1,'参加者名簿'!A$2:E$105,3,FALSE)=0,"",VLOOKUP(A$1,'参加者名簿'!A$2:E$105,3,FALSE))) B2セルには次の式を入力します。 =IF(OR(A$1="",COUNTIF('参加者名簿'!A$2:A$105,A$1)=0),"",IF(VLOOKUP(A$1,'参加者名簿'!A$2:E$105,4,FALSE)=0,"",VLOOKUP(A$1,'参加者名簿'!A$2:E$105,4,FALSE))) B3セルには次の式を入力します。 =IF(OR(A$1="",COUNTIF('参加者名簿'!A$2:A$105,A$1)=0),"",IF(VLOOKUP(A$1,'参加者名簿'!A$2:E$105,5,FALSE)=0,"",VLOOKUP(A$1,'参加者名簿'!A$2:E$105,5,FALSE))) B4セルには次の式を入力します。 =IF(OR(A$1="",COUNTIF('参加者名簿'!A$2:A$105,A$1)=0),"",IF(VLOOKUP(A$1,'参加者名簿'!A$2:E$105,2,FALSE)=0,"",VLOOKUP(A$1,'参加者名簿'!A$2:E$105,2,FALSE)))

nanagorou
質問者

お礼

なりました!!ありがとうございます。 自分でやっていた式だと、a1~a4全てのセルに名簿者の番号を入力していました。 教えて頂いたやり方ですとa1のセルに入力すると名簿の全てがでてくるのですね。 これだと間違って違う番号を入力して住所と名前が違うというミスもなくなるし助かります。 式が複雑で難しいんですがCOUNTIF('参加者名簿'!A$2:A$105,A$1)=0のところの意味がよく解らないんですけど、=0はA1の数字が参加者名簿の指定範囲の番号と一致しない、若しくは空欄の場合という意味なんでしょうか?,"",は空欄ということですよね。 それと参加者名簿の’’マークは必要なんでしょうか? どういう意味なのかがよく解らないので・・・。 何度もすみませんがよろしくお願いします。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

差し込み印刷を使うことなくエクセルで処理したいとのことでしょうか? 参加者名簿のシートのA列には番号、B列には名前、C列には郵便番号、D列には住所1、E列には住所2が入力されているとします。 そこで宛名ラベルのシートでは仮にA1セルに番号を入力するとして、B1セルに郵便番号を表示させるとしたらB1セルへの入力の式は次のようになりますね。 =IF(ISERROR(VLOOKUP(A1,'参加者名簿'!$A$2:$E$105,3,FALSE)),"",VLOOKUP(A1,'参加者名簿'!$A$2:$E$105,3,FALSE)) お示しの式では参加者名簿の両側に'がありませんね。また、番号を検索するのですから参加者名簿の検索の範囲はA列からになっていなければなりません。お示しの式ではB列からになっていますので間違いですね。 B2セルへの入力の式は住所1ですから次のような式になりますね。 =IF(A1="","",VLOOKUP(A1,'参加者名簿'!$A$2:$E$105,4,FALSE)) 住所2がある場合にことですがB3セルを住所2の表示される行にするのがよいでしょう。 B3セルへの入力の式は次のような式になりますね。 =IF(A1="","",VLOOKUP(A1,'参加者名簿'!$A$2:$E$105,5,FALSE)) B4セルには氏名を表示させるとして入力の式は次のようになりますね。 =IF(A1="","",VLOOKUP(A1,'参加者名簿'!$A$2:$E$105,2,FALSE))

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

差し込み印刷を使うことなくエクセルで処理したいとのことでしょうか? 参加者名簿のシートのA列には番号、B列には名前、C列には郵便番号、D列には住所1、E列には住所2が入力されているとします。 そこで宛名ラベルのシートでは仮にA1セルに番号を入力するとして、B1セルに郵便番号を表示させるとしたらB1セルへの入力の式は次のようになりますね。 =IF(ISERROR(VLOOKUP(A1,'参加者名簿'!$A$2:$E$105,3,FALSE)),"",VLOOKUP(A1,参加者名簿!$A$2:$E$105,3,FALSE)) お示しの式では参加者名簿の両側に'がありませんね。また、番号を検索するのですから参加者名簿の検索の範囲はA列からになっていなければなりません。お示しの式ではB列からになっていますので間違いですね。 B2セルへの入力の式は住所1ですから次のような式になりますね。 =IF(A1="","",VLOOKUP(A1,参加者名簿!$A$2:$E$105,4,FALSE)) 住所2がある場合にことですがB3セルを住所2の表示される行にするのがよいでしょう。 B3セルへの入力の式は次のような式になりますね。 =IF(A1="","",VLOOKUP(A1,参加者名簿!$A$2:$E$105,5,FALSE)) B4セルには氏名を表示させるとして入力の式は次のようになりますね。 =IF(A1="","",VLOOKUP(A1,参加者名簿!$A$2:$E$105,2,FALSE))

nanagorou
質問者

お礼

度々ありがとうございます。 ご指摘の通り式を間違っていました。書き込んだ後も全く気づいていませんでした。確かにA1です。 今作っている表がB2から番号をふっていたので混同してしまっていました。 申し訳ないです。 =IF(A1="","",・・・)は宛名シートのA1(番号を入力しない)が空欄ならばBのセルは空欄になるということですよね。 検索範囲の列番号が空欄、という時もこれでなるのでしょうか? もし仮にNo.5番目の人の住所2がないとした時、三番目のセルA3に「5」と入力しても0となるのですが。 番号を入れなければ問題はないのですが、更新させて使うことを考えると番号をいれておかないと、更新で入力があった時に反映されないので・・・。 一体何がいけないのでしょうか?

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

言っていることが、まとハズレにみえて、意味が良くわからない。 エクセルの名簿や住所録を元に、ワードで差込印刷するのは一番ポピュラー。 データに異動があれば、エクセルデータを変更するのは避けられない。 基本的にはエクセルのデータを変えて、その後差込印刷をすればラベルシールに印刷される内容は変わるはず。 「自分なりに・・」までは質問に書く必要なし。 >「宛名ラベルの・・」は何をやっているのか? エクセルの住所録のデータの作り方の問題で、どのように、関数で作ろうが、何しようが、セルの値が正しく出来ておれば差し込み印刷には問題ない。 >宛名ラベル といえばラベルシールを連想する。書き方が悪い。 宛名ラベルって、シートの名前?セル範囲の名前? もう一度質問しなおすか、補足してください。 宛名ラベルというシートらしいものがなぜ要るのか? 参加者名簿にラベルで使うデータ以外のデータがあってもワードの差込印刷では困らないはず。 郵便番号から住所の主要部分を出したいという質問かな? >アクセスが一番いいみたいなのですが アクセスが出来そうも無いのに言ってみても仕方が無い。 ==== 参加社名簿==>要約名簿==>ワード差込印刷なら、 参加者名簿の列のデータ例と要約名簿の列内容を明記して質問しなおしが望ましい。

nanagorou
質問者

補足

解りにくい説明ですいません。 宛名ラベルというシート名です。 名簿のシートと宛名ラベルのシートを作成。 名簿のシートに1~100(仮に100人とする)番号をつけて住所等を入力。それと同じ番号を宛名のシートに入力すると郵便番号、住所、氏名がそれぞれのセルに表示される。ということなのですが・・・。 宛名のシートには郵便番号、住所、氏名とセルを3列に分けて それぞれに式を入れ込んで a1,a2,a3にそれぞれ1と入力したら名簿の1番目の郵便番号、住所、氏名がでる。ということです。 差込印刷は文字の大きさや、レイアウトを変えると他のまで変わってしまうのでやりにくいし、変更のあるたびにワードを開いて差し込むのも面倒なので他にもっといい方法があればと思いお聞きしています。 (単に差込印刷をうまく使いこなせていないだけだろうと思いますが。)

  • koko88okok
  • ベストアンサー率58% (3839/6543)
回答No.2

> 同じ形にすると4つで合わせるしかないので元データの入力されてない部分に番号を入れると()()()と表示されます。入力してない部分は表示しないようにできないのでしょうか? 定番のIF関数を使うのはダメですか? =IF(空白のセル番号="","",現状の数式) 「空白セル参照時に0を表示しない-IF関数・ISBLANK関数」 http://www.relief.jp/itnote/archives/001357.php

nanagorou
質問者

お礼

とりあえず試してみようと思います。 ありがとうございます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

エクセルで名簿を作られているのですから。後はワードで差し込み印刷の作業をすればよいでしょう。エクセルで式などを考えているようですがその必要は全くありません。 ワードの画面で「ツール」から「はがきと差し込み印刷」、「差し込み印刷ウィザード」文書の種類で「ラベル」を、「次へ」で「ラベルオプション」をクリックします。該当するするラベルを選択して「次へ」で「参照」をクリックしてエクセルのファイルを指定します。「次へ」で「差し込みフィールドの挿入」をクリックし住所や氏名を貼り付ける位置を設定します。「すべてのラベルの更新」をクリックします。 「次へ」で全ての方の住所や氏名が表示されますね。

nanagorou
質問者

お礼

やり方はわかるのですが、役職をつける人、不要の人などは差し込みフィールド挿入で一つ一つ挿入しないといけないのでしょうか。 「すべてのラベルの更新」をすると全部同じになってしまうはずなのですが・・・。 それと文字の大きさや(文字数等の関係で)一部分だけをレイアウトを変えたら他の所まで変わったりして面倒なので他になにか方法がないかと思ったのですが。 単に使いこなせていないだけなのかもしれないですが・・・。 データの訂正があった場合はワードの差込印刷をその度に最初からやり直すということですよね。 解りづらい質問にお答え頂きありがとうございました。

関連するQ&A

専門家に質問してみよう