見出し画像

ボケクエスト6 投稿投票まとめ

作りました。今回は今までと違って個人データもまとめデータも全部1つのスプレッドシート上で完結するようになっています!

"ボケクエ6投票者選択"という名前のスプレッドシートを開いてそのコピーを作成して、自分のGoogleDrive上でいろいろ操作してみてください。

対戦結果が出るたびに更新します。


できること

できることがたくさんあります。ざっくりとした説明

投票者の限定

・参加者を好きな人数選んで、もしその人たちしか投票しなかったら結果がどうなっていたかが分かる
自分が誰のどの回答に投票したかの一覧が分かる
・参加者を手動で選ぶこともできるし、ポットやトロフィーポイントなどの条件を利用して一括で選ぶこともできる

投票者の抽出

・回を指定して、その回である人に投票したのが誰かを見ることができる
・回や回答者として複数を選択することができる
・自チームに誰が多く点を入れているのか見ることができる
・投票における各ポットの割合とTPごとの投票率をグラフにできる

結果の共有

・参加者の選択を文字列として出力・入力できる
・出力した文字列を共有することで興味深いと思った選択をシェアできる

他にも思いついたらちょっとずつ機能追加していこうと思っています!


詳しい説明 投票者の限定

シートごとに説明します

結果回選択

回と表示する項目を選ぶためのシートです。


回を選ぶ
「練習お題」などの横にあるチェックボックスを選択してください。複数選択可です。

結果画面に表示する項目を選ぶ
いくつか項目があります。結果画面に表示したいをチェックしてください。全部表示することも可能です。

結果を反映
「結果を反映」を押すと、"結果回選択"、"投票者選択"、"結果フィルタ"の3つのシートの状態が反映された結果が"結果表示"シートに反映されます。どのシートにある「結果を反映」ボタンを押しても起きることは同じです。


投票者選択

投票者を選ぶためのシートです。「結果を反映」ボタンを押すと、左2列の緑色のチェックボックスの内容が結果に反映されます。他のボタンは基本的に緑色のチェックボックスを操作するためのものです。ボタンを使用せず、チェックボックスを1つずつポチポチ押すこともできます。

アプライ
アプライボタンを押すと左のチェックボックスの内容が変更されます。それぞれのアプライボタンの枠内にある条件に当てはまる参加者だけにチェックが入り、当てはまらない参加者のチェックが外れます。

左右入れ替え
左のチェックボックスと右の白いチェックボックスの内容を入れ替えます。

選択を反転
チェックを反転させます。

右でフィルター
左のチェックボックスにチェックが入っている人のうち、右のチェックボックスでもチェックが入っている人だけが残ります。

右を追加
右のチェックボックスでチェックが入っている人が左にも追加されます。

ランダム
左のチェックボックスにランダムにチェックを入れます。

エクスポート
左のチェックボックスでチェックされている人の名前のリストをカンマ区切りで青枠の中に表示します。

インポート
青枠の中入力されたカンマ区切りの参加者名を読み込み、書かれている参加者にチェックを入れ、書かれていない参加者からチェックを外します。
ある一人だけにチェックを入れたいとき、左のチェックボックスから探すよりも青枠内に名前を書いてインポートしたほうが早いかもしれません。




結果フィルタ

このシートは結果を見やすくするためだけにあるので触らなくてもあまり問題ないです。特定の人やグループの順位がどうなるか気になるとき、"結果フィルタ"のシートでその人たちだけを選択しておくことで、いちいち結果表示画面で探す必要がなくなります。

"結果フィルタ"のシートの左列でチェックされている人の名前だけが"結果表示"に表示されるようになっています。表示される内容(得票率・順位など)には影響を与えません。

右列にはチーム一覧があり、チェックを入れて「右の選択チームをアプライ」を押すとそのチームの人たちだけが左列でチェックされるようになっています。

お題や予選リーグでの対戦グループでも選択できるようになっています。お題番号は"結果回選択"でチェックした一番古い回のお題番号を参照して結果表示画面に反映される仕様になっているはずです。


結果表示

上記3つのシートのチェック内容をもとに結果が表示されます。

右の方にあるボタンで表示される結果を並び替えることができます。
たとえば「"結果回選択"のシートでポットの表示をしないようにしている場合はポットでの並び替えができない」みたいに、表示されていない項目を参照して並び替えることはできません。が、順位と得票率は同じことなので、どちらかが表示されていれば同じボタンで並び替えられるようになっています。

