質問: エクエルのリンク貼り付けについてご質問します。 質問内容としては、エクセルのリンク貼り付けについてです。 シートを多数作成しているエクセルファイルがあります。 そのシートにシート名「まとめ」というシートを作成していて、 別のシートの内容を変更した際に「まとめ」のシートの内容も自動的に 変更される様に、「まとめ」シートのセルに別シートのセルのリンク貼り付けを 設定しています。 例として、Sheet1のセルA1~A3に「テスト1」「テスト2」「テスト3」と入力します。 別シートのまとめのシートのセルA1~A3に、Sheet1のセルA1~A3をコピーして リンク貼り付けを行います。 まとめのシートのセルA1~A3は、数式バーで「=Sheet1!A1」「=Sheet1!A2」「=Sheet1!$A$3」となっております。 この時点では見た目上、Sheet1とまとめのシートは全く同じ内容になっています。 次に、Sheet1のセルA3の「テスト3」を切り取り、Sheet1のセルA1に貼り付けます。 そうすると、Sheet1のセルA1~A3は「テスト3」「テスト2」「空白セル」となっています。 しかし、まとめのシートのセルA1~A3は「#REF!」「テスト2」「テスト3」 となってしまいます。 この様な場合、まとめのシートのセルA1も同様に「テスト3」と表示されて欲しいのですが、出来ないのでしょうか? 元のシートの切り取りを行ってしまうと、リンク貼り付け先で変更はされないのでしょうか? 尚、切り取りではなくコピーであればこの様な現象は起きません。 例の画像を貼っておきます。 どなたか賢者様、宜しくお願い致します。
回答: OFFSET関数を使ってはどうでしょうか。 まとめシートのA1に =OFFSET(Sheet1!$B$1,ROW(A1)-1,COLUMN(A1)-2) とすれば、「B1を基準として〇セル移動した先の値を参照する」ので、切り取り貼り付けしても反映します。 ただし、基準となるB1を切り取り貼り付けするとズレてしまうので、そこは動かないセルを指定する必要があります。 また、空白セルを参照すると0が返りますので、空白を返したいなら IFを併用するなど対応が必要です。