- ベストアンサー
セルの相対参照について
たとえば、あるシートAのA1セルが別のシートBのA1を参照しておりシートAのA2がシートBのC3(A1から列を2つ行を2つ移動したセル)を参照している状態で、シートAのA1の参照セルをシートCのB2に変更したときに自動でシートA2の参照セルをシートCのD4に変更できるような方法はあるでしょうか? 質問の内容がわかりにくいかもしれませんが、是非よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
たとえばD1にSheetB!A1と参照先を記載しておき A1に =INDIRECT(D1) B1に =OFFSET(INDIRECT(D1),2,2) というのはいかがでしょう。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 >質問の内容がわかりにくいかもしれませんが、 ワークシートでは、単独のセルでは難問だと思います。少なくとも、私の最初の解決法では、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) とすれば取れます。
- kmetu
- ベストアンサー率41% (562/1346)
B1に =OFFSET(INDIRECT(D1),2,2) 「B1に」じゃなくて「A2に」でした
お礼
返事が遅くなりすみませんでした。 回答有難うございました。 この方法でトライしてみます。
お礼
返事が遅くなりすみませんでした。 回答有難うございました。 正直難しくてよくわかりませんでした。 今回は別の方の方法で試してみるつもりです。