連答機能をつける(加速ver.)

連答機能をつける(等速ver.)」の続編です。
今回は、連答するたびに加算される点数が増加する場合の作り方を解説します。
例によって、この記事の続きから作っていきます。
完成品はこちらです。

【作り方】

①連答状態記録テーブルの数式を変更する

復習しますと、N~U列が「連答状態記録テーブル」、W~AD列が「加算ポイント記録テーブル」でしたね。
等速型では、連答中の場合は連答状態記録テーブルに1を入力するだけでしたが、今回は1の代わりに、その時点で何連答中かを表す数字を表示させます。

N7セルの数式を以下のように変更し、U56セルまでオートフィルします。

=IF(D7="x",0,IF(OR($L7<>"",COUNTIF($D7:$K7,"x")>=1),N6,D7))
=IF(OR(D7="x",AND(D7<>1,COUNTIF($D7:$K7,1)>=1)),0,IF(D7=1,N6+1,N6))

この式にある2つの条件分岐を見てみましょう。

条件①:その人の連答状態がOFFになった?

連答が途切れるのは、「自分が誤答」か「自分以外が正解」のいずれかでしたね。複数の条件のうちいずれかを満たすかどうかを判定する際には、OR関数を用いればよいのでしたね。
また、「自分以外が正解」の判定には、ここではAND関数を用いています。この条件は、「"自分は正解していない"かつ"誰かが正解している"」と言い換えられます。
なお、AND関数を用いなくても、COUNTIF関数を2つ使って
COUNTIF($D7:$K7,1)-COUNTIF(D7,1)=0
という条件式でも可能です。

条件①が真ならば、連答数を0にします。そうでないならば、条件②のチェックに進みます。

条件②:その人が正解した?

その人が正解すれば、連答数が1増えます。
条件②も偽であるならば、連答数は1つ前の問題のまま維持します。


これで、ポイント表示セル(4行目)には、きちんと加速型のルールに則ってポイントが表示されるようになりました。加算ポイント記録テーブルは変更しなくてもよいのです。
試しに入力してみましょう。
勝ち抜け条件(N4セル)を20Pにして、まず誰かを4連答させてみましょう。


等速型では7Pになりますが、加速型にしたことで、10Pに到達しました。

次に、誰か別の人に正解してもらったあと、再び先ほどの人に3連答させてみると…

さらに6Pが入っています。

「連答中の人を誤答させると連答状態がOFFになること」「スルーさせても他人を誤答させても連答状態が消えないこと」も確認してみて下さい。

②現在の連答数(or「次の問題正解時の加算ポイント」)を表示する

このステップは必ずしも必要ではありませんが、加速型の場合、「現在何連答中か」もしくは「次正解すれば何点加算されるか」というのを常に表示させておいたほうが、競技者にとっても観客にとってもありがたいはずです。

連答数は、ポイント(4行目)と誤答数(5行目)の間に表示することにします。
まず、4行目を選択し、「挿入」を押して、行を1つ増やします。

行の挿入は、基本的には上の行の書式をコピーします。条件付き書式も同様です。
そのため、「連答中」の黄色い表示も、ルール設定セルの色もコピーされます。
気になるという人は、色を「なし」にしておきましょう。
また、1行挿入したので、セルの高さ・文字の大きさを適宜調整してください。

新たに挿入された5行目に数式を入力します。
D5セルに入力して、K列までオートフィルでしたね。

「連答数」を表示させたい場合


=IF(OFFSET(N7,$P$4,0)>=1,OFFSET(N7,$P$4,0)&" Combo","")


IF関数を用いて、連答状態のプレイヤーにだけ「N Combo」の表示をします。
連答状態のプレイヤーはその場に1人しかいないため、全てのプレイヤーの連答数を常時表示させる必要はありません。さもないと、画面がごちゃごちゃしてしまいます。


「次の問題正解時の加算ポイント」を表示させたい場合

="+"&OFFSET(N7,$P$4,0)+1


こちらで表示するのは「+N」と、さほど文字数が多くないため、常時全員に対し表示させてもクドくありません。

コメント

このブログの人気の投稿

基本①:「m○n×クイズ」の得点表示の作り方

参加者の苗字と名前を分離する/選手名を均等な大きさで表示する

勝ち抜け時に順位を表示する