Excel: index と match を使用して複数の値を垂直に返す
INDEX および MATCH で次の基本的な数式を使用すると、Excel で複数の値を縦方向に返すことができます。
=IFERROR(INDEX( $B$2:$B$11 ,SMALL(IF( $D$2 = $A$2:$A$11 ,ROW( $A$2:$A$11 )-ROW( $A$2 )+1), ROW( 1:1 )))),"")
この特定の数式は、範囲A2:A11の対応する値がセルD2の値と等しい、範囲B2:B11のすべての値を返します。
次の例は、この公式を実際に使用する方法を示しています。
例: INDEX と MATCH を使用して複数の値を縦方向に返す
Excel に、さまざまなバスケットボール選手の名前とチームを示す次のデータ セットがあるとします。

ここで、マブス チームのすべてのプレーヤーの名前を返したいとします。
これを行うには、セルE2に次の数式を入力します。
=IFERROR(INDEX( $B$2:$B$11 ,SMALL(IF( $D$2 = $A$2:$A$11 ,ROW( $A$2:$A$11 )-ROW( $A$2 )+1), ROW( 1:1 )))),"")
Enterを押すと、マブス チームの最初のプレーヤーの名前が返されます。

次に、この数式を列 E の残りのセルにドラッグして入力し、マブス チームの各プレーヤーの名前を表示します。

マブス チームの 4 人のプレーヤーそれぞれの名前が表示されるようになったことに注意してください。
セルD2のチーム名を変更すると、列 E に表示されるプレーヤー名もそれに応じて変更されることに注意してください。

ネッツ チームの 3 人のプレーヤーそれぞれの名前が表示されます。
追加リソース
次のチュートリアルでは、Excel で他の一般的なタスクを実行する方法について説明します。
Excel: 2 つのルックアップ値を使用して VLOOKUP を実行する方法
Excel: VLOOKUP を使用して複数の列を返す方法
Excel: VLOOKUP を使用してすべての一致を返す方法