Excel2002のリンク貼り付け数式を変更する方法

このQ&Aのポイント
  • Excel2002を使用していて、リンク貼り付けしているセルの数式を一括変更したい場合の方法を教えてください。
  • ファイル名001.xlsのシート001、002、003のE列にあるリンク貼り付けされた数式を、それぞれのシートごとに一つずつずらしたいです。例えば、[001.xls]001!E2の数式を[001.xls]001!E3に変更したいと考えています。
  • 他のシートにも同様の変更を行いたい場合、どのようにすれば良いでしょうか?変更前の式と変更後の式を具体的に教えていただけますか?
回答を見る
  • ベストアンサー

Exccl2002 リンク貼り付けの数式を変更したい

Exccl2002 リンク貼り付けの数式を変更したい Exccl2002を使っているのですが、リンク貼り付けしているセルの式を 関数を使い一括置換したいのですが出来ません。 たとえば、E10 + 1 → E11 ということです。 順不動で各シートのデータ位置も違います。 どうすれば良いのでしょうか。 ファイル名 001.xls  sheet名 001 002 003 以上 3シート より         004の1つのシートにリンク貼り付けでまとめてます。 セル位置 3シートともE列   変更前の式     シート名 004 変更後 [001.xls]001!E2 →  [001.xls]001!E3 [001.xls]002!E3 →  [001.xls]002!E4 [001.xls]003!E2 →  [001.xls]003!E3 [001.xls]001!E10 → [001.xls]001!E11 [001.xls]002!E10 → [001.xls]002!E11 [001.xls]003!E10 → [001.xls]003!E11 [001.xls]001!E15 → [001.xls]001!E16 [001.xls]002!E26 → [001.xls]002!E27 [001.xls]003!E29 → [001.xls]003!E30 その他 300個位あります。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

補足されたリストを見ても、「現状」と「訂正後」の関係が良くわからず、質問の意味がつかめないのですが、ご希望の操作はばらばらのリンク数式に対して縦方向にリンク先のセルの位置をずらしたいということでしょうか? また、例示されたリンク数式は「リンク貼り付け」で作成したものなのでしょうか? その場合は、例示のような相対参照の数式ではなく、絶対参照の数式になると思うのですが・・・・ もし相対参照の数式なら、単純にセルを移動する操作で簡単に数式を作成できます。 絶対参照の数式の場合、INDIRECT関数を使用して指定したセルの値だけ縦方向に移動させたいなら、元の数式をWordのワイルドカード置換を利用して、かなり複雑な置換操作をする必要があります。

ta_003
質問者

お礼

今回教えていただきました関数などとても勉強になりました。 ありがとうございます。 やり方を変えAccessでの取り込みを検討してみようと思います。 今回は、何度もご回答ありがとうございました。 また、違う質問など有りましたらご教授お願いいたします。

ta_003
質問者

補足

何度もご回答ありがとうございました。 処理が非常に複雑で説明箇所に困惑しておりました。 (1)ExcelでのWebクエリについて http://oshiete.goo.ne.jp/qa/6122446.html (2)Exccl2002 リンク貼り付けの数式を変更したい http://oshiete.goo.ne.jp/qa/6135172.html 本来は、上記(1)の質問でsheet1をWebクエリで取り込み、 sheet2リンク貼り付けで集計しております。 しかし、sheet1のデータが毎日増減するので絶対参照でリンク貼り付けしている レコードの集計欄がその都度ずれて訂正をしなければならないのです。 (1)の回答待ちをしている間に(2)の質問を並行してさせていただいておりました。 E列のリンクで関数式の変更が出来るかなと思ったのですが、 かなりのレベルになりそうですね。

その他の回答 (3)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

>元データ内容が毎日変動になるので +1 の式にしたいのですが・・・ >今日 A1 明日 A3 明後日 A2 など毎日変動いたします。 いまひとつリンク式のイメージがわからないのですが、同じ数式で参照位置を変えたいなら、INDIRECT関数とROW関数を組合わせた数式にして、特定のセル(例えばZ1セル)にずらす数値を指定して自由にセル位置を参照させるようにしてはいかかでしょう。 =INDIRECT("[001.xls]001!E"&row(a1)+$Z$1) ただし004のシートが数式のように001~003シートとは別のブックにある場合は、2つのブックを立ち上げておく必要があります。

ta_003
質問者

補足

