質問: エクセルで同率の順位の人が表示されない 得点表を元に順位(rank関数)を出し名前順の表にして、 その順位表を元にvlookup関数で順位順の表を作ってます。 この場合、順位順の表では同順位の人がいた場合、同順位2人目以降の人の名前が表示されません(#n/aと表示されます) 同位の人も名前と得点をそのまま表示させたいのですが、何か方法は有りませんか? 現在↓ 1位 aさん 10点 2位 bさん 9点 3位 #n/a #n/a 4位 dさん 8点 ・ ・ となります。それを 1位 aさん 10点 2位 bさん 9点 3位 cさん 9点 4位 dさん 8点 としたいです。 左の順位表記は書きこんでいるだけなので変化しません。もちろん順位に連動して変化してほしいですが、このままでも構いません。 aさん・bさんの各セルに=vlookup(q5,$u$4:$v$21,2,false)のように設定しています。 ずいぶん前に本を見ながら設定したもので、理屈は忘れてます・・エクセル2000です。
回答: こんばんは。 ご質問のデータ位置などが、ほとんど分かりませんが、こういうことでしょうか? 元のデータが以下のような状態であるとします。 例: g h i 名前 点数 順位 dさん 8 5 fさん 9 2 eさん 4 8 aさん 10 1 cさん 9 3 uさん 5 7 lさん 6 6 bさん 9 4 mさん 4 9 別に、降順に並び換える必要はありません。 i2: ~ 順位の出し方 =if(rank(h2,$h$2:$h$10)=countif($h$2:$h$10,">=" &h2),rank(h2,$h$2:$h$10),countif($h$2:$h$10,">" & h2)+countif($h$2:h2,h2)) ランク表 a b c 順位 名前 点数 1位 aさん 10 2位 fさん 9 ・ ・ 順位のa2:~ なぜか、ご質問では、全角を使っていたようなので、 書式-セル-ユーザー書式 [dbnum3]#,##0"位" で、a2~下方に 1 2 3 4 5 . と入れれば、中身は、半角数値で、表示は、全角+「位」がつきます。 b2:~ =index($g$2:$h$10,match(a2,$i$2:$i$10,0),1) c2:~ =index($g$2:$h$10,match($a2,$i$2:$i$10,0),2) とすればよいと思います。範囲は、適宜変えてください。 ただ、同点で、順位に差がつくのは、ちょっと疑問に思いました。