• ベストアンサー

VLOOKUP関数で条件に合う数値が複数ある場合

いつもお世話になります。 VLOOKUP関数で         点数 名前         50    A         85    B         50    C         90    D         50    E のような場合、50点で表引きするとAしかとれません。 点数からひっぱりたく(点数、名前)で(名前、点数)の並びではありません。 このカテゴリの回答者の方には、いつも的確で助かっております。 仕事でまたまた詰まっています。 よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 今仮に、A1セルに「点数」、B1セルに「名前」と入力されていて、A2~A6に各点数が、B2~B6に各名前が入力されていて、 C1セルに点数を入力すると、 C2以下に、その点数の人の名前を並べて表示するものとします。  その方法は、C2セルに次の数式を入力してから、C2セルをコピーして、C3以下に貼り付けて下さい。 =IF(ROWS($2:2)>COUNTIF($A:$A,$C$1),"",INDEX($B:$B,SUMPRODUCT(ROW($A$1:$A$6)*($A$1:$A$6=$C$1)*(COUNTIF(OFFSET($A$1,,,ROW($A$1:$A$6)-ROW($A$1)+1),$C$1)=ROWS($2:2)))))  後は、C1セルに点数を入力すると、その点数と同じ行に入力されている名前が、C2以下の各セルに表示されます。 【例】     A列  B列  C列 1行目  点数 名前  50 2行目  50  A  A 3行目  85  B  C 4行目  50  C  E 5行目  90  D 6行目  50  E

その他の回答 (1)

  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

じゃあ、50点でどういう名前を引っ張りたいのかが記載されていないんですが…。 VLOOKUPを使用して、質問の表から50点の時「A」を引っ張ってくるのは仕様です。 おかしな動作をしているわけではありません。 なので、どうしたいのかを記載しないとどうしようもない。