表示内容を参照して並び替えているので、小数点以下4桁で得票率が異なっている場合などは、並びかえる順序を間違えてしまう可能性があります。

複数条件で並び替えたいとき、たとえば「チーム順位が良い順に並べた後、チーム内では個人順位が良い順に並べたい」ということなら、①個人得票率降順→②チーム得票率降順という順番でソートボタンを押せば目的を達成できます。



詳しい説明 投票者の抽出

投票者の抽出シートのみを使用します。他のシートの内容は投票者の抽出と関係ありません。
左のチェックボックスで人を選択し、右のチェックボックスで回を指定すると、その回でその人に入れた人のカンマ区切りの一覧を出力、点数を降順に表示、ポットの内訳・TPごとの投票率をグラフで表示します。



「左の人に投票した人を表示」ボタンを押すとこのシート内のチェックボックスの内容を反映した結果が表示されます。

左の青枠内にカンマ区切りの羅列が、右の方に点数と人の名前が降順で表示されます。

複数選択可です。
複数選択した場合、「OR検索」のところにチェックを入れていると、どれか一つの状況で点を入れていた人が集計されます。ここにチェックを入れていない場合、複数選択したすべての状況で点を入れていた人だけが集計されるようになります。

「点以上の投票」の左のセルには数字を入れてください。4を入れたら4点票を入れた人だけ、2を入れたら点を入れた人が全員表示されます。回を複数選択した場合でも、この数字を上回った点を入れた回だけが集計されます。

円グラフの作成にチェックを入れていると、抽出した人と入った点数における各ポットの割合を示す円グラフが表示されます。

TP別投票割合にチェックを入れていると、横軸をTPとし、そのTPを持つ人の中でどれだけの割合の人が投票していたかを示す棒グラフが表示されます。

右の小さな青枠はインポート専用のもので、ここにカンマ区切りの人物の羅列を入力してボタンを押すと、左のチェックボックスに反映されます。



詳しい説明 その他

おまけ

今後やるかもしれないこととか今の状況とかを掲示板的に書いています。動作に関係ないのでコピー後は消しちゃっても大丈夫です。

member

データ処理に使うシートなんですが、チーム名の検索とかに使えるので表示しています。動作に関係あるのでいじると変になるかもしれません。

非表示のシート

各回のデータをまとめてるシートがいくつかありますが、見る必要があるシチュエーションがなさそうなので非表示にしています。


TIPS

ちょっと煩雑な手順やあんまやらなそうな手順を踏むとできることについてわざわざ例を出して説明

自分に投票した人がほかの誰に投票しているか見る

①"投票者の抽出"で自分をチェック(or右の青枠に自分の名前を入れて回答者をインポート)
②「左の人に投票した人を出力」をクリック
③左の青枠内に表示される人の羅列をコピー
④"投票者選択"の青枠内に③をペースト
⑤「インポート」をクリック→「結果を反映」をクリック

「Aの回答に投票してBの回答に投票していない人」を選択する

①"投票者の抽出"でAをチェック→「左の人に投票した人を出力」をクリック
②左の青枠内に表示される人の羅列をコピー
③"投票者選択"の青枠内に②をペースト→「インポート」をクリック
④「左右入れ替え」をクリック
⑤投票者の抽出"でBをチェック→「左の人に投票した人を出力」をクリック
⑥左の青枠内に表示される人の羅列をコピー
⑦"投票者選択"の青枠内に⑥をペースト→「インポート」をクリック
⑧「選択を反転」をクリック
⑨「右でフィルター」をクリック

「左右入れ替え」を使って結果を1つ保持できるし、左右の結果をフィルタ(AND)か足す(OR)かで合成する機能も付いています。インポートエクスポートを補助的に使いながら反転とかフィルタとか足すとかをすれば「このスプシでできる条件」を重ね合わせた条件は全部できるはずです。

投票点数ランキング

①"投票者の抽出"で全員をチェック("投票者選択"などで全員チェックしたデータをインポートするのがやりやすそう)
②0点以上を指定
③「左の人に投票した人を出力」をクリック

保管

ある程度手動で調整した選択を自分で保存しておきたいときは、新しいシートを作ってそこに貼り付けておくのがやりやすいと思います。おまけシートに貼っておいてもいいです。



その他おまけ

