[SINoALICE]Google SpreadSheetの活用におけるノウハウの記録

文責:モニカ

 シノアリスというゲームを遊んでいるプレイヤーの中でも「ギルマス」「軍師」役と言われるプレイヤーがいて、人によっては例えば15人の装備編成をまとめ上げたりすることに多大な時間と労力を費やしている。
 この装備セットに関する整理を続けることをはもはや仕事と何ら変わらないものであるが、ゲームとはデータであり、データは機械処理することで効率的に扱うことが可能である。
 趣味の範囲で機械処理するツールの最たるものとしてGoogle SpreadSheetが挙げられるが、自分が有用だと思う(というか絶対使う)内容を記載していく。

1.各種データ

 ①有志がSINoALICE Databaseという各武器のステータスをまとめたサイトを公開している。また他の有志がSINoALICE Databaseから許諾を受けCSV化したものを公開している。
 ②また、有志が「ぶきわかるくん」と言って装備セットのスクリーンショットを投稿するだけで、何の武器を装備しているか把握・テキストデータ出力ができるサイトを公開している。
 後者のツールが非常に強力でそれだけでも十分ではあるが、両者をSpreadSheetで組み合わせることで例えば自ギルドのデータベースを作成し効率的に装備セットの検討が可能となる。
(ギルドのこの編成はこういう武器をこれだけ凸して持っているんだ 等)

2.Query、lookup、vlookup、match

 前項で紹介したデータを組み合わせる際、まず①について必要な列だけに成形した表を取得した方が後の加工が楽になるが、使用するのがQuery関数である。

Google スプレッドシート関数と数式の使用QUERY

 関数のオプションにSQL文のような文を書いて取得する列や抽出条件を指定できる。(リンク先やQuery関数で調べると例がたくさんあるので省略)

また①と②を組み合わせる際は、lookupやvlookup関数を使用する。
例えば「この人が持っているこの武器はどんなステータスか」を取得できたり、①に武器の凸数を管理する列を追加しメンテナンスしていれば「この人のこの武器は凸がこのくらい」という情報を本人に煩わしいゲーム画面を開かせたり、Discord画面を行ったり来たりして調べる手間を省くことができる

Google スプレッドシート関数と数式の使用VLOOKUP

match関数は検索したものがどこにあるかの位置を調べる関数であり、必要だったら使う。

Google スプレッドシート関数と数式の使用MATCH

3.IFERROR

 前項で紹介した関数で検索した際に「何も見つからない」場合、エラーが返り、セルに「N/A」等と表示される時があるが、
 表示させないための手段として次に示す通りIFERROR関数を利用することが可能である(本当はそれ以外の使い方な気がするけど、よくやる手段)
 数値の場合「""」(空白)でなく「0」とする。

=IFERROR([関数],"")
Google スプレッドシート関数と数式の使用IFERROR

4.IMPORTANGE

別のSpreadSheetの表を取得することが可能である。すでに別件で作成済みのデータを再利用するシーンがあると思われる。

Google スプレッドシート関数と数式の使用IMPORTANGE

基本的にこれらを駆使すればデータをこねくり回すことはできる。
(あとはCOUNTIFやSUMIFくらいか。)
表を綺麗に見せる技術は別件で記載するかもしれない。

#spreadsheet #sinoalice

この記事が気に入ったらサポートをしてみませんか?