• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:元データを変更した際、参照先も自動変更したい)

エクセル2010で元データ変更時の参照先自動変更方法

このQ&Aのポイント
  • エクセル2010を使用している場合、元データを変更した際に参照先も自動変更する方法が知りたいです。現在、複数のシートを使って封筒宛名印刷を行っていて、シート間のデータリンクを貼り付けています。しかし、名簿が変更されると参照先も自動的に変わってしまい、手作業で訂正しなければなりません。マスター登録をする方法があると聞きましたが、具体的な手順がわかりません。誰か教えていただけないでしょうか。
  • エクセル2010での名簿データの変更時、参照先も自動的に変更する方法を知りたいです。現在、封筒宛名印刷のためにシート間でデータリンクを使用していますが、名簿が更新されると参照先も手動で変更しなければなりません。マスター登録をすると解決すると聞きましたが、具体的な手順が分かりません。どなたか教えていただけませんか。
  • エクセル2010を使用していますが、名簿データの変更時に参照先も自動的に変更する方法が分かりません。現在、封筒宛名印刷のために複数のシートを使用しており、シート間でデータリンクを貼り付けています。しかし、名簿が変更されると、参照先も手動で変更しなければなりません。マスター登録をすることで解決できると聞きましたが、具体的な手順が分からないため困っています。どなたか教えていただけないでしょうか。

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

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

元データを変更した際、参照先も自動変更したい とのことですね。 現在はシート2のあるセルに例えばシート1のA2セルを表示させるとして=Sheet1!A2のような式が入力されているのでしょう。 そのような場合にシート1のデータをシート3に移した場合には式そのものがシート3を参照する式に変わってしまいますね。そのようなことがおこらないようにするないためにはシート2に入力する式を次のようにするのがよいでしょう。 =INDEX(Sheet1!A:A,2) この式はシート1のA列で2行目のセルの位置を指定している式です。また次のような式でも同じですね。 =INDEX(Sheet1!A:B,2,1) この式はシート1のA列とB列の範囲で2行目でしかも1列目のセルの位置を指定する式です。A2セルを指定しています。 又は、次のような式でもよいですね。 =INDEX("Sheet1!A2") この式はシート1のA2セルを指定しいます。 他にはOFFSET関数などもあります。 いずれの式もシート1でのセルのある場所を指定していますので、その場所にあったデータが削除され、行ごとシート3に移動しても=Sheet1!A2と同じようことにはなりません。 つまりは現在シート2で使われている式を上で述べたような式に変更すればよいでしょう。一度ぜひ試験してみてください。

takashizzr
質問者

お礼

ご回答ありがとうございました。 体調不良により数日伏せており、お礼が遅くなりました。 皆様のご説明、どれも役立ちそうでありがたく受け取りました。 今現在、作ったファイルの訂正という意味では、KURUMITOさんの方法が一番やりやすかったです。 しかし、VLOOKUP関数もずっと理解したかった関数ですので、これを機に勉強したいと思いました。 おひとりのベストアンサーということで、今実際に使用させて頂いたKURUMITOさんを選ばせて頂きます。ほかの方もどうもありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

次のように作り直します。できるだけ手取り足取り書いておきますので、その通りに作成します。 1.まず、シート3の運用をやめます。  代わりに、シート1のA列に「印刷するかしないか」を記入する欄を作ります。  たとえば印刷「しない」行には「×」を記入します  印刷する行は何も記入しません 2.次にシート1のB列に、「印刷する人の連番」を計算させます。  印刷する人は、A列が空白になっている行です。  B2セルに  =IF(A2="",COUNTBLANK($A$2:A2),"")  と記入し、リストの下端までコピー貼り付けておきます  印刷したい人の行だけに、上から順に1,2,3…の番号が計算できたか確認します 3.印刷シートを次の通りに作り直します 印刷シートの最初の印刷ブロック(何を作成しているのか不明ですが、仮に住所ラベルのようなモノだとすると、最初のラベルの塊のことです)の横に、数字の1を記入します  数字の1は、シート1で印刷対象となっている番号1番の行の人のデータをここに印刷するという意味です  1番の印刷範囲には  =VLOOKUP(1を記入したセル、sheet1!B:X,2)  のようにして、1の行のC列のデータを計算で参照させます  同様に  =VLOOKUP(1を記入したセル、sheet1!B:X,3)  のようにして、1の行のD列のデータを計算で参照させます  次に、印刷ブロック2番目の、1を記入したのと同じ位置に今度は2を記入します  上述の数式をコピーし、2番が計算されている行のデータを参照させます。  以下同様に作成します。 具体的に何をどのように印刷させているのか不明ですが、おそらく最終的にシート2に「今データが計算できている範囲」を印刷対象範囲にして、最後に印刷します。

takashizzr
質問者

お礼

ご回答ありがとうございました。 体調不良により数日伏せており、お礼が遅くなりました。 大変丁寧なご説明、どうもありがとうございました。 どちらの関数も、私にとってこれからの仕事で使えそうです。 しっかり読んで、きちんと理解しようと思います。

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! お役に立てるかどうか判りませんが・・・ >「マスター登録をしてそのマスターを引っ張ってくればよい」 の件に関してです。 おそらく別Sheet(既存Sheetでも構いません)に番号で名簿管理できる表を作成し、 VLOOKUP関数等で引っ張ってくれば良いのでは? といったことではないでしょうか? その一例です。 ↓の画像で右側がSheet4として、Sheet4の名簿表を作成しておきます。。 左側(別Sheet)のB2セルに =IF(A2="","",VLOOKUP(A2,Sheet4!A:B,2,0)) という数式を入れ、B2のフィルハンドル(セルの右下の■部分にマウスポインタを移動させると+のマークになります)で 下へずぃ~~~!っとコピーすると画像のような感じになります。 これでA列にSheet4のA列のNOを入力するとそのB列データが表示されます。 参考になりますかね?m(_ _)m

takashizzr
質問者

お礼

ご回答ありがとうございました。 体調不良により数日伏せており、お礼が遅くなりました。 そうです、このVLOOKUP関数が使用したかったのです。 難しそうですが、じっくり取り組んでみます。助かりました。

すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

>そして、シート2を見ると、移動した人のリンク先がシート3に変わってしまっています。 なので、1件1件手作業でリンク先を訂正しています。 ご質問の説明だけでは内容を把握できないのですが、具体的にどのようにリンク先を訂正しているのでしょうか? リストの実際のセル位置などを含めて、もう少し具体的にご希望の操作(実際にリンクしたいセル番地など)を補足説明してください。

takashizzr
質問者

お礼

ご回答ありがとうございました。 体調不良により数日伏せており、お礼が遅くなりました。 確かに分かりづらかったですね。すみません。 今後はもう少し詳しく質問することにします。

すると、全ての回答が全文表示されます。

関連するQ&A