・6桁以下の選手番号
・試合日(西暦8桁)
・試合結果
・その他
無作為の順番で上記のデータが入ったエクセルの表があるのですが、
この表を使い、試合に出た回数が多い順番で選手をランキング付けしたいのです。
関数やVBAは若干かじったことある程度の経験しかないのですが、
COUNTIF関数を使い、その選手にとって、
その試合が何試合目なのかは、一応目で分かるようにはなりました。
※ 選手番号がA列だとすると、B1=COUNTIF($A$1:A1,A1)をB列にコピーしました。
本当はこの数字を上手く使ってランキング表を作ろうと思ったのですが、
良い案が浮かばず、今回質問させていただきました。
1位 選手番号 試合回数
2位 選手番号 試合回数
・
・
・
できることなら、上記のようにランキング表を作り、
また選手の数が多いので3回以上試合を行なっている選手だけで表を作りたいのですが、
関数やVBAを使い上記の表を作成する良い案はありませんでしょうか?
No.2ベストアンサー
- 回答日時:
こんばんは!
一例です。
せっかく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)<ROW(A1),"",INDEX($A$2:$A$100,MATCH(ROW(A1),$F$2:$F$100,0)))
J2セルに
=IF(I2="","",COUNTIF($A$2:$A$100,I2))
という数式を入れ、I2・J2セルを範囲指定し、J2セルのフィルハンドルで下へコピーすると
画像のような感じになります。
数式は100行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。
以上、長々と書きましたが
参考になれば幸いです。m(__)m
No.4
- 回答日時:
シート1ではA1セルに選手番号、B1セルに試合日、C1セルに試合結果、D1セルにその他の文字列がそれぞれ入力されておりデータが2行目から下方にあるとします。
最初にすべての選手について試合回数についてのランク付けの方法を示します。当然3回以上試合を行っている選手についてもランク付けする方法についてもその後に示します。
シート1には作業列としてE1セルには試合回数と文字列を入力しE2セルには次の式を入力します。
=IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,COUNTIF(A:A,A2),""))
F2セルには次の式を入力します。
=IF(E2="","",RANK(E2,E:E)+COUNTIF(E$2:E2,E2)/10000)
E2セルとF2セルを選択してそれらの式を下方にオートフィルドラッグします。
答えとなるシート2ではA1セルに順位、B1セルに選手番号、C1セルに試合回数と文字列を入力します。
A2セルには次の式を入力します。
=IF(ISNUMBER(SMALL(Sheet1!$F:$F,ROW(A1))),INT(SMALL(Sheet1!$F:$F,ROW(A1))),"")
B2セルには次の式を入力します。
=IF(A2="","",INDEX(Sheet1!A:A,MATCH(SMALL(Sheet1!$F:$F,ROW(A1)),Sheet1!$F:$F,0)))
C2セルには次の式を入力します。
=IF(B2="","",INDEX(Sheet1!E:E,MATCH(SMALL(Sheet1!$F:$F,ROW(B1)),Sheet1!$F:$F,0)))
最後にA2セルからC2セルを選択しそれらの式を下方にオートフィルドラッグします。
試合回数が3回以上の選手だけを表示するのでしたらシート1のE2セルに入力する式を次のようにして下方にオートフィルドラッグすればよいでしょう。シート2での変更は必要ありません。
=IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,IF(COUNTIF(A:A,A2)>=3,COUNTIF(A:A,A2),""),""))
No.3
- 回答日時:
No.2です!
たびたびごめんなさい。
投稿した後で質問を読み返していると・・・
>選手の数が多いので3回以上試合を行なっている選手だけで・・・
という事ですので、
前回の作業列E2セルの数式を変更してみてください。
=IF(AND(COUNTIF($A$2:A2,A2)=1,COUNTIF($A$2:$A$100,A2)>=3),COUNTIF($A$2:$A$100,A2),"")
という数式にして、後の作業は前回と同じで大丈夫だと思います。
どうも何度も失礼しました。m(__)m
No.1
- 回答日時:
VBAとか使ったように、1発で表示させることはできませんが、EXCELの基本機能を利用すれば、近い形にはなります。
順位はEXCELの持つソート機能で並び替えすればいいでしょう。先頭のセルから1と入れてコピーしていけばいいですが、同じ試合回数があると順位が正しくならないですけど。
特定回数以上のものに限定したい場合は、抽出機能(フィルタ)で表示しないようにできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ソフトウェア データ入力のインターフェースについて 2 2022/09/27 09:07
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/25 18:02
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) VBA : スクレイピングできない 4 2023/05/12 22:26
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- Excel(エクセル) エクセルで当番表を作成したいです。 1 2023/08/09 19:53
- Excel(エクセル) IF 関数で「〇〇 という文字を含む場合」の分岐処理で表示された数字はSUMで数字集計できますか? 3 2022/08/02 16:29
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Excel(エクセル) エクセルで保存時に全部のシートの最終行をコピーして数値で貼り付けたい 3 2023/08/14 15:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
VLOOKUP関数について
-
1つのPCに「Excel 2010」「Exc...
-
【スプレッドシート】指定の日...
-
英数字のみ全角から半角に変換
-
Office 2021 Professional Plus...
-
会社PCのメールが更新されない
-
マイクロソフト オフィスについて
-
vb.net オブジェクト指向につい...
-
【スプレッドシート】白色のセ...
-
Microsoft Formsの「個人情報や...
-
Excel VBA 日程表からスケジュ...
-
スプレッドシートにて、条件付...
-
【スプレッドシート】最初の契...
-
teams設定教えて下さい。 ①ビデ...
-
Windows 11で、IME言語バー(IM...
-
大学のレポート A4で1枚レポー...
-
outlookで宛先が異なるメールを...
-
エクセルで例えば、A1に㈱ベ...
-
Googleのスプレッドシートでシ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報