スイス方式による対戦相手組み合わせプログラム
ver.9.0 (2015/1/22改訂)
作:摺針峠


 「対戦相手組合せ.xlsm」は、スイス方式により対戦相手の組み合わせを決め、勝敗結果をもとに得点計算を行い、順位づけをするためのプログラムです。前回のver.8.55を発表して以来、10年以上が経過しました。その間、何度も改訂をしたいと思いながら忙しさにかまけて手をつけないでいましたが、ようやくここにver.9.0として改訂版をお届けできることになりました。この改訂版の基本的な仕様は前回のver.8.55とほとんど同じですが、いくつかの重要な変更点をここに示しておきます。
(1) 段級位の欄は、個人戦の場合、必ず段級位を入力しなければなりませんでしたが、団体戦と同様に入力してもしなくてもよいようにしました。これにより、「選手権戦」のように段級位を表示したくない場合にも対応できるようになりました。
(2) 段級位の欄には、10000 から −10000までの整数を入力できるようにしました。これにより、それぞれの団体独自の「持ち点」や「レーティング」などを入力できるようになりました。
(3) 対戦表を作成すると、第1回戦のときに次の第2回戦の欄が表示され、第2回戦の組み合わせを作成するときには次の第3回戦の欄が表示される・・・、という仕様になっていました。この点について、「次の対戦回が表示されないようにしてほしい」というご要望があり、これに応えて、現在の対戦回までしか表示されないようにしました。そのため、「次の回」というボタンが追加されています。今回の改訂では、このことに最も多くの時間を必要としました。
(4) 「互戦」と「ハンディ戦」の指定の仕方を変えました。これまでは「互戦」という2文字がキーワードになっていましたが、ハンディ戦の場合のみ「 1 」という数字で指定することに変更しました。何も記入がなければ、「互戦」の指定をしたことになります。
(5) 「計算方式」のデフォルト(最初に提示される方式)を「計算方式2」としました。これまで(現在でも)、日本国内では「計算方式1」が広く採用されていましたが、これからは、日本棋院が主催する「世界アマチュア囲碁選手権戦」の方式(いわゆる「SOS方式」)が広く採用されるのがよいと考え、このようにしました。なお、全国高等学校総合文化祭や近畿高等学校総合文化祭の囲碁部門大会においても、以前よりこの「計算方式2」が採用されています。ただし、「計算方式2」以外の方式を採用される場合には、容易に変更することができます。

 私は滋賀県の高等学校の教師をしているときに、囲碁部の顧問をしていました(2014年に退職しました)。県内の高校の囲碁部員が集まって囲碁大会を実施する際には、普段の練習で顔をあわせている生徒どうしの対局はできるだけ避け、違う学校の生徒どうしの組み合わせにしたいという強い要望があります。「対戦相手組合せ.xlsm」を使用すれば、このような要望をうまくかなえながら対戦相手の組み合わせを作成することができます。つまり、このプログラムは、「同じ所属の人どうしはできるだけ組み合わせない」という要請に応えてくれるものです。

 スイス方式により組み合わせを作成する場合には一応のルールがあり、そのルールに基づいてコンピュータに決めさせればよいのですが、スイス方式の場合、コンピュータに完全にまかせてもうまくいかないところがあります。対戦の回数が進むにつれて、すでに対戦済みの人との組み合わせができたり、勝ち数の違う人との組み合わせができたりして、これらの問題を解消しようとしても必ずしもうまくいかない状況が生じるのです。このような問題が生じたとき、「対戦相手組合せ.xlsm」を使用すれば、手作業で組み合わせを変更することにより組み合わせ作業をスムーズかつ正確に行なうことができます。コンピュータに完全にまかせてしまうと、どういう根拠で組み合わせられたのかが見えなくなってしまいかねないのですが、このプログラムなら、自分の目で確認し納得しながら組み合わせを決定していくことができます。
 なお、手作業による組み合わせの変更がスムーズにできるよう、「組み替え練習帖.xlsm」というものを同梱しています。これを使って練習していただくことにより、「対戦相手組合せ.xlsm」が一段と理解しやすくなり、さらに使いやすいプログラムになると思います。

 スイス方式による対戦は、最初から最後まで参加者の変更がないという前提で行なわれます。ところが、現実には、途中から参加したり途中で帰ってしまったりする人が現れるなど、大会の運営担当者を困らせるようなことがよく起こります。そのような人が一人だけならその人を不戦敗にすれば済むのですが、複数になると処理に困ってしまいます。「対戦相手組合せ.xls」は、このような問題にも対処できるプログラムです。たとえば、2日制の大会で1日目と2日目の参加者に大きな変更が生じたとしても、このプログラムなら簡単に処理することができます。

 日本棋院の「日本囲碁規約」には第13条に「両負け」の規定がありますが、このプログラムでは、両対局者の勝敗欄に「 0 」を入力することにより「両負け」の処理ができるようになっています。
 また、今回の改訂で、両対局者の勝敗欄に「0.5」を入力することにより「引き分け」の処理ができるようにもしました。このプログラムはもともと囲碁大会で使用するために開発したものですが、チェスなどのように引き分けのあるゲームの大会でも使用していただけるのならと思ったからです。ただし、スイス方式による正式なチェスの大会では、同じ勝ち数の人たちをレーティング順に並べて上位グループと下位グループに分け、上位グループの1番目と下位グループの1番目、上位グループの2番目と下位グループの2番目、・・・というように組み合わせるようですから、このプログラムの仕様では正式には対応できないことになります。それでも何かの役に立つかもしれないと思い、引き分けにも対応できるようにしました。

 以上のように、「対戦相手組合せ.xlsm」には多くの特徴があります。まずは、使用説明書を最後までよく読んでいただいて、ためしに使ってみてください。きっと満足していただけるものと確信しています。

 このプログラムはもともとWindows 2000とExcel 2000の組み合わせで開発したものですが、コンピュータの環境が進化するにつれていくつかの困難な状況が生まれてきました。具体的には、深刻なエラーやトラブルが生じるようになったことです。現在、私が把握していますエラーやトラブルは2つあります。以下に、その対処のしかたを記載します。

