• ベストアンサー

Excelの順位と抽出

A列にはRANK関数でつけた順位 B列には氏名 C列には点数 D列にはVLOOKUP関数で順位昇順の氏名 があります。 今回はA、C、Dさん退席、次はB、Gさん退席…と出入りが激しい場合、 このままでは人数が多いと頭の中でいない人を排除して見る事になって D列が分かりづらくて仕方ありません。 存在している人を抽出する方法はありませんか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

今回ご質問内容とは無関係だけど念のため: >D列にはVLOOKUP関数で順位昇順の氏名があります。 A列で,漠然とRANK関数で順位を付けていた場合,同点のヒト同士が同順位となります。 するとそのままでは,D列の計算が「同じヒトが繰り返し表示」されたり「エラーが計算される」結果になります。解決してありますね? さて本題。 >存在している人を抽出する方法はありませんか? どの人を除外したいのか,エクセルに教えてやらないとエクセルは当然何もしてくれません。 作り直し: A列に順位 B列に人の名前 C列に得点 D列に「その人を除外したい場合は何か記入,除外しないでイイときは空っぽ」にします A2:全員順位 =IF(D2="",RANK(C2,C:C)+COUNTIF($C$2:C2,C2)-1,"") E2:対象者順位 =IF(ROW(E1)>COUNT(A:A),"",ROW(E1)) F2:対象者名 =IF(E2="","",VLOOKUP(SMALL(A:A,E2),A:B,2,FALSE)) それぞれリスト下端までコピー。

wancoX-1
質問者

お礼

迅速な回答ありがとうございます。 同点によるエラーについては調べて解決済みです。 おかげさまで応用させる事ができました。 ありがとうございました。

関連するQ&A