web-dev-qa-db-ja.com

上の行から現在の行までの値を返します

私は簡単なことをしようとしています:いくつかのセルを前の行の値に設定するだけです。 =A(Row()-1)を試しましたが、動作しません。

34
Bliznak

Excelでこの問題を解決するには、通常、上のセルのリテラル行番号を入力するだけです。たとえば、Cell _A7_と入力する場合は、式_=A6_を使用しますその数式を他のセルにコピーすると、前のセルの行も使用されます。

別のオプションは、Indirect()を使用することです。これは、内部のリテラルステートメントを数式に解決します。次のようなものを使用できます。

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

上記の数式は、列Aのセルの値と、数式を含むセルの値より1つ小さい行に解決されます。

71
Ben McCormack

この式には、行文字参照(「A」、「B」など)は必要ありません。同じ列の1行上のセルの値を返します。

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

私はBENとThanks and Lot for Answerをフォローしましたので、彼のアイデアを使用してソリューションを取得しました。同じ投稿をしていますので、他の誰かが同様の要件を持っている場合は、私のソリューションも使用できます最初の行から最後の行までのデータ全体の合計を取得したいのですが、プログラムでスプレッドシートを生成していたので、データは常に動的で行数が多いため、行名を合計でハードコーディングしないでください一定ではありません。私の式は次のようなものでした。

=SUM(B1:INDIRECT("B"&ROW()-4))
1
Vikash Mishra

私にとってより簡単な方法は、R1C1表記に切り替えて、R[-1]C1を使用し、完了したら元に戻すことです。

0
Slai

名前付きテーブルにいる場合は、=OFFSET([@column];-1;0)を使用することもできます。

0
Andre Morata