Excelで同じテーブルの前の行のセルを参照しますか?


14

どのようにしてセルを参照できますか

  • Color列、
  • 前の行で、
  • 同じテーブルの

同じテーブルのセルから?可能であれば、ワークシートの絶対的な行/列番号に依存せずに。

同様に[[Color],-1]、何か...

回答:


25

構造化参照形式を使用する場合は、試してください

=OFFSET([@Colour],-1,0)

構造化参照を使用せずにこれを行うこともできます。たとえば、テーブルの行2(最初のデータ行)に入力します

=D1

...「色」が列Dにある場合(状況に合わせて)。Offset()は揮発性であり、ブック内のセルが変更されるたびに再計算されるため、大規模なデータセットでは後者の方がはるかに高速です。それはパフォーマンスに大きく影響します。


2

ほとんどの場合、インデックス用に「I」という名前のテーブルに個別の列を作成しますINDEX([Colour],[@I]-1)

また、ほとんど常に前に行にアクセスするため、列に0から始まる番号を付けて、それに応じて式を調整することもできます。

volatile OFFSET関数を使用すると、大きなワークブックがクラッシュするため、すべてのコストを回避することをお勧めします。


常に新しいデータを取得するテーブルにインデックスを作成するにはどうすればよいですか?手動で?または式で?後者は22キャッチですよね?
テイリン

@teylyn通常は手動で行います。データインデックスを並べ替えるときは変更されないため、これは私にとって好ましい方法です。私はあなたのようなあなたのアプリケーションなどの利用何かに依存式使用して創造的な取得することができます確信している=ROW()-2
user3575270

1
数式を使用してインデックスを作成し、別の数式でそのインデックスを参照する場合、インデックスの数式を2番目の数式にネストすることもできます。
テイリン

使用できますROW() - ROW([#Headers]) - 1
ソロモンウッコ

2

私はこれが古い投稿であることを知っていますが、今私が同様のものを必要としていたように、これは後で誰かの助けになると確信しています。必要なのがテーブルの列で合計を実行することである場合、たとえば:

  • 列1には「収入」データ(正と負の値)があります
  • 列2はアカウントの「残高」です

行ごとに、前の残高(列2、前の行)と収入(列1、現在の行)を追加して、現在の残高を計算する必要があります。

これを行う1つの方法は、teylynの答えに基づいて、列2でこの式を使用することです。

=SUM([@Column1];OFFSET([@[Column2]];-1;0))

これは、最初の行で発生するいくつかのエラーを処理します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.