• ベストアンサー

同点の場合、先に大きい数字を出した者に順番をつける

  A   B    C   D  E 1 3m  5m  5m  5m  2 1m  2m   5m  5m 3 5m  4m  1m  5m D列にはMAXで最大値を表示させます。しかし順位を決めなければなりません。RANK関数を使って順番をつけても同数なのですべてE列は「1」になります。 D列の最大値が同数でも、順位は早く出した者を上位のランクにさせる方法がわかりません。表だと3=1位、1=2位、 2=3位になります。 これは走り幅跳びのときに同数の場合、先に跳んだ選手を上位していくのですが、どう関数を組み合わせたらよいのかわからないのでおしえてください。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.4

  A B C D E F  G 1 3 5 5 5 2   5.2 2 1 2 5 5 3   5.3 3 5 4 1 5 1   5.1 D1: =MAX(A1:C1) G1: =D1+MATCH(D1,A1:C1,0)/10 E1: =RANK(G1,G$1:G$3,1)

karugamonooyako
質問者

お礼

うまくできました。MATCHの関数について調べていてお礼が遅くなりました。ありがとうございます。

その他の回答 (4)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.5

  A   B   C   D   E   F 1 3m  5m  5m  5m  5.998 2 2 1m  2m   5m  5m  5.997 3 3 5m  4m  1m  5m  5.999 1 E1:=MAX(A1:C1)+(1-MATCH(MAX(A1:C1),A1:C1,0)/1000) F1:=RANK(E1,$E$1:$E$3) E列の算式は、[A~C列の最大値]と[1-最大値の列番号/1000]の和を計算し、F列でそれを評価しています。 1000で割っているのは、A~C列に5.67mなどの値が考えられるからです。 1から引いているのは、最初に出てきたほうを高い評価にするためです。 なお、各セルにはmは入力されていないとしています。

karugamonooyako
質問者

お礼

ありがとうございました。いろいろと数字を入力しながら試してみました。うまくできます。

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.3

ごめんなさい。 大変失礼しました。 No1もNo2も期待の結果にはなりませんね。 無視してください。

karugamonooyako
質問者

お礼

ありがとうございました。

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.2

ごめんなさい。訂正します。 3つ以上の項目の並べ替えになりますので、 以下の方法がいいですね。 E1: =D1&A1&B1&C1 と入力しE2以降はコピー&ペースト A列~E列を選択し、 「データ」→「並べ替え」 「最優先されるキー」を「E列」「降順」 「OK」 データは小数値でも大丈夫です。

karugamonooyako
質問者

補足

=D1&A1&B1&C1⇒この式をいれてみて、なるほど・・・と思いました。並べ替えれば、大丈夫です。 ただ、できれば順位もつけたいのですが(すみません)…この式が入っているE列に対し=RANK(F1,$E$1:$E$3,0)を入れるとエラーが出てしまいます。最終的には出た順位を並べ変えようと思っているのです。たびたびすみません。

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

A列~D列を選択し、 「データ」→「並べ替え」 「最優先されるキー」を「D列」「降順」 「2番目に優先」を「A列」「降順」 「3番目に優先」を「B列」「降順」 「OK」 ではどうですか? 関数での方法が知りたければ、回答を閉め切らないで下さい。

karugamonooyako
質問者

補足

さっそくありがとうございます。 30人ぐらいの集計でつかうものです。順位が表示されば、並べ替えは最後にしたいと考えています。もし関数でわかればおしえてください。よろしくお願いします。