• ベストアンサー

RANK.AVG関数の存在目的を知りたい

Excel 2013 (あるいはそれ以前から?)の RANK関数には、2種類があるのはご存知のとおり。=RANK.EQ() と =RANK.AVG() です。前者は従来の =RANK() と全く同じものと理解しておりますが、最近 Excel 2013 を導入したばかりの私には =RANK.AVG() の方を使わなければならない場合を想定できません。 どなたか =RANK.AVG() 誕生の理由・由来・経緯とか、(=RANK.EQ() を使うには不都合があって、)=RANK.AVG() を使った方が適切な例を教えてください。お願いします。

  • msMike
  • お礼率71% (507/712)

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

RANK.AVG 関数は、英語のサイトを見てもあまり詳しい説明はないようですが、以下のような説明文のように産業界での最も良い方法(産業界からの要望)に対応させるためにExcel2010から追加された関数のようです。 RANK.AVG Consistent with industry best practices, returning the average rank 私のイメージでは、たとえばスキー選手の成績を評価するとき(ワールドカップ10戦の総合ランクを付けたいとき)、基本は順位が基準になると思いますが、ある1戦で1位が3人出たときは3人に「2位」の評価をして判定したほうが合理的なケースが考えられます。 また製品などの評価においても、いくつかの評価項目の集計をすることになりますが、各評価項目の総計を出すときに、同点が出た場合、平均順位のほうが合理的な評価になることもあるのではないでしょうか。 これまでにも、多くのユーザーからの要望で、いくつかの関数(特に統計関数)で、集計方法の異なる(改善された)新しい関数が追加されてきましたが、RANK.AVG 関数については、個人的にはあまり必要性のない関数のような気もしています。

msMike
質問者

お礼

》 1位が3人出たときは3人に「2位」の評価をして判定したほうが合理的なケースが考えられます 》 同点が出た場合、平均順位のほうが合理的な評価になることもあるのではないでしょうか なるほど、と思いました。どうも、ありがとうございました。

その他の回答 (1)

  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.1

順位に応じて点数を振り分けたい時とかでしょ?

msMike
質問者

お礼

「順位に応じた点数」というのが、例えば「順位に応じた賞金」みたいなことなら、納得です。 ありがとうございました。

