電子書籍の厳選無料作品が豊富!

こんにちは、
今麻雀対戦成績の表を作成しています。(Excel2010)

連勝記録のベスト5を出そうとしています。

現在L19,O19・・・(赤色の部分)に連勝数がMAX関数を入れて
表示されています。
(黄色は名前になります)

この表を元に
下の表の連勝Best5を作りたいと思っています。
(本当は50人程いますがサンプルで5人で表示しています)

1位 Bさん 3連勝
2位 Aさん 1連勝
2位 Dさん 1連勝
2位 Eさん 1連勝
5位 Cさん 0連勝

上記のような感じが理想です("さん"や"連勝"などの文字は不要です)


現在は
C54に=IFERROR(RANK.EQ(E54,$E$54:$E$58),"")
D54に=IF(E54=0,"",INDEX($J$18:$FB$18,MATCH($E54,$L$19:$FB$19,0)))
E54に=LARGE($J$19:$FC$19,1)
を入れていますが、
下の表のように
同着の場合は同じAさんが表示されてしまいます。
確かにこの関数ではそうなりますよね。

なんとか上記のように同じ人が並ばないように
理想の連勝記録表を作りたいのですが、
どのようにすればよいでしょうか?

もしわかりましたらご指導よろしくおねがいします

「Excelで連勝記録を作りたい」の質問画像

A 回答 (2件)

こんにちは



>なんとか上記のように同じ人が並ばないように~~
同列になった場合に、どのような順序で並べたいのかが記されていませんが、例えば、記載順(=列番号順)で良いものとして・・・

ご提示の内容では、「連勝数」そのもので序列を判断していると思いますが、『連勝数+(記載列番号/1000)』といったような値で序列を判断するようにしておけば、比較値に同点は存在し得ないので、同順位の人は現れなくなります。(使用する列番号<=999と仮定)
この結果、全ての人の順序付けが可能になるので、「重複して同じ人が抽出される」ようなこともなくなります。
要は、計算(判断)する上での同点を作らないようにすれば良いだけなので、他にも方法はいろいろ考えられると思います。

序列から列番号を計算したい場合は、少数以下だけを取り出して1000倍すれば良いですし、セルへの表示などに連勝数を表示したい場合には、少数以下を切り捨てれば良いといったような感じです。
    • good
    • 0
この回答へのお礼

ご丁寧なご連絡ありがとうございます。
なるほど連勝数を小数点で細かくしておけば同順にならずにすみますね。
とても参考になりました。
これで作成させて頂きたいと思います。
ありがとうございました。

お礼日時:2019/01/07 22:57

私あまりパソコン詳しくないですが


データタブをクリックして重複の削除を行っても解決しないでしょうか?
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございます。
そうですね、私がしたいのは削除ではなく表示の方法になりますので・・・
ご丁寧なご回答ありがとうございます。

お礼日時:2019/01/07 12:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!