• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで同じ言葉が入っているセルの中でのランクづけ )

エクセルで同じ言葉が入っているセルの中でのランクづけ

このQ&Aのポイント
  • エクセルで同じ言葉が入っているセルの中でのランクづけをする方法について解説します。
  • 名前や言葉が入っているセルをランク付けし、順位を示す列を作成する方法についてご説明します。
  • 指定した言葉が入っているセルの中で数値を比較し、順位をつける方法について詳しく解説します。

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

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.1

E1に =SUMPRODUCT(($C$1:$C$8=C1)*($D$1:$D$8>D1))+1 と入力して、これを最終行まで複写でどうでしょうか。 参考にしたのはこちらのサイトです。 http://members.jcom.home.ne.jp/kogumax/page034.html こちらのサイトでは、RANK関数ではなくCOUNTIF関数を応用して 自分の行の値より大きい値の個数+1=順位となる という考え方を紹介していますが、本質問の場合だとC列の内容によって 更に絞り込む必要があるので、COUNTIF関数をSUMPRODUCT関数に変えてみました。 SUMPRODUCT関数については以下を。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/sumproduct.htm Excel2007以降ですと、COUNTIFS関数でも可能かと思います。 http://www.becoolusers.com/excel/countifs.html

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 関数ではなく、泥臭い方法になりますが・・・ オートフィルタをかけて、まずD列(数値)の「降順」で並び替えを行います。 次にC列の「品名」でオートフィルタをかけます。 仮に「りんご」でフィルタをかけると「りんご」の行だけが表示されますので E列に「1」から連番を入力します。 同様にすべての「品名」でフィルタをかけ「1」から連番をつけていきます。 最後にすべてを表示させ、A列の「昇順」で並び替えをすれば↓の画像のような感じになります。 関数で色々やってみたのですが上手く出来そうにないのでこのような方法でやってみました。 連番を入力するのがかなりアナログでExcel的ではないと思います。 参考にならなかったら読み流してくださいね。m(__)m

hanauta00
質問者

お礼

回答ありがとうございました。 もともと考えていた方法でしたので、ほっとしました。 この方法がわかりやすいですよね。 今回はNo1の方に教えていただいた方法でできました。 ありがとうございました。

  • layy
  • ベストアンサー率23% (292/1222)
回答No.3

シートを別シートにコピー そのシートで C列D列で並べ替え E列に式で+1しながら順位つけ この結果でA列で並べ替え 元のシートに貼付け こんな感じでもないってことでしょうか。

hanauta00
質問者

お礼

回答ありがとうございました。 そのとおりです。今回はNo1の方の方法でやらせていただきました。 ありがとうございました。

回答No.2

別途、表を作る形となりますが、 F1に=IF(INDIRECT("C"&COLUMN()-5)=$C1,$D1,"") と入れて、右と下へ残り7マスずつ フィルして、8人分の個別の列を設けます。 そして、 E1に=RANK(D1,INDIRECT(CHAR(ROW()+69)&"1:"&CHAR(ROW()+69)&"8")) と入れて、下へフィルします。 これで、ご希望の回答が得られると思います。

hanauta00
質問者

お礼

回答ありがとうございました。 実はF列以降にもデータが入ってて動かすのは難しそうなので No1さんの方法でやらせてもらいました。 INDIRECTを普段使用しないので、なるほどなぁと思いました。 今後使えそうです!

関連するQ&A