text()+indirect() を使用せずに 2 つの数値からセル参照を構築するにはどうすればよいでしょうか?

text()+indirect() を使用せずに 2 つの数値からセル参照を構築するにはどうすればよいでしょうか?

セル参照は、concatenate()、text()、indirect() 関数と数値式を組み合わせてプログラムで構築できます。この方法は問題なく機能しますが、呼び出し式が煩雑で扱いにくいものになる可能性があります。また、スプレッドシート上でターゲット セルを移動 (ドラッグ) したときに、参照先のセル アドレスが自動的に更新されなくなります。

たとえば、セルを B2 に等しくします。

=INDIRECT(CONCATENATE("B", TEXT(3-1,"0")))

3-1これは説明目的のためであり、実際の式はもっと複雑である。

より直接的に、つまり TEXT 操作ドメインにアクセスせずに参照を作成する方法はありますか? たとえば、次のようになります。

=("B"):(3-1)

これにより、移動されたセル B1 の自動参照も保持されますか?

答え1

これが役立つかどうかはわかりませんが、OFFSET 関数を使用することをお勧めします。

OFFSET(cell reference, rows, cols [, height [, width]])

例えば、次のようにする=OFFSET(B3,-1,0)と、データが移動するとセル参照が更新されます。

答え2

あなたの例は、

=INDIRECT("B"&(3-1))

答え3

INDEXを使うと、ドラッグすると更新されます。例:

=INDEX(B:B,3-1)

それをドラッグすると、C:C、D:D などに変わります。

関連情報