• ベストアンサー

エクセルで一定条件で順位が高い順に表示したい

A:50 B:102 C:60 D:110 E:90 というような成績表があったとして、 100点未満の人を順付けする関数を教えてください。 100点以上の人を反映せず、100点未満で高い人から順に、 違うセルにその人の名前が反映するようにはできないでしょうか。 上記の例ですと、100点未満での順位はE,C,Aの順で、 その人の名前が表示されるようにしたいです。 1位 E 2位 C 3位 A というようにです。 分かりづらい説明かもしれませんが、 なにとぞよろしくお願いします。

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

  • ベストアンサー
回答No.1

A列に氏名、B列に点数があるとして、C1ーC3に、 =INDEX($A$1:$A$5,MATCH(LARGE(($B$1:$B$5<100)*$B$1:$B$5,ROW()),$B$1:$B$5,0)) をCtrl+Shit+Enterで入力。 あるいは、C列を作業列として =IF(B1<100,B1,"") を入力しておき、D1-D3に =INDEX($A$1:$A$5,MATCH(LARGE($C$1:$C$5,ROW()),$C$1:$C$5,0)) を入力。 などが考えられます。 ただし、同点の場合には一人しか表示できません。 なので作業列を作って、その行でソートするのが簡明だと思います。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

A1とB1に各列のタイトル(例:名前、点数)を付けてA:B列にオートフィルタの設定を行います。 B列のフィルタ設定で(オプション)を選択し、検索条件を「100」「より小さい」。 これで、100点未満のリストになります。今度は、B列のフィルタ設定で 降順に並び替え を選択。 これでお望みのリストになったと思いますので、コピーして別なシートにでも貼り付けてください。

関連するQ&A