「通過クイズ」の得点表示の作り方(基本形)
「通過クイズ」の得点表示の作り方を解説します。
通過クイズとは、早押しクイズで規定の点数を獲得すると「通過権」が発生し(この際「通過席」という特別な解答席に移動することもあります)、その状態で、次の問題も早押しで正解すれば勝ち抜け、というルールです。
ただし、他のプレイヤーに正解されてしまうと、通過権は消失し、ポイントは0に戻ってしまいます(スルーや他のプレイヤーの誤答が発生した場合、通過権は消失しません)。勝ち抜けるには、再びポイントを稼ぎ、通過権を獲得した状態で正解しなければなりません。
単にポイントを積み重ねるルールとは違い、「勝ち抜けるために必ず正解しなければいけない場面」という特別な状況が発生します。問題運の要素が大きいと言ってしまえばそれまでですが、「特殊な状況におけるプレッシャーに負けない精神力」が問われているとも言えるでしょう
(これは連答系の形式についても同様のことが言えます)。
有名な例としては、やはり「アメリカ横断ウルトラクイズ」の準決勝として有名な「通せんぼクイズ」が挙げられます。
現在ですと、インターネットクイズ番組「LOCK OUT!」の準決勝でも行われておりますね。
ひとくちに「通過クイズ」といっても、さまざまなバリエーションが存在します。
例えば、「通過権リーチの人しか通過を阻止することができない」という「マンオブ風通過クイズ」や、「通過チャレンジに失敗しても、挑戦するたびに、次に通過権を得るために必要なポイントが少なくなっていく」とうい「abcゲートクイズ」などがあります。
誤答罰1つとっても、「1P減点」「○回で失格」「1P以上持っているときの誤答は1P減点だが、0Pのときの誤答は×が1つつき、3×で失格」などがあります。
これらの作り方は今度の機会に譲るとして、今回は、最もベーシックな、「3Pで通過席」「誤答は3回で失格(通常席か通過席かは問わない)、減点はなし」というルールで作ります。
それでは、「終わった問題」の行と「今の問題」の行を色分け表示するの続きから作っていきます。
完成品はこちらです。
N7:U56の範囲を選択し、格子を描きます。
N~U列の6行目には0を書いておきます。
=IF(N6=$N$4,IF(D7=1,"WIN",IF(OR(D7="x",COUNTIF($D7:$K7,1)-COUNTIF(D7,1)=1),0,N6)),IF(D7=1,N6+1,N6))
この式を図に表すと、こうです。
まず、通過席にいるかどうか、すなわちN4セルで設定したポイント分持っているかどうかを判定します。真ならば、次に、正解しているかどうかをチェックし、真ならば"WIN"と表示します。そうでない場合は、誤答したor他人が正解したかをチェックします。いずれかを満たしていれば、得点を0に戻し、そうでない場合(他者の誤答・スルー)は1問前と同じ点数のままです。
一方、通過席にいない場合は、正解したかどうかだけチェックし、真ならば+1p、偽ならば1問前と同じ点数です。
もし「誤答は-1p」というルールを付け加えたい場合は、通常席で正解しなかった場合の先に更に1つIF関数を書く必要があります。
D4セルに以下の数式を入力し、K4セルまでオートフィルします。
=IF(COUNTIF(D7:D56,"x")>=$O$4,"LOSE",OFFSET(N6,$P$4,0))
まず、失格になったかどうかを判定します。ここは誤答数をカウントするだけですから、そのままですね。
失格ではない場合は、OFFSET関数を用いて、ポイント記録テーブルから現在のポイントを参照します。第1引数にスタートとなるセルを指定し、第2・3引数で、そこから行方向・列方向にいくつ移動するかを指定するのでしたね。今回は行方向に出題済み問題数分移動すればよいので、第2引数には出題済み問題数表示セル、第3引数は0です。
しかし、通過権を持っている状態も何かしら表現しておいた方がよいでしょう。
D4:K4セルを選択し、「条件付き書式」ボタンから「新しいルール」を選択、以下の数式を入力します。
=D4=$N$4
書式設定は、ここでは「塗りつぶし」を黄色にしておきます。
通過クイズとは、早押しクイズで規定の点数を獲得すると「通過権」が発生し(この際「通過席」という特別な解答席に移動することもあります)、その状態で、次の問題も早押しで正解すれば勝ち抜け、というルールです。
ただし、他のプレイヤーに正解されてしまうと、通過権は消失し、ポイントは0に戻ってしまいます(スルーや他のプレイヤーの誤答が発生した場合、通過権は消失しません)。勝ち抜けるには、再びポイントを稼ぎ、通過権を獲得した状態で正解しなければなりません。
単にポイントを積み重ねるルールとは違い、「勝ち抜けるために必ず正解しなければいけない場面」という特別な状況が発生します。問題運の要素が大きいと言ってしまえばそれまでですが、「特殊な状況におけるプレッシャーに負けない精神力」が問われているとも言えるでしょう
(これは連答系の形式についても同様のことが言えます)。
現在ですと、インターネットクイズ番組「LOCK OUT!」の準決勝でも行われておりますね。
ひとくちに「通過クイズ」といっても、さまざまなバリエーションが存在します。
例えば、「通過権リーチの人しか通過を阻止することができない」という「マンオブ風通過クイズ」や、「通過チャレンジに失敗しても、挑戦するたびに、次に通過権を得るために必要なポイントが少なくなっていく」とうい「abcゲートクイズ」などがあります。
誤答罰1つとっても、「1P減点」「○回で失格」「1P以上持っているときの誤答は1P減点だが、0Pのときの誤答は×が1つつき、3×で失格」などがあります。
これらの作り方は今度の機会に譲るとして、今回は、最もベーシックな、「3Pで通過席」「誤答は3回で失格(通常席か通過席かは問わない)、減点はなし」というルールで作ります。
それでは、「終わった問題」の行と「今の問題」の行を色分け表示するの続きから作っていきます。
完成品はこちらです。
【作り方】
①ルール設定セルを変更する
このように書き換えておきます。②ポイント記録テーブルを作る
これももうおなじみですね。N~U列を使いましょう。N7:U56の範囲を選択し、格子を描きます。
N~U列の6行目には0を書いておきます。
③ポイント記録テーブルに数式を入力する
N7セルに以下の数式を入力し、U56までオートフィルします。=IF(N6=$N$4,IF(D7=1,"WIN",IF(OR(D7="x",COUNTIF($D7:$K7,1)-COUNTIF(D7,1)=1),0,N6)),IF(D7=1,N6+1,N6))
この式を図に表すと、こうです。
まず、通過席にいるかどうか、すなわちN4セルで設定したポイント分持っているかどうかを判定します。真ならば、次に、正解しているかどうかをチェックし、真ならば"WIN"と表示します。そうでない場合は、誤答したor他人が正解したかをチェックします。いずれかを満たしていれば、得点を0に戻し、そうでない場合(他者の誤答・スルー)は1問前と同じ点数のままです。
一方、通過席にいない場合は、正解したかどうかだけチェックし、真ならば+1p、偽ならば1問前と同じ点数です。
もし「誤答は-1p」というルールを付け加えたい場合は、通常席で正解しなかった場合の先に更に1つIF関数を書く必要があります。
④ポイント表示セルの数式を書き換える
ポイント記録テーブルを参照してポイントを表示しなければいけませんから、SUM関数ではなく、OFFSET関数を使います。D4セルに以下の数式を入力し、K4セルまでオートフィルします。
=IF(COUNTIF(D7:D56,"x")>=$O$4,"LOSE",OFFSET(N6,$P$4,0))
まず、失格になったかどうかを判定します。ここは誤答数をカウントするだけですから、そのままですね。
失格ではない場合は、OFFSET関数を用いて、ポイント記録テーブルから現在のポイントを参照します。第1引数にスタートとなるセルを指定し、第2・3引数で、そこから行方向・列方向にいくつ移動するかを指定するのでしたね。今回は行方向に出題済み問題数分移動すればよいので、第2引数には出題済み問題数表示セル、第3引数は0です。
⑤通過権を持っているときの条件付き書式を設定する
勝ち抜け時および失格時の条件付き書式は特に書き換える必要はありません。この2つは、それぞれ「WIN」「LOSE」と表示されたときに色が変わる設定なので、そのままで構いません。しかし、通過権を持っている状態も何かしら表現しておいた方がよいでしょう。
D4:K4セルを選択し、「条件付き書式」ボタンから「新しいルール」を選択、以下の数式を入力します。
=D4=$N$4
書式設定は、ここでは「塗りつぶし」を黄色にしておきます。
コメント
コメントを投稿