私は簡単なことをしようとしています:いくつかのセルを前の行の値に設定するだけです。 =A(Row()-1)
を試しましたが、動作しません。
Excelでこの問題を解決するには、通常、上のセルのリテラル行番号を入力するだけです。たとえば、Cell _A7
_と入力する場合は、式_=A6
_を使用しますその数式を他のセルにコピーすると、前のセルの行も使用されます。
別のオプションは、Indirect()
を使用することです。これは、内部のリテラルステートメントを数式に解決します。次のようなものを使用できます。
_=INDIRECT("A" & ROW() - 1)
_
上記の数式は、列A
のセルの値と、数式を含むセルの値より1つ小さい行に解決されます。
この式には、行文字参照(「A」、「B」など)は必要ありません。同じ列の1行上のセルの値を返します。
=INDIRECT(ADDRESS(ROW()-1,COLUMN()))
私はBENとThanks and Lot for Answerをフォローしましたので、彼のアイデアを使用してソリューションを取得しました。同じ投稿をしていますので、他の誰かが同様の要件を持っている場合は、私のソリューションも使用できます最初の行から最後の行までのデータ全体の合計を取得したいのですが、プログラムでスプレッドシートを生成していたので、データは常に動的で行数が多いため、行名を合計でハードコーディングしないでください一定ではありません。私の式は次のようなものでした。
=SUM(B1:INDIRECT("B"&ROW()-4))
私にとってより簡単な方法は、R1C1
表記に切り替えて、R[-1]C1
を使用し、完了したら元に戻すことです。
名前付きテーブルにいる場合は、=OFFSET([@column];-1;0)
を使用することもできます。