質問: エクセルで出現回数のランキング表を作りたい ・6桁以下の選手番号 ・試合日(西暦8桁) ・試合結果 ・その他 無作為の順番で上記のデータが入ったエクセルの表があるのですが、 この表を使い、試合に出た回数が多い順番で選手をランキング付けしたいのです。 関数やvbaは若干かじったことある程度の経験しかないのですが、 countif関数を使い、その選手にとって、 その試合が何試合目なのかは、一応目で分かるようにはなりました。 ※ 選手番号がa列だとすると、b1=countif($a$1:a1,a1)をb列にコピーしました。 本当はこの数字を上手く使ってランキング表を作ろうと思ったのですが、 良い案が浮かばず、今回質問させていただきました。 1位 選手番号 試合回数 2位 選手番号 試合回数 ・ ・ ・ できることなら、上記のようにランキング表を作り、 また選手の数が多いので3回以上試合を行なっている選手だけで表を作りたいのですが、 関数やvbaを使い上記の表を作成する良い案はありませんでしょうか?
回答: こんばんは! 一例です。 せっかくcountif関数で試合数を出されているので、余計なお世話になるかもしれませんが・・・ ↓の画像のようにこちらで勝手に表を考えてみました。 作業用の列を2列使わせてもらっています。 作業列e2セルに =if(a2="","",if(countif($a$2:a2,a2)=1,countif($a$2:$a$100,a2),"")) f2セルに =if(e2="","",countif($e$2:$e$100,">"&e2)+countif($e$2:e2,e2)) として、e2・f2セルを範囲指定し、f2セルのフィルハンドルで下へずぃ~~~!っとコピーします。 (f列は単純にrank関数で処理してしまうと、同試合数の場合抽出が困難になりますので、敢えて同試合数でも順位を変えています。 尚、同試合数の場合は上側の行の方が上位になります) そしれ、i2セルに =if(count($e$2:$e$100)