web-dev-qa-db-ja.com

上のセルから値を取得

Googleスプレッドシートで、上のセルの値に到達することは可能ですか?

意味:1つのセルA2で、上のセルの値、つまりA1を表示します。それがその座標だからではなく、上のセルだからです。これを行うには、単に上記のセルに等しい値を設定します。

enter image description here

これら2つの間に新しい行を作成すると、次のようになります。

enter image description here

知っているように、参照はこのように相対的ではないため、値に変更はありません。セルに対してどのようにそれを作ることができるので、変更されたものよりも上のセルを常に選択しますか?結果をこれにしたい:

enter image description here

relativeという用語は この場合は間違っています ですが、もちろん私の意見が得られることを願っています。私bothは通常の相対的な振る舞いを望みます(したがって、セル自体を移動でき、その参照は新しい列と列に適合します)参照が特定の固定座標を指すのではなく、セル自体からの特定のパスを指す動作。

45
Steeven

次のように対処できます。

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))

COLUMN()は、現在の列への数値参照を返します

ROW()は、現在の行への数値参照を返します。

この例では、行から1を引くと、前の行が得られます。この数式はROW()および/またはCOLUMN()に適用できますが、質問に答える際に、この数式は上のセルを参照します。

次に、数値の行と列の参照を受け入れ、セル参照を文字列として返すADDRESS()があります。

最後に、INDIRECT()を使用すると、セル参照を文字列として渡し、式として処理します。

Googleスプレッドシートでは、入力時にヘルプヒントが提供されるため、上記の式を入力するときに各関数の完全な説明を取得する必要があります。

97
Aaron

この質問に出くわした人には、次のようなことをして列を指定することもできます。

=INDIRECT("A" & ROW()-1)

これは、列Bの値を返しながら列Aの前の行をチェックする場合に便利です。

13
user2597747