見出し画像

Googleスプレッドシートを使っためっちゃ簡単なKP集計ツールの作り方(ピボットテーブル)


前提条件

本noteの対象者

・学校でExcelを使って実験のグラフを作ったことがある人
・職場でExcelを使って資料作りをしたことがある人
→ちょっとでもExcelがどういうツールかわかっていればOK
※今回はGoogleスプレッドシートを用いて説明を行います。

本noteの目標

このnoteを読んだあなたがKP集計ツールを自作できるようになること。
→少なくとも「こういう仕組みで集計してるんだ~」がわかるようになること。

そもそもKPとは?

KPは被りポイント(Kaburi Point)の略であり、そのポケモンがパーティにどれだけ採用されているかを示す指標です。
例えば、とある大会においてカイリューを採用した人が50人いたらその大会におけるカイリューのKPは50です。

実践

1.雛形スプレッドシートの入手

Googleアカウントにログインし、以下のリンクを開いてください。

このスプレッドシートはあくまで俺のものなので、画面上には「閲覧のみ」と表示されているはずです。
「閲覧のみ」と表示されている通り、以下であることを確認してください。
・全部のシートを見ること→できる
・セルに文字を入力する→できない
・シートを新しく作る→できない

このスプレッドシートをあなたが自分で文字を入力したりできるようにするため、このスプレッドシートをあなたのドライブにコピーします。
「ファイル」→「コピーを作成」を選択してください。

名前やフォルダはお任せします。わかりやすければなんでもOKです。
「コピーを作成」を選択してください。

新しいタブでコピーしたスプレッドシートが開かれます。
コピーしたスプレッドシートはもうあなたのものであるため、「閲覧のみ」といった表示はないはずです。
念のため、以下であることを確認してください。
・全部のシートを見ること→できる
・セルに文字を入力する→できる
・シートを新しく作る→できる

今後はこのコピーしたスプレッドシートに対して操作を行います。

2.ポケモンを1行に並べる

最終的なKPの集計にはピボットテーブルという機能を使うのですが、ピボットテーブルの性質上、1列にポケモンが並んでいた方が処理や設定が楽なので、その1列に並べる第一歩として1行にポケモンを並べます。

シート「処理_1行に並べる」を開いてください。
セルA1に以下の関数を入力してください。

=torow('入力_パーティ一覧'!B2:G,1,true)

torow関数についての詳細な説明は省きますが、複数列を1行にまとめられる関数なんだな~くらいの認識でOKです。

3.行を列にする

次に、この横1行のデータを縦1列に変換します。

シート「処理_行を列にする」を開いてください。
セルA1に以下の関数を入力してください。

=TRANSPOSE('処理_1行に並べる'!1:1)

同様にtransepose関数についての詳細な説明は省きますが、行を列に変えてくれる関数なんだな~くらいの認識でOKです。

これで今回の集計の要である、ピボットテーブルを使う準備ができました。

4.ピボットテーブルで集計を行う

4.1.ピボットテーブルの作成

「挿入」→「ピボットテーブル」を選択してください。

以下を入力および選択し、「作成」を選択してください。
・データ範囲→'処理_行を列にする'!A1:B1001
・挿入先→新しいシート

シート「ピボットテーブル1」が作成されます。

4.2.集計対象行の追加

右側の「ピボットテーブルエディタ」が出ていない場合は、セルA11らへんにあるペンみたいなボタンを選択してください。

行の「追加」→「ポケモン」を選択してください。

すると、こんな風にポケモンが被り無しあいうえお順で表示されます。

4.3.集計対象値の追加

同じように、値の「追加」→「No」を選択してください。

もうだいぶKP集計っぽくなってきましたね。
ここからはピボットテーブルの設定を弄ってKP集計がされるように設定を弄っていきます。

4.4.集計方法を「COUNT」にする。

まず、B列の値がなんか訳のわからないことになっているので、ここを直します。

B列の値がなんか訳のわからないことになっている理由は、値の集計方法が「SUM」になっているからです。本来は数え上げたいところを、足し算しちゃってるイメージです。

「SUM」→「COUNT」に変更してください。

4.5.空白は集計の対象外とする。

残る違和感としては、以下が挙げられます。
・空白までカウントされている→空白は省きたい
・ポケモンがあいうえお順→KPが大きい順にしたい

まずは、空白を省きます。
フィルタの「追加」→「ポケモン」を選択してください。

「すべての項目を表示してい…」を選択してください。

空白を集計から省きたいので、空白のチェックを外し、「OK」を選択してください。

4.5.KPの大きい順に並び変える。

次に、KPの大きい順に並べ替えます。

並べ替えを「ポケモン」→「No の COUNT」に変更してください。

これで並べ替えの列がKPになりました。
しかし、これだとKPが小さい順に並んでいます。

順序を「昇順」→「降順」に変更してください。

完成!

5.確認

5.1.集計合ってる?

本当に集計があってるのかを確認します。

シート「入力_パーティ一覧」を開き、任意のポケモンの検索を行ってください。下の例だと、カイリューの検索を行っています。
検索の数と集計の数は合っていますか?
※Ctrl + 「F」のショートカットで検索バーが表示されます。

5.1.人が増えたら?

人が増えても集計が合っているか確認します。

シート「入力_パーティ一覧」の22行目にあなたのパーティを入力してください。

シート「ピボット テーブル 1」を開いて入力したパーティがちゃんと集計更新されているか確認してみましょう。

「あれ?いなくね…?」と思ったそこのアナタ!
大正解です。

フィルタを開いてみると、新しく追加したポケモンはフィルタによって除外されています。
そのため、参加者が増えるたびにフィルターを更新する必要があります。

「すべて選択」を選択してください。

すると今度は全てのポケモンが表示されます。
しかし、一緒に空白も表示されてしまうため、再度フィルタで空白を省く必要があります。

空白のチェックを外し、「OK」を選択してください。

今度はちゃんと集計されているはずです。
お疲れ様でした!!!

後語り

ここからはExcelと関係ないので読まなくて大丈夫です。
本当は大会運営に役立つ記事をいっぱい書いて次代に託すべきなのですが、資料作りが下手過ぎて全然やる気が出ず、ここまで引っ張ってしまいました。戦犯。今後は月2ペースくらいで頑張っていきたいと思います。書かなきゃなんないことだけはいっぱい溜まってんだマジで。
とはいえ、最初から体系的にガチガチなのを書くのはさすがにしんどいのでとりあえず俺が書きたいものから書いていこうと思います。
サボってたらケツ叩いてください。よろしくお願いします。

何かありましたら @replicant257 までご連絡ください。


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