hartmannのゲームあれこれ

適当にやってるゲームのあれこれを偶に書きます

WoT CWE管理シート自動化の旅々 13.『いろいろな指揮官の記録』

 しばらくさぼってました。ごめんなさい(土下座)

ts-hartmann.hatenablog.com

これの続き

お約束1

 第2クールが始まってからのお楽しみ

やりたいこと

 前回指揮官ログを出したので、COUNTIFの関数を使って指揮官勝率を出していきたいと思います。今回はGASを使用することはありません。全てスプレッドシートの関数で作っていきます。

f:id:TS_hartmann:20210213113635p:plain
最終的にこんな表を作ることが出来ます

指揮官勝率の表示

手順1. GAS側の記述

 ありません。

手順2. スプレッドシート側の記述

 指揮官統計を出す前に、特定の日付以降のログのみ抜き出したシートを用意しましょう。
 まず「指揮官ログ2」というシートを作り、
A1セルに=QUERY('指揮官ログ'!A:F,"WHERE A > date '"& TEXT('統計(自動化済)'!$B$2,"YYYY-MM-DD"&"'")&"and F = '"&'統計(自動化済)'!C2&"'")と入力します。
 するとあら不思議、指定した日付以降のログのみ抽出することが出来るのです!!(query関数本当に便利!!)


 「統計(自動化済)」というシートも作っておきましょう。このシートのC2セルにYYYY-MM-DD形式で日付データを入れると、その日付以降の結果ログのみが抜き出されるようになります(例えば2020/12/31という日付を入れると2020/12/31以降のタイムスタンプが押されたログのみ抽出できます)。 ちなみにbattle formatに関しては無視してください。

f:id:TS_hartmann:20210220201109p:plain
前回自動記入したデータ

f:id:TS_hartmann:20210220201215p:plain
いろいろ条件付けた結果抜き出されたもの

 そこまで終わったら次は第二段階です。「統計(自動化済)」の各セルに以下のように記述します。

 B5セル=COUNTIFS('指揮官ログ2'!$B:$B,$A$2,'指揮官ログ2'!$D:$D,$A5)
 C5セル=COUNTIFS('指揮官ログ2'!$B:$B,$A$2,'指揮官ログ2'!$D:$D,$A5,'指揮官ログ2'!$E:$E,"勝利")
 D5セル=COUNTIFS('指揮官ログ2'!$B:$B,$A$2,'指揮官ログ2'!$D:$D,$A5,'指揮官ログ2'!$E:$E,"敗北")
 E5セル=IFERROR(C5/B5)

 それぞれ20行くらい下までオートフィルしておきましょう。B列では戦闘数、C列では勝利数、D列では敗北数、E列では勝率が出力されます。


 これでA列にマップ名を入力すれば、そのマップにおける勝率が分かるようになりました。後は勝率が書いてある行に条件付き書式を付けるなどして分かりやすくしておきましょう。

f:id:TS_hartmann:20210221144450p:plain
画像のようになっていれば成功

お約束2

 第2クールが始まってからのお楽しみ

ts-hartmann.hatenablog.com

続き