IFSCが公式定義の数式を公開
IFSCは2025年1月31日、公式サイトで公開したWorld Rankings 2025ドキュメントのAnnex 1「Calculation Formulae」にて、本ランキングポイント計算方式を正式に定義しました。その後、IFSCのウェブサイト上で日次更新されるランキングにもこの方式が適用されています。
計算式をやさしく解説
ランキングポイント計算方式 Annex 1「Calculation Formulae」
P = ∑k=1|B| Bk
B = argmaxA′⊆A, |A′|≤n ∑a∈A′ a
IFSC公式 World Rankings – Annex 1 定義 PDF
「なんだか難しそう…」と思ったあなたも大丈夫!以下のステップでゆっくり解説。ちゃんと理解できます。
ポイントごとに分解して説明
- A:過去1年で集めたすべてのポイントが入った“箱”
- A′ ⊆ A:その箱から選ぶ“お気に入りn件”の部分集合
- |A′| ≤ n:選べる数は最大n件まで(たとえば5件)
- argmax:その中から合計が一番大きくなる組み合わせを選ぶ
- B:選ばれた“高得点n件”のリスト
- P = ∑ Bk:そのリストの得点をぜんぶ足し算したものが最終ランキング
要するに「高得点の成績だけをピックアップして合計する」仕組みなんです👍
誕生の背景──累積制から“質”重視へ
1989–2006:UIAA時代
大会出場数×固定配点の累積方式。参加すればするほど有利な仕組みでした。
1998–2006:種目拡大の混乱
スピード(1998年)・ボルダリング(1999年)の追加で、種目ごとに評価基準がバラバラに。
2007–2019:IFSCの試行と調整
2007年にIFSC誕生。2010年頃から「過去12ヶ月の上位n件合算方式」を試験導入し、細かく改善を重ねました。
2024年:公式採用
膨大なデータ分析を経て、ついに正式ルールとして全競技者に公開。
採点方式の面白さ1:戦略性が広がる
- ピーク勝負:一発の優勝よりも、継続的に高得点を出し続ける実力が評価される
- 大会選択の駆け引き:遠征コストや体調管理まで見越して「どこで勝負するか」を選ぶ楽しさ
- シーズン終盤のドラマ:あと1件で“上位n件”に滑り込むかどうかの攻防が白熱!
採点方式の面白さ2:数字で見える実力
- 成績を“点数”で可視化:強みや課題がはっきりわかる
- グラフ化すれば、トレーニング成果や戦略の効果を直感的にチェック可能
メリットとリアルストーリー
| メリット | ストーリー例 |
|---|---|
| 大会数格差を緩和 | 南米の選手が国内大会で高ポイントを集中獲得し、欧州勢と互角に |
| 継続的パフォーマンス評価 | ヤンヤ・ガンブレットが上位5戦全勝で年間1位を独走 |
| ファンを巻き込むドラマ性 | 最終戦で滑り込み5位に入れば年間トップ!SNSが大盛り上がり |
現行方式の課題と限界
- 安定派選手の評価不足:毎回8~10位の選手が、一発優勝者に総合で及ばない
- 地域偏重の遠征負担:欧州・アジア中心開催が多く、遠征費用の壁が高い
- n設定のジレンマ:多すぎると数勝負に、少なすぎると偶発的勝利が有利に
- オンライン大会の扱い:公平性や信頼性の担保がまだ整っていない
今後のアップデートへの期待
- 多次元評価モデル:平均点+安定度も加えて、安定派も正当に評価
- 大会グレード制:グランドファイナルや五輪にボーナスポイントを
- リアルタイム可視化:ライブランキング推移を公開し、ファンとの連動を強化
- 大陸別認定大会の均等配置:世界中の選手が参加しやすい仕組みへ
お手軽!自動集計スプレッドシート実装
以下の手順で、Apps Script を使った自動集計をすぐに始められます。
- スプレッドシートを開く
集計したいデータが入力されているシートを用意します。 - 「拡張機能」→「Apps Script」を選択
新しいスクリプトエディタが立ち上がります。 - コードを貼り付け&保存
以下のサンプルコードをコピーして、エディタに貼り付け、保存アイコンをクリック。 - 関数を実行
エディタ上部の関数選択ドロップダウンからcalculateIFSCWorldRankingを選び、▶︎実行。 - 権限を付与
初回実行時に表示されるダイアログで「許可」を選べば準備完了!
データ準備:
| 名前 | 日付 | ポイント |
|------|-------------|----------|
| 自分 | 2024/05/01 | 500 |
| 自分 | 2024/06/15 | 420 |
Apps Script コード:
function calculateIFSCWorldRanking() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
const oneYearAgo = new Date();
oneYearAgo.setFullYear(oneYearAgo.getFullYear() - 1);
const n = 5; // 上位何件をカウントするか
const rankingMap = {};
for (let i = 1; i < data.length; i++) {
const [name, dateStr, point] = data[i];
const date = new Date(dateStr);
if (date >= oneYearAgo && !isNaN(point)) {
(rankingMap[name] = rankingMap[name] || []).push(point);
}
}
const outName = 'World Ranking';
let out = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(outName);
if (!out) out = SpreadsheetApp.getActiveSpreadsheet().insertSheet(outName);
out.clear();
out.appendRow(['名前', `ランキングP(上位${n}件合計)`]);
for (const name in rankingMap) {
const top = rankingMap[name].sort((a,b)=>b-a).slice(0, n);
out.appendRow([name, top.reduce((s, v) => s + v, 0)]);
}
SpreadsheetApp.getUi().alert('ランキング集計が完了しました!');
}
まとめ
IFSCの“上位n件合算”方式は、単なる足し算以上の戦略性とドラマを生み出します。長年の試行錯誤を経て公式化されたこの仕組みを理解すれば、選手もファンも競技をより深く楽しめるはず。そして、数行のスクリプトで自分専用の“自己ランキング表”が手に入る手軽さも魅力です。
次のコンペシーズンは、ぜひこのロジックを味わい尽くしてください!


