動的な行番号範囲を設定する方法

動的な行番号範囲を設定する方法

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()難しい場合があります。そのため、数式を記述するときに名前付き範囲を入力するのではなく、名前付き範囲を渡す必要がある場合は、実際には不安定になる可能性があります。

関連情報