(1) OSとExcelのバージョンの組み合わせによるトラブル
 OSはWindows Vista以降とそれ以前とで大きく変わり、ExcelもまたExcel 2007以降とそれ以前とで大きく変わりました。今なおExcel 2003以前のExcelを使用しておられる方は多いと思いますが、その場合には注意が必要です。
 どういうことかといいますと、Windows VistaでExcel 2000を使用したり、Windows 8でExcel 2003を使用したりすると、使用中に突然Excelがフリーズしたり、終了してしまったり、ときにはコンピュータそのものがシャットダウンしてしまうことがあるのです。とくに、漢字変換システムとの相性が悪いようで、漢字変換機能を使用しているときにこのような「被害」に遭遇することが多くなります。漢字変換をしたときに何か変な表示や変な動きをするようになったなら、それはすでに「被害」の前兆だということです。
 WindowsのOSとExcelのバージョンとの間には対応する・しないの組み合わせがあり、対応していないバージョンの組み合わせでExcelを使用すると「ひどい目にあう」ということなのです。下記は、その対応表です。

 WindowsXP  WindowsVista  Windows7  Windows8 
Excel 2010
Excel 2007
Excel 2003 
Excel 2000   

 Excel 2003 は 2014年4月にサポートが終了していることもあり、今回の改訂でこのプログラムの拡張子を.xlsから.xlsmに変更して、Excel 2007以降のバージョンのもので使用していただくことを前提にしました。Excel 2003以前のExcelをご使用の方にはご迷惑をおかけしますが、事情ご賢察のうえご了解をお願いします。
(※) Excel 2007 も 2017年までのサポートのようです。10年たったら買い換えろとMicrosoftは言っているのでしょうか。

(2) 「マイクロソフトセキュリティ更新プログラム」のインストール後に生じるエラー
 「マイクロソフト セキュリティ更新プログラム」をインストールした後に、この「対戦相手組み合せプログラム」を実行すると、ワークシート内のボタンを押したり対戦表を作成したりする段階でエラーになってしまい、それ以上先に進めなくなることがあります。今まで正常に動いていたプログラムが突然動かなくなり、困惑することになります。対策方法はMicrosoft社から示されています。次のサイトにアクセスしてください。

http://support2.microsoft.com/kb/3025036/ja

 ここに示されている「現象 1 の解決方法」を実行することにより、「対戦相手組み合せプログラム」が今までどおり動くようになります。 具体的には、パソコン内のすべての「.exd」という拡張子をもつファイルを削除することになります。どこにあるのかが見つからない場合には、このサイトの「Fix it ソリューション」を実行するか、エクスプローラ画面の右上にある 『〇〇の検索』 という窓に「exd」と半角で入力して検索します。なお、フォルダが「隠しファイル」の設定になっていると検索結果に表示されないことがありますから、「隠しファイル」も表示するようにしてから検索してください。