・ノーマルなスプシの機能だけじゃなくてGoogle Apps Script(GAS)を使用しています。他人が作ったGASは悪意がある可能性があるため認証しないと使えないので、こればっかりは認証してもらうしかないです。大丈夫であることの一応の説明をすると、スプシ外のデータにアクセスしたりスプシ外にデータを送信したりする仕組みにはなっていないので、あんまり面倒な問題は起こりえないと思います。

・データを取ってきた後自分で処理してからGoogleDrive上に結果を置いていた従来のやり方より、スプシでデータを共有して(GASで)各々にその場で処理してもらう今回の形式の方がそれぞれのユーザーの需要に合わせられるという点でいい仕組みな気がしています。今後も何かまとめ的なもの作るとしたらこんな感じだと思う。

・本当に完全に素人だけどアプリ開発するときって「余計な機能がなくて直感的にわかりやすい」ことを目標にするべき時と「直感的な操作性はともかく機能のバリエーションやカスタム性と習熟した時の使いやすさ」を目標にするべき時に分かれると思っていて、自分でネット大喜利の大会にエントリーするようなモチベのある人たちを対象にして広く浅いユーザー獲得にフォーカスしても意味ないだろと思って後者よりに考えて作ったんだけど、本当は前者の方が良かったりする? よくわからないボタンが1つだけあってそれを押すと計算方法が不明だけど意味ありげな指標が1つだけ出てくる、みたいな方が喜ばしいんだったら、そういうのを作ってもいいかもしれません。

・ボケクエ5で投票まとめスプシを作ろうとしたときは、参加者が700人以上いて1回の投票データが500,000マス以上ある×決勝までで10回戦以上ある という状況でセル数制限に引っ掛かって全部のデータを1つのスプシに入れることができませんでした。2022年の3月にスプレッドシートのセル数の制限が5,000,000から10,000,000マスに増えたので今回は決勝まで大丈夫そうです。

・インポートエクスポート機能はある程度5chを意識して作ったものでもあります。こいつの投票は信用できるぞリストみたいなのを作って共有して結果について議論したりしてくれたら感覚論でしかなかったものがある程度ちゃんとしたデータに基づいた実りある言い合いになると思います。匿名でも結果とか説得力に違いは出ない上に匿名の方がやりやすいだろうし。でも今5chってあんまりそういう必死で書き込む感じじゃないか。
何百人も(何百人も!)の人が参加してるから結果は膨大で一人の人間が全部を処理できる量じゃなくなってると思うけど、それでも何百人がそれなりの熱量で取り組んでるわけだから中には結果を見て(もしくは普段から)思うこととか気づいたことがある人がいるはずで、そういう人の感覚とか発見を全員が客観的に確認できるデータとして示せたらそれはすごい意味のあることだと思っています。雑多で情報量が多いものからそれなりに価値のある法則を拾い出すことって「言語化していなかったけれど言われたら共感できるあるある」みたいな部分もあって面白いし、それぞれが今までや今回のことでネット大喜利に感じていることが確かなこととして形になったり別にならなかったりしたら楽しいです。その面白さや楽しさに到達するためには何百人もいる中の一人一人の価値観や視点が必要になってくるから、単純に投稿して投票して結果が出る流れだけしかない状態よりも結果に対してどうこう話せる場がある状態の方が全員の存在価値が高まると思ってるんですけど、他人の存在価値が高まると嬉しいと思って何らかの介入するのって(特にネット大喜利みたいな実生活の利益に直結しないような場でやると)善意のようでいてただただ巨大な父権的な自意識が背景にあるだけだろと思われちゃって気色悪いと感じさせちゃうかも?


以上!みんな使ってくれよな!ボケクエ6、まだまだいくぜ!




・参加者を好きな人数選んで、もしその人たちしか投票しなかったら結果がどうなっていたかが分かる・自分が誰に投票したかの一覧が分かる・参加者を手動で選ぶこともできるし、ポットやトロフィーポイントなどの条件を利用して一括で選ぶこともできる



・回を指定して、その回である人に投票したのが誰かを見ることができる・回や回答者として複数を選択することができる・自チームに誰が多く点を入れているのか見ることができる・投票における各ポットの割合とTPごとの投票率をグラフにできる



・参加者の選択を文字列として出力・入力できる・出力した文字列を共有することで興味深いと思った選択をシェアできる


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