web-dev-qa-db-ja.com

アドレスが変数にあるときにセルを参照する方法

たとえば、式で、アドレス_A1_を書き込む代わりに、A(B1) with _B1 = 1_のように記述するにはどうすればよいですか。

25
Hoa Vu

INDIRECTの機能を説明する別の方法は次のとおりだと思います。

その範囲が有効な場合、テキストを範囲に変換します。

例えば。テキストA1がある場合、A1を参照します。テキストC2:C100がある場合、これを範囲として取得します。

現在、Excelで範囲の形式でテキストを生成する最も一般的な方法の1つは、連結することです。 Aと_1_(CONCATENATE("A","1"))を連結すると、A1が得られます。

そして、この連結で参照を使用できます。セルB1に1が含まれているとします。

_=CONCATENATE("A",B1)
_

テキストA1を提供します。

したがって、セルA1を取得するには、次を使用できます。

_=INDIRECT(CONCATENATE("A",B1))
_

CONCATENATE()関数が少し長くなったことを除けば、心配しないでください! _&_を使用できます:

_=INDIRECT("A"&B1)
_

同様に動作します。

A1にCがあり、B1に_32_があるような複雑なものがある場合、セル_C32_を参照するには、次のようにします。

_=INDIRECT(A1&B1)
_

=INDIRECT("C"&"32")=INDIRECT("C32")、そして最後に_=C32_が得られます

33
Jerry

「間接」は使用する必要がある関数です。

ドキュメント から:

構文:

INDIRECT(参照; A1)

Refは、コンテンツを返すセルまたは領域(テキスト形式)への参照を表します。

A1(オプション)-0に設定すると、R1C1表記が使用されます。このパラメーターが存在しないか、0以外の値に設定されている場合、A1表記が使用されます。

= INDIRECT(A1)は、A1に参照としてC108が含まれ、セルC108に100の値が含まれる場合、100に等しくなります。

= SUM(INDIRECT( "a1:"&ADDRESS(1; 3)))は、A1のセルから、行1および列3で定義されるアドレス。これは、エリアA1:C1が合計されることを意味します。

6
SeanC

= OFFSET(B1、0、1)

OFFSET(参照、行オフセット、列オフセット、領域の高さのデフォルトは1、領域の幅のデフォルトは1)

例1。乗算表があり、OFFSETで何らかの愚かな理由で答えを見つける必要があります。

   A   B  C  D  E  F
1      1  2  3  4  5
     ---------------
2  1 | 1  2  3  4  5
3  2 | 2  4  6  8 10
4  3 | 3  6  9 12 15
5  4 | 4  8 12 16 20
6  5 | 5 10 15 20 25

2x4 = OFFSET(A1、2、4)が必要だとしましょう。この場合、数値の切り替えは等しく機能します= OFFSET(A1、4、2)

例2。前の乗算テーブルの2以上のすべての数値の合計を計算してみましょう。 = SUM(OFFSET(A1、2、2、4、4))

3
mhv