Excel関数:現在のセルから範囲を選択->テーブルの列の最後


1

これが私のExcelテーブルです。

演算子付きのテーブル

次の式を使用して「THENのオフセット」を計算しようとしています。

=MATCH("THEN",[@[Rule operator]]:[Rule operator],0)

上記の式は機能しませんが、これは機能します:

=MATCH("THEN",[@[Rule operator]]:$A$12,0)

後者の問題は、最後の行のインデックスが変更されるたびに動作が停止することです。

Excelテーブルの現在のセルから列の最後までの範囲を選択するにはどうすればよいですか?

回答:


2

[Rule operator]範囲自体であるため、数式は機能しません。したがって、5行目のセルに数式を入力すると、Excelは次のように数式を評価します。

=MATCH("THEN",[@[Rule operator]]:[Rule operator],0)
                   ↓↓↓
=MATCH("THEN",$A$5:$A$2:$A$12,0)

A5はA2:A12の範囲の中央にあるため、Excelはそれを無視し、A2:A12のみを使用します。

これに対処するには、[@[Rule operator]]ビットを保持できますが、列の最後のセルがどこにあるかを解決するために何かが必要です。

これを行うにはROWS([Rule operator])、を使用してテーブルの行数をカウントし、ヘッダー行に1を追加し(テーブルの上に他の行がある場合はさらに追加します)、INDIRECT関数を使用してそれをセル参照にアセンブルします。これにより、次のことが可能になります。

=MATCH("THEN",[@[Rule operator]]:INDIRECT("A"&1+ROWS([Rule operator])),0)

これにより、式を実行している行を含むMATCH行の位置が出力されるため、各行に必要なTHEN値のオフセットを計算するには、1を引く必要があります。

=MATCH("THEN",[@[Rule operator]]:INDIRECT("A"&1+ROWS([Rule operator])),0)-1

それでおしまい :)

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