• ベストアンサー

エクセルでIF関数について教えてください

IFとRANKを使った式使って、順位を作りたいのですが、 ご指導お願いします。 順位 勝点 得点 得失点差 4  3   6  -3 2  6   8   1 1  6  11   4 3  3   9  -2 勝点が同一ならば、得失点差を優先。 得失点差も同じならば、得点を優先する。 順位の優先順位は 1番目に勝点 2番目に得失点差 3番目に得点 という風に条件をつけて、順位を作りたいのですが、 いい案が思いつきません。。。 ご指導よろしくお願いします。

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

  • ベストアンサー
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.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 をしています

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • THX1138
  • ベストアンサー率51% (108/208)
回答No.4

「順位」が 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 点以上になると正しく動作しません。 サッカーだと思いますが、シーズンの合計でもまずありえないですよね。

すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

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

すると、全ての回答が全文表示されます。
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.2

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 この値を元に順位付けしてみては?

すると、全ての回答が全文表示されます。
  • maron--5
  • ベストアンサー率36% (321/877)
回答No.1

◆順位は 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) ★下にコピー

pi-po-3029
質問者

補足

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

すると、全ての回答が全文表示されます。

関連するQ&A