相撲の勝敗を管理する「星取表」をExcelで作成するのは一見大変そうですが、最新のExcel関数を活用することで、入力の手間を大幅に減らし、自動で対戦相手や勝敗を整理することが可能です。今回は、実務Excel太郎氏の解説に基づき、その具体的な作り方をステップ別に解説します。
1. 力士名と勝敗記号の入力規則(ドロップダウン)設定
まず、対戦する力士の名前をリストから簡単に選べるように設定します。「データ入力規則」のリスト機能を使用し、力士名(例:佐藤、山田、上野、田中など)を半角カンマ区切りで登録します。
同様に、勝敗を表す記号についてもリストから選択できるようにします。使用する記号は以下の4種類です。
- ○:勝ち
- ●:負け
- □:不戦勝
- ■:不戦敗
2. 相手方の結果を自動表示するIFS関数
自分の結果を入力した際に、相手のセルに「逆の結果」が自動的に表示されるようにIFS関数を設定します。
例えば、自分が「○(勝ち)」であれば相手は「●(負け)」、自分が「■(不戦敗)」であれば相手は「□(不戦勝)」となるように条件を組みます。これにより、入力漏れやミスを防ぐことができます。
3. データの整形(TOCOL関数とCHOOSECOLS関数の活用)
入力した対戦表を、集計しやすいように1列のデータへと並び替えます。
ここで活躍するのがTOCOL関数とCHOOSECOLS関数です。CHOOSECOLSを使って列の順番(自分と相手)を入れ替えた配列を作成し、それをTOCOLで1列にまとめることで、誰が誰と戦ったのかという情報を整理した準備用データを作成します。
4. 重複しない力士一覧の抽出
星取表の土台となる力士一覧を作成するには、UNIQUE関数を使用します [3]。先ほど1列にまとめたデータから、重複を除いた力士名を抽出することで、参加力士全員のリストが自動的に生成されます。
5. FILTER関数とWRAPCOLS関数による仕上げ
最後に、各力士ごとの対戦成績を抽出して整形します。以下の関数を組み合わせて使用します。
- FILTER関数:特定の力士の対戦データのみを抽出します。
- CHOOSECOLS関数:抽出したデータの中から「勝敗」と「対戦相手」の列を適切な順番で取得します。
- TOROW関数:縦に並んだデータを横一行に並べ替えます。
- WRAPCOLS関数:ここがポイントです。横に長く並んだデータを「2行ごと」などの指定した単位で折り返すことで、勝敗と相手がセットになった見やすい星取表の形式が完成します。
これらの数式をコピーして各力士のセルに適用すれば、動的な星取表の出来上がりです。
最新のExcel関数を組み合わせることで、従来は手入力が多かった星取表も、最小限の入力で自動生成できるようになります。複雑な条件分岐もIFS関数一つでスッキリまとめることができるのが大きなメリットです。

