Excel: vlookup を使用して最後に一致した値を返す
デフォルトでは、Excel のVLOOKUP関数は範囲内の値を検索し、最初に一致した値に一致する値を返します。
ただし、範囲内の値を検索し、最後に一致した値を返したい場合もあります。
Excel でこれを行う最も簡単な方法は、 SEARCH関数で次の基本構文を使用することです。
=LOOKUP(2,1/( $A$2:$A$12 = F1 ), $C$2:$C$12 )
この特定の数式は、セルF1の値と等しい範囲A2:A12の最後の値を検索し、範囲C2:C12の対応する値を返します。
次の例は、この公式を実際に使用する方法を示しています。
例: Excel で値を検索し、最後に一致した値を返します。
さまざまなバスケットボール選手に関する情報を含む次のデータセットが Excel にあるとします。
チーム名「ネッツ」を検索し、ネッツ チームの最後のプレーヤーのポイント列の値を返したいとします。
これを行うには、セルF2に次の数式を入力します。
=LOOKUP(2,1/( $A$2:$A$12 = F1 ), $C$2:$C$12 )
次のスクリーンショットは、この式を実際に使用する方法を示しています。
数式は値29を返します。
データを見ると、これが実際に「ネッツ」チームの最後のプレーヤーに対応するポイント値であることが確認できます。
セルF1の値を別のチーム名に変更すると、数式が自動的に更新されて新しいポイント値が見つかります。
たとえば、チーム名をウォリアーズに変更するとします。
この式は値12を返します。これは、「Warriors」チームの最後のプレーヤーに対応するポイント値です。
追加リソース
次のチュートリアルでは、Excel で他の一般的なタスクを実行する方法について説明します。
Excel: 列内で最初に出現した値を検索する
Excel: 特定の数値より大きい最初の値を検索する
Excel: 行内の最初のゼロ以外の値を見つける方法