再びトーナメント表作成 ① 常用対数が使えることに気づいた
前回まで、賞状作成用のマクロについて紹介してきた。
infoment.hatenablog.com
実は先日の大会の後、「トーナメント作成ツール」についても相談を受けていた。
そういえば随分と前になるが、作ったことがあったっけ。
今回は、その焼き直しに挑戦するお話。
以下は、3年以上前に作成したトーナメント作成ツールだ。
infoment.hatenablog.com
今見返してみると、もっと簡単にできる部分もあることに気づく。
例えば、トーナメントのサイズを求める方法などだ。
シード選手が架空の相手に不戦勝すると考えた場合、選手数とトーナメントの
サイズは以下の関係となる。
- 1~2人のとき 2人
- 1~4人のとき 4人
- 1~8人のとき 8人
- 1~n人のとき ?人
例えば18人のとき、トーナメントのサイズを幾つにすればよいか?ぼんやりと
眺めていて、そういえば去年、長男と一緒にやった対数が使えることに気づいた。
まず、18の常用対数を求める。
また、
であるから、以下の不等式が成立する。
このをに切り上げる際は、ExcelなのでCEILING関数を使うことにした。
support.microsoft.com
この関数、一番近い基準値の倍数に切り上げてくれる。なんて便利なんだ。
実際に使用する数式は、このようになる。
従って最終的に、求めるトーナメントのサイズは以下の式で求まる。
という訳で、人数に関係なく同じ式で対応が可能だったわけだ。
こんなシンプルな方法があったとは。ぐぬぬ、もっと早く気づいていれば。
次回に続きます。
参考まで。