maito's diary

とあるポケモンオタクの大学生の日記。

ポケモン種族値クイズをスプレッドシートでランダム生成する

f:id:maito441:20200428185525j:image

どうもこんにちは、マイトです。前回ポケモンしりとり(ポケモンしりとりのお題をスプレッドシートで生成する(多機能)【配布あり】 - maito's diary)を作って以来、スプレッドシートでおもちゃを作るのに完全にハマりました。しりとりも確かに面白いですが、ポケモン対戦勢としては、「永遠に遊んでいられる!」っていう遊びがありますよね。

そう、ポケモン種族値クイズです。

前回のしりとりよりもかなり簡単に出来ました。スプレッドシート入門的にちょうどいい難易度だと思いますので、自分で作ってみたい!って人はぜひぜひ挑戦してみてください。前回よりも丁寧に作り方を書いていくつもりです。

 

 

1.スプレッドシート解説

4枚のシートで構成されています。

①「シート1」

f:id:maito441:20200428184343p:image

ポケモンリストです。種族値はポケ徹様(【ソードシールド】ポケモン種族値リスト/ランキング|ポケモン徹底攻略)、ポケモンのタイプはポケモンWiki様(https://wiki.%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3.com/wiki/%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3%E4%B8%80%E8%A6%A7)からコピーしてきました。

この2つのリストにはズレがあります。wikiの方にはメガシンカがなかったり、フォルムの区別がなかったり…。 なので、このズレを手作業で修正していきます。(結構めんどくさい)

A列の番号は「図鑑番号」ではなく、上から順番に降って言ったものです。これを間違えると後のVLOOKUP関数でエラーが出ますので注意してください。

 

②「問題」

f:id:maito441:20200428184459p:image

A1のセルに、乱数を生成するRANDBETWEEN関数が入ってます。(この乱数はヒントになってしまうので、文字を白色にすることで隠してます。)

B4のセルには

=vlookup($A$1,'シート1'!$A:$I,3,false)

という数式が入ってます。

VLOOKUP関数は、「特定の数字を与えられた範囲の左の列から探し、その数字があるセルからn個右を返す」という関数です。

VLOOKUP(探す数字,探す範囲,何列目の値を返すか)

という使い方です。

これによって、乱数と同じ値をシート1のA列から探し、その右にある数字(種族値)を返すようになります。

注意としては、探す数字が同じ列に2つ以上あるとエラーが出るという点。ネットからそのままコピーしてきたままだと「原種」と「リージョン」に同じ番号が振られてますので、番号を自分で振り直す必要があります。

 

③「ヒントあり」

f:id:maito441:20200428184541p:image

問題のヒントとして、②に加えてタイプを表示したシート。やっている事は②と同じなので割愛。

注意としては、ここのシートで再びRANDBETWEEN関数を使ってはいけないということ。②のシートのA1のセルから取得しないと、別の乱数になり、別のポケモンを指してしまいます。(このミスは初心者にありがち)

 

④「答え」

f:id:maito441:20200428184717p:image

答えのポケモンを取得するのもお馴染みのVLOOKUP関数。

この関数さえ使いこなせれば結構作れるようになりますね。

 

2.実際に解いてみよう

実際に生成した問題を何問かを貼っていきます。

第1問!

f:id:maito441:20200428185316p:image

対戦をやっている人なら1度は苦戦したことがあるはず(主にシングル勢)

 

 

 

正解は…

f:id:maito441:20200428185411p:image

個人的に戦いたくないポケモン第2位です。(ちなみに1位はオニゴーリ

 

続いて第2問!

f:id:maito441:20200428190800p:image

またもや耐久に厚いポケモンですね。

 

 

 

正解は…

f:id:maito441:20200428191014p:image

デスバーンは攻撃と特攻が逆ですので覚えておきましょう。

 

第3問!

f:id:maito441:20200428191352p:image

かなり高水準ですね、これは厨ポケに違いない

 

 

 

 

正解は…

f:id:maito441:20200428191538p:image

察し()

メガシンカポケモンが入って来ると難易度高くなりますね。

 

最後の問題です

f:id:maito441:20200428192151p:image

進化前でしょうか…これは難しい

 

 

 

 

正解は…

f:id:maito441:20200428192216p:image

進化前が出た時は絶望感ありますね。

でも進化前の種族値を見て「こんなにS高いんだ」っていう発見があったりしますよね。

 

3.終わりに

今回は完全にVLOOKUP関数さえ使えれば作れるので、この関数は便利だなぁと思うばかりです。今度はスプレッドシートではなく、プログラミング言語を使ったアプリケーション的なものにも(気が向いたら)挑戦しようかなーと思っている次第です。

あと完全にどうでもいい話ですが、1年間使ったパソコンが急に壊れました。急にパソコンが壊れても大丈夫なように、大事なデータはクラウドに保存しておきましょう。(戒め)

 

ポケモン種族値クイズ - Google スプレッドシート

閲覧のみ可能です。ブラウザの更新を押すと問題が更新されます。

 

それでは、読んでいただきありがとうございました!