ご回答ありがとうございます。 ご説明が行き届かなくお手数をおかけしております。  =INDIRECT("[001.xls]001!E"&row(a1)+$Z$1) では、 シート内の1つ下のセルに移動いたします。 リンク先では、順番に1つ下のセルに移動いたします。 001!E1 → 001!E2 →  001!E3 → 001!E4 → 必要なデータのみリンクしているため順不動になっております。 本来であればE列同様1つ1つダイレクトにリンクをすればよいのですが、 レコードの順が毎日変わるのでE列の1つ下という規則は変わらないので 式の変換をしF列に表示したいのです。 リンク先(3ブック) 001.xls 002.xls 003.xls  集計ブック名  link.xls 現状 列名  価格       リンク式   メーカー  E1  95800円(値) =[001.xls]001!E1 AAA  E2  92800円(値) =[002.xls]001!E1 BBB  E3  91800円(値) =[003.xls]001!E1 CCC  E4  44000円(値) =[001.xls]001!E3 AAA  E5  42100円(値) =[002.xls]001!E4 BBB  E6  43900円(値) =[003.xls]001!E6 CCC              ↓ ↓ ↓ ↓ 訂正後 列名  価格       リンク式    列名   販売店     リンク式     メーカー  E1  95800円(値) =[001.xls]001!E1 F1 ビックカメラ(値)   =[001.xls]001!E2  AAA  E2  92800円(値) =[002.xls]001!E1 F2 ヨドバシカメラ(値)  =[002.xls]001!E2  BBB  E3  91800円(値) =[003.xls]001!E1 F3 キタムラカメラ(値) =[003.xls]001!E2  CCC  E4  44000円(値) =[001.xls]001!E3 F4 キタムラカメラ(値) =[001.xls]001!E4  AAA  E5  42100円(値) =[002.xls]001!E4 F5 ヨドバシカメラ(値)  =[002.xls]001!E5  BBB  E6  43900円(値) =[003.xls]001!E6 F6 キタムラカメラ(値) =[003.xls]001!E7  CCC          E列に価格をリンク表示の式を使い +1 にすることによりF列に表示をしたいのです。 何度もお手数をおかけいたしますが、宜しくお願いいたします。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

