どうも、めんたいです。

タイトルにあります通り、今回はいつもと違うtips(のようなもの)共有回です。

前回、当ブログにて紹介した順位集計システムですが、OBSに表示させる方法は機能していたものの、順位集計の方に問題があり実用化には至りませんでした。(現在エクセルファイルは非公開です)

今回はそのリベンジ!!ちゃんと使えることも確認してますよ!!

エクセルファイルの共有は諸般の事情で出来ませんが、技術的に使えそうな部分はぜひ使ってもらえると嬉しいです。

皆でもっと耐久レース配信を楽にしましょう!

(そうすればレースも増えて盛り上がってみんなハッピーなはず)

作成のきっかけ

今回は「#IMSA_GT7」という、アメリカで人気の耐久レース「IMSA」を模したレースの集計役でお呼ばれしたため、そこで使用するために作成しました。

前回のシステムの問題点を改修しつつ、より楽に集計ができるよう工夫をしております。

先日行われたテストレースの配信映像で、動作の様子をご確認いただけます。

(序盤はGT7のUIバグに翻弄され順位集計が出来ませんでしたが、いい対処法を思いつき50分経過あたりで稼働し始めます)

集計のシステム

こちらがエクセルでの集計画面です。列ごとに見ていきましょう。

A列・・・クラスごとの順位

IMSA_GT7ではGTPクラスとGTDクラスの2クラス開催だったため、クラス別で順位を出すために使用していました。

=RANK(AB2,$AB$2:$AB$5)

で出しています。

後述しますが、AB列で現在の予想周回数を算出していますので、その周回数が最も多い順に(クラス内で)順位付けをしてもらっています。

AB2からAB5までなのはGTPクラスを対象にしているためで、下のGTDクラスの方はAB6からAB12までを対象としています。

B列・・・総合順位

こちらは総合順位を出すために使用していました。

A列のRANK関数が$AB$2:$AB$12になっただけです。

C列~G列・・・チーム情報

ここはチーム情報を入力しているだけです。

配信画面に表示される情報なので表記には注意しています。

また、E列ドライバー情報については、各チームどのドライバーが走っているか確認し、表記に注意しつつ集計もする・・のは大変だと感じたため、別途「TeamData」シートを作成。

例えばここでは、4号車のドライバー4名が記載されたセルを選択し(D2:G2)、この4セルを「flugel1」と命名。

そして先程の集計用シートにて、各チーム対応する行に命名した名前を入力。(私はAJ列に入力)

あとは各チームのE列に対し、「データ」→「データの入力規則」にて、「リスト」を設定。

「INDIRECT」関数を使用し、例えば「flugel1」という名前がついた範囲にあるものでリストを作成する、という具合に設定しています。

ま、これは自己満足です。

ドライバー交代が頻繁に行われれば行われるほど役に立ちます。労力対効果は考えて導入しましょう。

H列~J列・・・タイムギャップ計算

・H列:総合トップから自車が何秒遅れているかを示す。以下H2セルでの例。

=IF(B2=1,"Leader",(VLOOKUP(1,$B$2:$AB$12,27,FALSE)-AB2)*Z2)

総合順位で見ているので、参照するのは総合順位を示すB列。

要は「総合1位なら、”Leader”と示す、そうでないなら1位のB~ABの27列目(つまりAB列)を探し、1位のラップ数ー自分のラップ数×Z2(1周のラップタイム)でタイム差を出す」と指示しています。

・I列:クラストップから自車が何秒遅れているかを示す。以下I2セルでの例。

=IF(A2=1,"Leader",(VLOOKUP(1,$A$2:$AB$5,28,FALSE)-AB2)*Z2)

範囲や参照するセルなどが若干変わりましたが、やっていることは概ね同じ。

今回はクラス順位で見ているため、参照するのがA列というだけです。

・J列:クラス前車から自車が何秒遅れているかを示す。以下J2セルでの例。

=IF(A2=1,"Interval",(VLOOKUP(A2-1,$A$2:$AB$5,28,FALSE)-AB2)*Z2)

これも理屈はI列と似ているのですが、今回比較するのが自車の1つ上の順位の車ということ。

したがって、VLOOKUPの検索条件を「自分の順位-1」=「1つ上の順位」のデータとしているわけです。

あとは特に変わりません。

長くなってきたので2ページ目に続きます。

カテゴリー: Driver's Blog