プロが教えるわが家の防犯対策術!

お世話になります。

Excel2010で作成しています。

Aのエクセルに、元シートと参照先シートがあります。
Bのエクセルにも、元シートと参照先シートがあります。(シート名も同じ)
元シートのあるセルに参照先シートを使用した関数があります。
「=参照先シート!B:N」
Aのエクセルにある元シートをBのエクセルにコピー(シート名を右クリックしてコピー)
すると対象セルが、
「='Aのフォルダパス\[ファイル名]参照先シート'!B:N」
になってしまいます。
Bのエクセルにも全く同じ「参照先シート」もあるので、コピーしても
「=参照先シート!B:N」
のままにしたいのです。


どのようにすれば、できるでしょうか?

よろしくお願いします。

A 回答 (2件)

・一時的に「イコール」を別の文字列に変換して文字列にしたあとにコピーし、貼り付けたあとに「イコール」へ再度変換する。


・セルをコピーするのではなく、数式そのものをコピー&ペーストする。
・元からINDIRECT関数で参照範囲を決定するようにしておく。
・貼り付けた後「置換」で不要な文字を削除する。

…自分が考える対策としてはこんなもんなあ。


・・・余談・・・

自分は4番目の方法を取ることが多かった。

実際には休日祭日の一覧を別シートに作成してそれを参照させるとき、
複製元のデータを参照してしまうので、面倒だからそれで一括変換して対処ですね。
まあ、3番目のINDIRECT関数を使うのが親切なんでしょうけど、
もう自分の手を離れているので気にしないことにしています。

INDIRECT関数は文字列を範囲として参照させるので、勝手に範囲を拡張されることはない。
例:
 =A1
 ↓
 =INDIRECT("A1")
これでセルをオートフィルでコピーしても別のシートやブックへセルをコピーしてもA1の参照は変わりません。
    • good
    • 0

一度、=を★などに置換してからシートをコピー。

その後★を再度=に置換とかでは如何でしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!