単純に数式を移動したいなら選択したセル範囲の周囲にカーソルを合わせて移動先にドラッグ(このケースでは1つ上に移動)すれば良いと思うのですが・・・ 例示されたような他ブックからのリンクを一括変更したいなら、リンク先の[001.xlsファイルを立ち上げて、001シートから003シートをグループ化し(もちろん1つづつでもOKです)E1セルで右クリック「挿入」「下方向にシフト」します。 このリンク先のファイルをそのまま上書き保存せずに閉じて、この集計ファイルをいったん閉じて、開き直せば新しいリンクが反映していると思います。

ta_003
質問者

補足

ご回答ありがとうございます。 こういうやり方も有りですね。 Sheet1!(リンク元)より必要レコードのみ選択 → ジャンプ → 可視セル → コピー Sheet2!(リンク先)にリンク貼り付けしております。 元データ内容が毎日変動になるので +1 の式にしたいのですが・・・ 今日 A1 明日 A3 明後日 A2 など毎日変動いたします。 宜しくお願いいたします。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

勘違いかもしれませんが リンク式セル範囲を選択 Ctrl+C でコピー 先頭セルの1行下セルを選択 Ctrl+V で貼り付け 先頭セルを選択 Ctrl+-(マイナスキー) で削除

ta_003
質問者

補足

ご回答ありがとうございました。 説明不足で申し訳ございません。 リンク先の配列が不規則のため一行挿入後のコピーは出来るのですが、 一括ですると出来ないのです。 セル内の数字(レコード)のみ(3桁まで)を +1 に変換し、リンク貼りつけをしたいのです。 A列  B列 ---------- A1 → A2 B1 → B2 C1 → C2 A5 → A6 B7 → B8 C9 → C10 リンク貼り付けの場合、横のコピーは出来るのですが、縦が出来ないのです。 たとえば、 A列 → B列へは、セルで列選択 → リンク式もコピー出来ます。 その後、置換で列名変更(A → B → 置換 E列にも変更)は出来ます。 切り取りは、セルの挿入も出来、式も移動いたします。 同一シート内のコピーは、元セルへのリンクになり元シートの式がコピーが出来ません。 Sheet2 A1の式をB1セルにコピー A1 = Sheet1!A1 → B1 = Sheet2!A1 宜しくお願いいたします。

関連するQ&A

  • excel 数式に含まれている名前を置換するには、

    こんにちは、 excelで、別EXCELからリンク貼り付けした数式に含まれているセルがあります。その数式内にあるファイル名を置換したいのですが、多数のセルがあるので一揆にできないかと考えています。何かいい方法がありましたら教えてください。 例) faile01.xls    file02.xls(参照元) A1:「\file02.xls\A1」 A2:「\file02.xls\A2」 A3:「\file02.xls\A3」 という数式が入っている。 上記で、使途全体より数式内にあるfile02.xlsを一気にfile03.xlsに変更する。 よろしくお願いします。 A1:

  • 「画像のリンク貼り付け」のリンク先変更

    「sheet1」のA1:C3の範囲を「sheet3」に画像のリンク貼り付けをしています。 リンク先を「sheet2」のA1:C3に変更したい場合、その都度数式バーを変更する以外に何か方法はありますか? 理想は、「sheet3」のA1にシート名を入力すると、画像(リンク先)が切り替わるというような便利な方法。 関数のINDIRECTを画像の数式に入れてみましたが、エラーが出て出来ませんでした。

  • 複数シートへのリンク貼り付けについて

    エクセルマクロ勉強中です。 シート1のセルA2の値をシート2のセルA1にリンク貼り付け。シート2のセルA2の値を シート3のセルA1にリンク貼り付け。このスタイルでシートを増やして行った時、それぞれのシート間でコピー、リンク貼り付けをしなくても自動的にコピー、リンク貼り付けが出来るマクロがあれば教えて下さい。 又、各シート名を変更してもリンク貼り付けの設定が変わらないように出来るでしょうか?

  • エクセルでリンク貼り付けしたリンク先のシート名を可変にしたい

    エクセルでリンク貼り付けをすると、「='[リンク先.xls]リンク先シート名'!G37」の様な式になりますが、この式の中のリンク先シート名の部分を、例えばどこかに書いておいてそこを参照するとか、とにかく可変にしたいのです。 エクセルのバージョンは2000です。 よろしくお願いします。

  • エクセルの数式の置換

    エクセルの数式の置換 FileAの数式をFileBにコピーしたのですが、「FileA」の書式が残ってしまい、それを置換しようとしてもうまくいきません。 串刺し計算の数式 =SUM('[FileA.xls]Sheet1:Sheet4'!セル)を FileBの中で =SUM('Sheet1:Sheet4'!セル) となるように置換したいのですが、どのようにすればいいでしょうか?

  • ファイルアドレスの間接的な変更について

    ファイルアドレスの間接的な変更について エクセル上のあるセルが\C\●●●●\○○○○\△△△△\2007-09[\あいうえお.xls]かきくけ!$A$2を参照していて、これを\C\●●●●\○○○○\△△△△\2008-12\[\あいうえお.xls]かきくけ!$A$2に変更したい。(フォルダが異なるが同一名のファイルの同一セルを参照) 2007-09、2008-12とおいているところは年月を表しており、更新したいファイルには他に2006-05、2004-03を参照しているなど、参照先が混在しているため範囲を一括して置換することはできない。 ただこの年月には一定の法則があるため基準となる年月を入力すればどの月に変更するべきなのかは=EDATE( )を使って表示することができる。 私はそれらのセルを&INDIRECT( )&を使って参照式と結び、基準月を入力することによりファイルの置換まで一括でできないかを試みたところエラーになってしまった。 置換をしたりセル内の参照式を直接いじらずに変更する数式をご存じありませんか?

  • EXCEL2003 リンク貼り付けについて

    リンク貼り付けしたいデータがシート1のA5 C5 E5にあります。これをCtrlを押しながらコピーして シート2へリンク貼り付けするとA5 B5 C5に連続でコピーされます。もとのデータのままの飛び飛びのセルのようにはリンク貼り付けでないものでしょうか。よい方法がありましたら教えて下さい。

  • エクセルで数式は残したまま他シートからのリンクを一括で外す方法

    こんにちは。 早速ですが、ご教示ください。 実はエクセルでデータ資料をいくつものシートで作成しています。そのシートには他のシートからリンク貼り付けがなされたり、独自の数式が入っていたりします。 今回教えていただきたいのは、エクセルのシート(いくつもあります)から一括でリンク貼り付けだけ外す方法についてです。(リンク貼り付けを外した結果、値のみを残します。)但し、このシートの中にはそれぞれ独自の数式が入っており、この数式は残したいのです。(従って、シートをコピーして形式を選択して値のみ貼りつけるとリンクは外れますが、数式も外れてしまうので、これでは困るのです) 分かりにくり文章で恐縮ですが、数式を残しつつリンク貼り付け部分を外すにはどのようにすれば良いかご教示ください。

  • リンク貼り付け

    別のシートにある列をリンク貼り付けすると、元のセルに値がないと リンク貼り付けしたセルには”0”と表示されてしまいます。 ”0”が表示されないようにする方法はありますか。

  • 数式の変更

    こんばんは 数式を下記の要に変更したいのですが・・・ =◆/9  → =ROUNDDOWN(◆/9,0) かなりたくさんのセルに数式が入っています。 すべて同じ数式ならばいいのですが、ところどころ違う数式が入っていますので、置換にてうまく変更できないかと思っています。 「*」など使ってやってみましたが うまくいきません! どうぞよろしくお願いします。

専門家に質問してみよう