• ベストアンサー

rank関数を使用する場合、順位に間を空けずに表示させるには?

エクセルで3個の数値のうち1位が2個ある場合、RANK関数で順位を付けると1、1、3となりますが、これを1、1、2と間を空けずに表示させるにはどうすればよいのでしょうか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

一発でできる回答が出るかな。 ランクを考えるデータ行をA列と仮定する。 (1)どこか空き列に(またはA列の隣に列挿入してB列とする)第1行に1、第2行に2と入れ、第1行と第2行を範囲指定して、最下のデータ行まで引っ張る(オートフィル)。 上から行番号と同じ番号が振られる。 (2)(1)の行も含め、データを全列範囲指定して、A列で降順で並び替えする。 (3)空き列に(または列挿入してC列とする)C1に 1と入れる(1番上は、間違い無く1番だから)。 C2に=IF(A1=A2,C1,MAX($C$1:C1)+1) といれ、下へ複写する。$の有無は重要、注意。 (4)この列を自身の列に「値」を複写して、式を消す。 (5)B列で昇順で並べ替えする。順序を当初のように 戻す。 (6)C列の数字が、望みのランク順序です。 他には、VBAでやる手もあります。

aiueochama
質問者

お礼

完璧です。ありがとうございました。また機会がありましたら、よろしくお願いいたします。

関連するQ&A