プロが教える店舗&オフィスのセキュリティ対策術

IFとRANKを使った式使って、順位を作りたいのですが、
ご指導お願いします。

順位 勝点 得点 得失点差
4  3   6  -3
2  6   8   1
1  6  11   4
3  3   9  -2

勝点が同一ならば、得失点差を優先。
得失点差も同じならば、得点を優先する。

順位の優先順位は
1番目に勝点
2番目に得失点差
3番目に得点

という風に条件をつけて、順位を作りたいのですが、
いい案が思いつきません。。。

ご指導よろしくお願いします。

A 回答 (5件)

ANo1のmaronです参考になれば幸いです


◆A2=SUMPRODUCT((B2*10^6+(100+D2)*10^3+C2<=$B$2:$B$5*10^6+(100+$D$2:$D$5)*10^3+$C$2:$C$5)*1)

★考え方はすでにほかの方が説明されています
1)上の式を選択して数式バーで、B2*10^6+(100+D2)*10^3+C2 の部分を指定して、F9を押してください
2)3097006 になりましたでしょうか(この数字の意味はわかりますよね)
3)次に、$B$2:$B$5*10^6+(100+$D$2:$D$5)*10^3+$C$2:$C$5 を指定して、F9を押してください
4){3097006;6101008;6104011;3098009} となりました
5)これは、{3097006;6101008;6104011;3098009}のうち、3097006 以上はいくつかこれが「順位」になります
6)先ほどの回答は、<= を、 < としていましたので、 +1 をしています
    • good
    • 0

「順位」が A1 セルに入っているものと仮定して説明します。



・ソート機能を使う

組み込みのソート機能はキーを3つまで指定できるので
1)勝点(降順)
2)得失点差(降順)
3)得点(降順)
を与えてソートします。
順位列(A 列)には ROW 関数で行番号を表示させます。
1行目はタイトル行なので、その分はプラスする必要があります。

=ROW()+1

ただし、この方法は単に行番号を出しているだけなので、
例えば得点順などでソートしなおすと、
順位の列に出る数字は順位ではなくなります。

・3つの要素をまとめる

3つの要素に重み付けをします

1)勝点(1000000 倍)
2)得失点差(1000 倍)
3)得点(そのまま)

そしてそれらを合計した数値を RANK 関数にかけます。
しかし得失点差は負の数になる場合があるので、
一番小さいものを基準に補正する必要がありますね。
最小値の絶対値を加えます。

=D2+ABS(MIN(D:D))

ということで、セル E2 には下記の式が入ります

= B2 * 1000 ^ 2 (勝点)
 + (D2 + ABS(MIN(D:D))) * 1000 (得失点差)
 + C2 (得点)

セル A2 では E 列から順序付けをします

=RANK(E2, E:E)


ただし、この方法は当然ながら 1000 点以上になると正しく動作しません。
サッカーだと思いますが、シーズンの合計でもまずありえないですよね。
    • good
    • 0

作業列を用意していいなら


E2=B2+C2/10000+(D2-MIN($D$2:$D$5))/100
これをE5までコピーして、この列でRANK関数で順位をつける。
    • good
    • 0

4  3   6  -3


2  6   8   1
1  6  11   4
3  3   9  -2


全ての項目が数字データと仮定して説明します。
[勝ち点]*10000 + (50+[得失点差])*100 + 得点
というデータを求めます。
上記例では、
3*10000+(50-3)*100+ 6=34706
6*10000+(50+1)*100+ 8=65108
6*10000+(50+4)*100+11=65411
3*10000+(50-2)*100+ 9=34809

この値を元に順位付けしてみては?
    • good
    • 0

◆順位は


A2=SUMPRODUCT((B2*10^6+(100+D2)*10^3+C2<=$B$2:$B$5*10^6+(100+$D$2:$D$5)*10^3+$C$2:$C$5)*1)
★下にコピー

この回答への補足

早々とありがとうございます!
完璧だったのですが、
これは、どういう意味で、こうなるのでしょうか?(無知ですいません)
ご説明頂けたら、幸いです。。。

補足日時:2008/08/22 15:14
    • good
    • 0

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