Excel で次の操作を行うことは可能ですか?
セル B1 の値である B1 を範囲 $A$1:A(B1) として何かを実行します。数式を下にドラッグすると、下のセルに範囲 $A$1:A(B2) に対して数式が実行されます。
答え1
はい、次のような数式を記述します。
=INDIRECT( "$A$1:A" & B1)
「$A$1:A」の部分は常に同じままですが、その文字列の外側のセル参照はいわば「ライブ」であり、列にコピーすると変更されます。これは、探しているもののようです。
人々は、INDIRECT()
行または 4,000 または列または 43 がどこかに挿入されて、後で一部またはすべてを削除するような状況で DIRECT 数式が台無しになったとしても「壊れない」数式に多くの注目を向けます。しかし、文字列とライブ セルの両方を使用して参照を構築し、それを解釈できるという別の主な機能もあります。
かなり複雑にすることもできます。ある文字列をライブ セルに結合し、さらに別の文字列に結合し、特定のライブ セルを参照しないが何かを出力する数式に結合し、さらに別の文字列に結合するなど... などです。有効なセル参照のように見える文字列を作成できる場合は、INDIRECT()
それを使用できます。
名前付き範囲を参照することもできますが、文字列を追加しているように感じても、二重引用符で囲まないように注意する必要があります。つまり、INDIRECT(Cell_of_Interest)
ではなく ですINDIRECT("Cell_of_Interest")
。ただし、渡される文字列内に名前付き範囲を作成するのはINDIRECT()
難しい場合があります。そのため、数式を記述するときに名前付き範囲を入力するのではなく、名前付き範囲を渡す必要がある場合は、実際には不安定になる可能性があります。