主な仕様は次のとおりです。

  1. 登録できる人数(チーム数)は、個人戦・団体戦ともに最大500人(チーム)です。「出欠」欄にチェックを入れるだけで、当日の出席者のみによる組み合わせを作成しますから、一度メンバー登録を済ませておけば、あとは当日の出席状況に応じて対戦表を作成することができます。
  2. 出席者全員を1つのグループにして組み合わせることも、段級位別に任意の人数のグループに分割して対戦表を作ることも、いずれも簡単にできます。
  3. 段級位の違いをまったく考慮しないで、第1回戦は抽選番号により、それ以降はそれぞれの時点での得点(勝ち数その他)により組み合わせを決める「互戦」と、それぞれの時点での勝ち数に基づきながらできるだけ段級位の近い人どうしを組み合わせる「ハンディ戦」との、2種類の方法で対戦表を作成することができます。
  4. 得点の計算方法は、以前から日本国内で広く採用されている方法のほかに、日本棋院主催の「世界アマチュア囲碁選手権戦」で採用されている方法など、全部で4通りの方法の中から1つを選ぶことができます。
  5. 個人戦・団体戦ともに最大8回戦までに対応しています。
  6. 団体戦のメンバーは、1チーム最大7人までに対応しています。
  7. 「両負け」や「引き分け」の処理もできます。
  8. 同じ所属の人(チーム)どうしの組み合わせや、すでに対戦済みの人(チーム)との組み合わせが生じた場合には、手作業で組み替えていただくことになります。このことが、このプログラムの最も重要なところです。組み替えは、マウスボタンを2回クリックするだけです。
  9. 途中から参加する人や途中で帰ってしまう人が複数出たとしても、簡単に処理できます。
  10. 対戦表は、ボタン一つで「登録番号順」「対戦組み合わせ順」「成績順」のいずれかに並べ替えることができます。
  11. Microsoft 社の Excel で作成しますから、対戦表全体を一度に見ることができ、入力や訂正もすばやく処理できます。
  12. 詳しい「使用説明書」と、わかりやすい「組み替え練習帖」を用意しました。


以下の説明をよく読み、同意していただいた上でご使用くださるようお願いします。

  1. ダウンロードしていただくファイルは、圧縮ファイルになっています。うまく解凍できれば、「対戦相手組合せ.xlsm」、「組み替え練習帖.xlsm」および「使用説明書.pdf」の3つのファイルができます。
  2. 「対戦相手組合せ.xlsm」および「組み替え練習帖.xlsm」は、Microsoft社のExcel 2007以降のバージョンのもので使用していただくことを前提としています。OSは、Excel 2007以降のものが正常に動作する環境であればOKです。
  3. 「使用説明書.pdf 」は、Adobe Systems社のpdf ファイル形式で作成されています。これを印刷(できればカラー印刷)して、冊子にしたものをご使用になられることをお勧めします。
  4. 「対戦相手組合せ.xlsm」、「組み替え練習帖.xlsm」および「使用説明書.pdf 」の著作権は、作者「摺針峠」に帰属します。
  5. 「対戦相手組合せ.xlsm」、「組み替え練習帖.xlsm」および「使用説明書.pdf 」はフリーウェアです。ご自由にお使いください。ただし、これらのソフトウェアを使用されたことによりどのような問題や損害が生じたとしても、作者「摺針峠」は何らの責任を負うこともなく、またいかなる補償もいたしません。すべて使用者の責任で処理してください。
  6. 「対戦相手組合せ.xlsm」、「組み替え練習帖.xlsm」および「使用説明書.pdf」の再配布は自由です。ただし、これらのファイルの一部または全部を改変したものを配布することは禁止します。また、必ずこれら3つのファイルを一緒にして配布してください。いずれかのファイルが欠けた状態で配布することを禁止します。
  7. 「使用説明書.pdf」を最後までしっかりと読み終えてから、ご使用ください。


ダウンロードは、下の絵をクリックしてね。
button to download


メッセージは、『しのたけさんのお家』 の 《コメント歓迎です》 の部屋へどうぞ

back to sinotake's home



以前のメッセージボードを見るには、下の絵をクリックしてね。
button to OldMessageBoard