
{= MAX ( IF (criteria, ROW (rng)- MIN ( ROW (rng))+1))}概要
ルックアップ値の最後の一致(つまり、最後の出現)の位置を取得するには、IF、ROW、INDEX、MATCH、およびMAX関数に基づく配列数式を使用できます。示されている例では、H6の式は次のとおりです。
日付をExcelに入れる方法
{= MAX ( IF (names=H5, ROW (names)- MIN ( ROW (names))+1))}
ここで、「名前」は 名前付き範囲 C4:C11。
注:これは 配列式 そして、control + shift + enterで入力する必要があります。
説明
この式の要点は、特定の範囲の行番号のリストを作成し、値を照合してから、MAX関数を使用して、最後に一致した値に対応する最大の行番号を取得することです。便宜上、名前付き範囲「names」を使用しています。
数式のこの部分は、裏返しに作業して、行番号の相対セットを生成します。
ROW (names)- MIN ( ROW (names))+1
上記の式の結果は、次のような数値の配列になります。
Excelで回帰統計を取得する方法
{12345678}
表の8行に対応する8つの数値を取得していることに注意してください。見る このページ 数式のこの部分がどのように機能するかの詳細については。
この式では、次の行番号のみが必要です。 一致する値 、したがって、IF関数を使用して次のように値をフィルタリングします。
IF (names=H5, ROW (names)- MIN ( ROW (names))+1)
これにより、次のような配列になります。
{1FALSEFALSE4FALSEFALSE7FALSE}
この配列にはまだ8つの項目が含まれていることに注意してください。ただし、名前付き範囲「names」の値が「amy」と等しい行番号のみが存続します(つまり、1、4、7)。配列内の他のすべての項目は、IF関数の論理テストに失敗したため、FALSEです。
最後に、IF関数はこの配列をMAX関数に配信します。 MAXは、配列の最大値である番号7を返します。これは、名前が「amy」である最後の行番号に対応します。最後に一致する行番号がわかれば、INDEXを使用してその位置の値を取得できます。
ピボットテーブルをExcelに挿入する方法
最後から2番目など。
最後から2番目、最後から3番目などを取得するには、次のようにMIN関数からLARGE関数に切り替えることができます。
{= LARGE ( IF (criteria, ROW (rng)- MIN ( ROW (rng))+1),k)}
ここで、kは「n番目に大きい」を表します。たとえば、上記の例で最後から2番目の一致を取得するには、次を使用できます。
{= LARGE ( IF (names=H5, ROW (names)- MIN ( ROW (names))+1),2)}
前と同じように、これは配列数式であり、control + shift + enterで入力する必要があります。
著者デイブブランズ