• ベストアンサー

セルの相対参照について

たとえば、あるシートAのA1セルが別のシートBのA1を参照しておりシートAのA2がシートBのC3(A1から列を2つ行を2つ移動したセル)を参照している状態で、シートAのA1の参照セルをシートCのB2に変更したときに自動でシートA2の参照セルをシートCのD4に変更できるような方法はあるでしょうか? 質問の内容がわかりにくいかもしれませんが、是非よろしくお願いします。

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

たとえばD1にSheetB!A1と参照先を記載しておき A1に =INDIRECT(D1) B1に =OFFSET(INDIRECT(D1),2,2) というのはいかがでしょう。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 >質問の内容がわかりにくいかもしれませんが、 ワークシートでは、単独のセルでは難問だと思います。少なくとも、私の最初の解決法では、Ver 2010 では無理になります。また、私は、レジストリを変更してメッセージを出さないようにしてありますが、何もしていないEXCELでは、開くときに、マクロ関数を使っているというメッセージが出てしまいます。 A1; は、絶対参照にしてください。 =Sheet2!$A$1 次に、 挿入--名前--定義 名前(w) FRML 参照範囲(R) =MID(GET.FORMULA(!$A$1),2,256)&LEFT(NOW(),0) [OK] 閉じます。 '------------------------------------------- A2: =OFFSET(INDIRECT(FRML,0),2,2) このようにすれば、参照値が取れます。 '------------------------------------------- VBAの解決方法でしたら、 標準モジュール '------------------------------------------- Function GetInDirect(rng As Range, i As Long, j As Long)   Dim Frml As String   Frml = Mid$(rng.Formula, 2)   GetInDirect = Range(Frml).Offset(i, j).Value End Function ワークシートのA2で、 =GetInDirect(A1,2,2) とすれば取れます。

beer-daisuki
質問者

お礼

返事が遅くなりすみませんでした。 回答有難うございました。 正直難しくてよくわかりませんでした。 今回は別の方の方法で試してみるつもりです。

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.2

B1に =OFFSET(INDIRECT(D1),2,2) 「B1に」じゃなくて「A2に」でした

beer-daisuki
質問者

お礼

返事が遅くなりすみませんでした。 回答有難うございました。 この方法でトライしてみます。