
数式 =INDIRECT("A"&B2) はセル A{B2} を参照します。たとえば、セル A9 に「x」、セル B2 に 9 を入力し、セル C4 に数式 =INDIRECT("A"&B2) を入力すると、セル C4 に「x」が入力されます。ただし、この数式をコピーした場合、列 A への参照は絶対的であるため、B2 が変わっても「A」は同じままです。これを相対参照にするにはどうすればよいでしょうか。
答え1
数式は=INDIRECT("A"&B2)
揮発性です。つまり、セルが変更されるとワークブック全体の再計算が行われます。これにより、処理速度が著しく低下する可能性があり、可能であれば INDIRECT を避けるべき理由の 1 つです。
単一の式の場合、置き換えは可能ですが、より詳細なコンテキストがなければ、それが状況に必要なものであるかどうかは誰にもわかりません。式は次のように書き直すことができます。
=index(A:A,B2)
結果は同じです。この数式をコピーすると、$ 記号を使用して参照が絶対参照か相対参照かを制御できます。$A:$A
横にコピーしたものは変更されませんが、A:A
右にコピーしたものは に変更されますB:B
。