- 締切済み
順位を求める時の考え方
最近答えた質問で、力不足でお役に立たなかったランキングの考え方を教えてください。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1235529 No.5ではこう考えました。 勝ち数、負け数、年齢を2桁までとし、 全部の数字を足した時に重要なものから大きい桁の2桁ずつに表示されるように それぞれに数字をかけました(勝率に100をかけて桁を揃えます)。 この合計数で大きいものから順位をつけて行きたいと思ったのです(年齢にマイナスを掛けたのは間違い)。 更に後半では質問者さんから 同順位になったときに、どう判断させるかが詳しく書かれています。 考え方は面白いと思うのですが、 頭が働かず、質問者さんがおっしゃっている本当の考え方を100%理解することができませんでした。 ためしにExcelで作った表は次のようなものでした。 Excelをお持ちの方はお試しください。 B1から右に 勝数、負け、試合数、勝率5割以上か、勝率、年齢、作業列、ランク、A、B・・・~H A2から下にA~H B2に =SUM(J2:Q2)←下までコピー C2に {=TRANSPOSE(J10:Q10)} ↑C2:C9を選択して=TRANSPOSE(J10:Q10)と入力し、Ctrlを押しながらShiftを押しながらEnterキーを押す。 D2に =IF(C2="","",SUM(B2:C2))←下までコピー E2に =F2>=0.5 F2に =B2/D2←下までコピー G2から下に年齢を統一し、全部20と入力 H2に =B2*10000+E2*10000+F2*100+G2←これを右にコピー I2に =RANK(H2,$H$2:$H$9) J2を灰色に塗りつぶし、ここに入力できないという目印にします。 右下のセルを一つずつ塗ってゆきます(自分と自分の対戦はできないため)。 H10に =SUM(J2:J9) 私は優先順位をよく理解していないようです。 たまたまExcelで作ったのですが、Excelをお持ちの方もそうでない方も この順位の考え方を私にもわかるように説明していただけないでしょうか。 本当にこういった考え方が苦手なのです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- eatern27
- ベストアンサー率55% (635/1135)
質問は、元の質問の質問者さんの(2)の順位の決め方、ですか? "勝ち数-負け数"の大きい人が上位 "勝ち数-負け数"が同じ人の中では、勝ち数が多い人が上位 (さらに、勝ち数も同じなら、年齢などで?) というアルゴリズムでやればよいと思われます。 このアルゴリズムでやれば、元の質問の#6さん,#12さんへの補足通りの順位になりますしね。 Excelの方は >H2に =B2*10000+E2*10000+F2*100+G2←これを右にコピー これでは、 勝数(勝率が5割以上なら1を足す)の多い人が上位 ↑で同順位の人は、勝率(単位%)+年齢の大きい人が上位 というルールになりませんか?(あと、下にコピーですよね?) >H10に =SUM(J2:J9) J10に、でいいですか?
お礼
> "勝ち数-負け数"の大きい人が上位 あらら引き算のために1列挿入しなくては。 > 勝数(勝率が5割以上なら1を足す)の多い人が上位 > ↑で同順位の人は、勝率(単位%)+年齢の大きい人が上位 なるほど年齢以外はあと余分に100倍すればいいんですね。 下にコピーです。 J10に、でした。