関連するQ&A

  • RANK.AVG関数でも同順位が整数で表示・・

    エクセル2010を使っている者です。 RANK関数がRANK.AVGとRANK.EQに分かれ、前者の場合は同順位だった場合、小数点で表示されるとのことですが、使ってみたところRANK関数と同じように同順位が同じ値の整数で表示されてしまいます。 以下のサイトに書いてあるとおり、小数点で表示させるにはどうすればよいでしょうか? http://blog.goo.ne.jp/fkeebie2010/e/5e9016b3146ae18225146f079bc6baec

  • RANK関数を使った構文

    以下のサイトで、エクセルの無料練習問題を解いています。 ↓中級者エクセル関数練習問題(無料ダウンロード) http://www.beginners-site.com/word-excel-sozai/excel-oyo.html このうちの、[(33)順位セルを作成せず、「5位」以内の順位を設定 ]の問題の解き方でご相談です。 私はこの式を作りました。 =IF(RANK(H22,$H$22:$H$32,0)<=5,RANK(H22,$H$22:$H$32,0),"") もっとスマートな解き方が分かる方、教えてください。 お願いいたします。

  • よみがな順でランク付け(RANK関数のようなもの)を行いたい

    EXCELでRANK関数というのがありますが RANK関数では、数値しか扱えません RANK関数のように、読み仮名順に順番を付けることはできないでしょうか?   A     B 1 やまだ   2 いいだ 3 つぼい 4 たなか 5 おだ 「B1」セルに「=RANK(A1,$A$1:$A$5,1)」と入れB2~B5まで コピーするようなイメージです。 (B1セルではなくても良いですし、途中に計算過程を入れる セルを挟んでも問題ありません) 読み仮名を一文字づつ分解し、文字コードに変換(CODE関数)→ 連結(&)→数字に変換(VALUE関数)という事をやり、その結果で RANK付けという作業をしたのですが、数字が大きすぎになってしまい 10文字目くらいまでしか有効になりませんでした。 何か良いアイディアなどお持ちの方がいらっしゃいましたら ご教授ください、お願いします。

  • ExcelのRANK関数で。

    こんにちは。宜しくお願い致します。 ゲームの得点を集計するフォームをエクセルで作成しているのですが、 もしも同点のものがあった場合は、順位をより上のセルに入力されているものが上位になるように設定したいのです。 例) B列(得点)  C列(順位) 10       2 20       1 10       3 10       4 と、このような形にしたいのです。 今現在、RANK関数を使用して作成していたのですが、同点の場合に不都合があることに気が付いて、その解決方法がわかりません。 もっとほかの関数を使うべきなのでしょうか? どなたか教えてください。宜しくお願い致します。

  • Excel 関数やVBAなどを使ってランク仕分けを連動するには?

    Excel 関数やVBAなどを使ってランク仕分けを連動するには? 図のようにランクA・B・Cがあったとします。このセルは触りません。 下の元データがあり、ランクが常に変動するものとします。(これは任意で入力:黄色部) たとえばおにぎり¥120がAランクの場合、上のランク表のAランク部におにぎり・¥120が表示され、おにぎりがBランクに変わった場合、Bランク部のリストに入ってくる方法ってできますか? 色々試してみましたがお手上げです。Vlookupなどの関数にて挑戦しましたが全くできませんでした。すいませんが分かる方、ご回答のほどよろしくお願いいたします。

  • Access2013のIIF関数等について

    初めて質問させていただきます。 【経緯】 この度、Excelにてif関数を用いたデータ整理を行おうと考えていたのですが、データ量がExcelで快適に動作できる量を超えていたため、 タイトルにもあるように初めてAccessのIFF関数を用いて同様もしくは類似の動作が可能かどうかをお聞きしたく、質問致しました。 【データ(関数導入前)】 ID 数値1 数値2 数値3 検索値 解答 1  1000  2000  50   1500   2  3000  4500  10   1000   3  7500  9000  350    8000  このようなデータがあったと仮定し、数値1<検索値<数値2となるとき、 下記のような同行の数値3を解答の列に返すことはできるのでしょうか? 【データ(関数導入後)】 ID 数値1 数値2 数値3 検索値 解答 1  1000  2000  50   1500  50 2  3000  4500  10   1000   3  7500  9000  350    8000  350 Excelでしたら、IF関数を使用すればできることは知っているのですが Accessを使用して同じようなことができるのかが全く分からないので どなたかご教授いただければ幸いです。 何卒よろしくお願い申し上げます。

  • エクセル【RANK関数の入力について】

    http://www.eurus.dti.ne.jp/~yoneyama/Excel/nyumon/seiseki/sei-n05.htm 上記のサイトでエクセルを勉強中の者です。 『(練習1)RANK関数の入力』の5で『I5セルのフィルハンドルをドラッグして、I14セルまで数式をコピーします。』となっているのですが、私がやった場合、図の通りの数字の順位になりません。 I5は範囲がH5~H14の場合の順位なので9位となるのですが、それ以降は範囲がそれぞれ1ずつ下がった状態で計算しているみたいで、I6は範囲がH6~H15になってしまい、本来5位のはずが6位となってしまいます。 多分何かがおかしいと思うのですが、宜しければご教授お願い致します。

  • 限定範囲内の数値に対するRANK関数について

    エクセルについての質問です。    A  B   C  D 1    11 22 33 2    10 20 30 3    15 25 36 4    12 24 36 5    18 27  A列にRANK関数を使い「順位を入れたい」のです。 ただし以下のような決まりがあります。    (1)D列にて値が33以上の数値を対象とし、    (2)B列の数値を降順にランク付け 結果としては以下のようになる数式を目指していますがそのような関数はできますでしょうか。    A   B   C  D 1  3  11 22 33 2     10 20 30 3  1  15 25 36 4  2  12 24 36 5     18 27  対象がD列だけの数式でしたら 例えばA1のセルに  =IF(OR(D1<33,D1=""),"",RANK(D1,$D$1:$D$5,FALSE)) と入力し、他のA列へコピーすれば良いと思うのですがさらにその結果を対象とした数式がどうにもよくわかりません。 お分かりの方いらっしゃいましたら教えて頂けますでしょうか。

  • 【エクセル】重複項目内でのみのrankは・・・

    エクセルでのrank関数について教えてください! 下のような表になっています。   A   B    (理想の結果) 1 あ  30    2 2 あ  50    1 3 あ  10    3 4 い  60    1 5 い  15    2 6 う  38    1 とあります。ここで、単純にrank関数を使って順位を 示すのではなく、A列の「あ」の中での順位、 「い」の中での順位・・・といった結果にしたいのです。 重複データを抽出・・・といった関数の組立方が さっぱりわかりません。 手動でrank範囲を指定するのには膨大なデータで、 気が遠くなりました。 お手数ですがよろしくお願いします。 

  • エクセルでの関数の表記について

    よろしくお願いいたします。エクセルでランクをつけるとき、例えば=RANK(A1,A1:A5)などのように入力すると思います。何台かあるコンピュータのうち、一台のエクセルだけ=RANK(A1;A1:A5)となります。関数の区切りがカンマでなくセミコロンになってしまいます。この1台のエクセルを通常のようにカンマで関数を区切りたいのですが,エクセルにそのような設定個所はありますか?関数を直接入力しなければいいのですが,直接入力した場合カンマではエラーになってしまうのでどなたかお詳しい方お教えください。

専門家に質問してみよう