投稿

ラベル(追加機能)が付いた投稿を表示しています

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

イメージ
これまで紹介してきた得点表示では、勝ち抜けたプレイヤーの得点表示部が「WIN」と変わるように作られていました。 その部分が代わりに、抜けた順に「1st」「2nd」…と表示されるようになっている大会も一部存在します。 本記事では、そのような表示のさせかたを紹介します。 ここでは、「 【参加者管理⑤】各Rの勝者を集計する 」で作った「勝者記録テーブル」を利用します。 そのため、その記事の手順まで作ったものの続きから作っていきます。 完成品は こちら からダウンロード可能です。 【作り方】 ①1st、2nd…のリストを作る 勝ち抜け時に表示するための「1st」「2nd」…といった英語の序数のリストを、離れた場所に書いておきます。 リストを設けるスペースの先頭にあたるセルに「1st」と書いてからオートフィルすれば、一気に続きを入力することができます。 何個書けばいいかですが、そのラウンドの勝ち抜け人数に応じて用意して下さい。実用上10個弱あれば十分でしょう。 ②得点表示部の数式を修正する 各プレイヤーの名前の下にある得点を表示する部分(ここではD5~O5)の数式を、以下のように修正します。 D5セルを以下の通りに修正しO5セルまでオートフィルすればOKです。 修正前(D5セルの場合) =IF(SUM(D8:D57)+V$7>=$V$5, "WIN" ,IF(COUNTIF(D8:D57,"x")>=$W$5,"LOSE",SUM(D8:D57)+V$7)) 修正後(D5セルの場合) =IF(SUM(D8:D57)+V$7>=$V$5, INDEX($Z$4:$AF$4,INDEX($S$8:$S$52,MATCH(D$2,$T$8:$T$52,0))) ,IF(COUNTIF(D8:D57,"x")>=$W$5,"LOSE",SUM(D8:D57)+V$7)) 書き換えるのは、「もし勝ち抜けたらどうするか」の部分です。 修正前は単に「WIN」と表示させるだけでした。修正後はどうでしょうか。書き換えた部分だけを取り出してみます。 ...

垂直スクロールバーを非表示にする

イメージ
企画者によっては、クイズ中に、プレイヤーに現在の出題数を知られたくないといういう場合があると思います。 しかし、Excelの場合、画面上に数字でズバリ出題数を表示しなくても、画面右のスクロールバーの位置で、大まかな出題数がわかってしまいます。 Excelでは、スクロールバーを非表示にする設定もできますので、今回はそのやり方を紹介します。 【設定の仕方】 ①「ファイル」タブからオプションを開く 画面上部のタブのうち最も左の「ファイル」タブを選択し、その中から「オプション」を開きます。 ②オプションから「詳細設計」を選び、スクロールバーを非表示にする 詳細設計のメニューのうち「次のブックで作業する時の表示設定」の中に、スクロールバーに関するチェックボックスがあります。 今回は、縦方向にスクロールするバーを非表示にしたいので、「垂直スクロールバーを表示する」のチェックをOFFにします。

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

イメージ
得点表示画面に選手名を表示する際、名前の最初の文字と最後の文字の位置はみな揃えてあった方が理想的です。 しかし、日本人の名前は文字数がバラバラです。2文字の人もいれば、6文字の人もいます。 何も工夫していなければ、高さがバラバラに表示されてしまいます。6文字の人にいたっては、名前がはみ出てしまっています。 出来ることなら、苗字と名前の間に適切なスペースを入れたり、字数が多ければ自動的に小さくしたりして、高さを統一したいものです。 このような表示を可能にするには、参加者管理シリーズで作った参加者リストの段階で、各プレイヤーの苗字と名前を分離しておく必要があります。 今回は、「1つのセルにはデフォルトで5文字の名前が入る」という原則に従い、4文字以下の名前についてはスペース含めて5文字になるようにスペースを入れる、6文字以上の名前はスペースを入れず、文字数に応じてフォントの大きさを調節してくれるようにします。 なお、苗字と名前を分離しておくと、ネームプレート作成時や記録集を作る際の得点記録出力など、他の場面においても役に立ちます。 それでは、 基本⑤ から作っていきます。 完成品は こちら です。 【新しく登場するExcelの機能】 関数「FIND」 関数「LEN」 【作り方】 エントリーフォームにおいて、名前入力欄の段階で苗字と名前を別の入力ボックスに使っている場合、①、②のステップは必要ありません。 もしエントリーフォームの名前入力欄がフルネームを要求するものの場合、「苗字と名前の間に 1文字だけスペースを入れる こと」を参加希望者に伝えておいてください。 それでも、苗字と名前の間にスペースが入っていない人がいた場合、大会主催者側が手動で苗字と名前の間にスペースを 1文字 入れていくしかありません。 ①参加者リストを作り、参加者の名前を入力していく 参加者リスト用のシートを作り、参加者リストを作ります。 現段階では、全ての参加者が、苗字と名前の間に全角スペースが入っている状態です。 ②苗字列・名前列に数式を入力する 続いて、B列に入力されたフルネームを、それぞれ苗字(C列)と名前(D列)に分離します。 それぞれ、以下の数式を入力します。 C列:苗字 (C2セルの場合)...

誤答数を数値ではなく「×」の個数で表現する

イメージ
これまで、誤答数表示は、「(誤答数)×」という形式で表現しておりました。 ですが、たとえば2×なら「××」、4×なら「××××」と、×数を並べる表示法も考えられます。 いわば一進法による表現方法です。 表示スペースに余裕がある場合、こちらのほうが見ている人にとっては直感的に分かることがあります。 正解数や誤答数といった複数のパラメータを、どちらも数値で表現するのではなく、片方(できればあまり大きい値にならない方)を一進法によって表示すると、見やすくなるはずです。 Excel関数には、これを簡単に表現出来る関数が存在します。 今回は、【基本⑤】を改造して作ってみたいと思います。 完成品は こちら です。 【新しく登場するExcelの機能】 関数「REPT」 関数「MAX」 関数「CHAR」 関数「LEFT」 関数「RIGHT」 【作り方】 ①後で非表示にする、誤答数カウントセルを作る 現状、誤答数は5行目のセルに直接COUNTIF関数と"×"を連結させて表示しています。 ここでは、COUNTIF関数を使って誤答数だけ表示する(="×"の字が付かない)セルを新たに作り(6行目)、誤答数を表示する5行目では6行目の数値をもとに表示します。 6行目の見出しをクリックし、6行目全体を選択してから、「挿入」を押します。 1行増設されました。 そこに、数式を入力します。 D6セルに以下の数式を入力し、K6セルまでオートフィルします。 =COUNTIF(D$8:D$57,"x") ②誤答数表示セルを改造する 続いて、その上の5行目を書き換えます。 D5セルに以下の数式を入力し、までオートフィルします。 =REPT("×",D$6) さて、新しい関数が登場しました。 これが、冒頭で述べた関数、REPT関数です。 第1引数に「何回も表示させたい文字列」、第2引数に「文字列の個数」を指定するだけです。 これで、誤答した数の分だけ「×」が表示されるようになりました。 ×の字は、見やすくなるように文字の大きさを大きくしたり、ボールド体にしたりするとよいでしょう。 ボールド体は、上のメニューからボタンをク...

連誤答ディスアドバンテージ機能をつける

イメージ
「連誤答」とは、「ある人が1度誤答した後、その人が次に正解する前に再び誤答してしまう」ということです。 以前「連答」の話をしましたが、連答が「参加者全体で見て連続して正解する」のに対し、連誤答は「各参加者それぞれについて連続で誤答する」というものです。 ※ちなみに、各参加者それぞれについて連続で正解する、いわば「自己連答」を利用した形式も存在します。その形式についてはまた別の機会に解説します。 STUの2Rでは、「連誤答ディスアドバンテージ付き5○3×」という形式が行われています。 これは、「5問正解で勝ち抜け(連答によるボーナス加点はなし)」「1回目の誤答で起立し、次に正解するまでに2回目の誤答を犯すと2×が加算され、即失格」とというものです。2回目の誤答の前に1問正解すれば着席することができ、残り2回は誤答することができます。 それでは、 基本⑤(終):「終わった問題」の行と「今の問題」の行を色分け表示する の続きから作っていきます。 完成品は こちら です。 【作り方】 ①連誤答状態記録テーブル・加算×数記録テーブルを作る N~U列を「連誤答状態記録テーブル」、W~AD列を「加算×数記録テーブル」として活用します。 いつものように、まずはN7:U56およびW7:AD56を選択し、格子を描きます。 つづいて、数式をそれぞれ入力します。 【連誤答状態記録テーブル】 N7セルに以下の数式を入力し、U56までオートフィルします。 =IF(D7="x",1,IF(D7=1,0,N6)) このテーブルには、各解答者・各問題について、「連誤答状態かどうか」を1か0で出力します。 まず、「誤答したかどうか」をIF関数で判定し、真ならば1と表示します。偽ならば、さらに「正解したかどうか」を判定し、真ならば0と表示し、偽ならば1問前と同じ状態を維持します。 【加算×数記録テーブル】 W7セルに以下の数式を入力し、AD56までオートフィルします。 =IF(D7="x",IF(N6=1,2,1),0) このテーブルには、各解答者・各問題について、「いくつの×が加算されたか」を出力します。 まず、「誤答したかどうか」を判定し、真ならば、さらに「1問前の時点で連誤答状態だったか...

「得点タワー」の作り方

イメージ
得点をタワー状に表示する方法を解説します。 例えば、大会の決勝戦ぐらいになりますと、2~4人で対戦することがほとんどです。これは そのような場合、これまで見せてきたような、縦書きの選手名を横に並べた表示では、余白が増え、少しばかり寂しい表示となってしまいます。 どうせなら、決勝ぐらい、特別に見せてもいいじゃありませんか。 そこで今回は、4人対戦の10○4×を作るのですが、1問正解するごとに、名前の上に設けたセルが1つずつ赤くなっていくような表示を作っていきます。 それでは、 「終わった問題」の行と「今の問題」の行を色分け表示する の続きから作っていきます。 完成品は こちら です。 【作り方】 ①ルール設定を変える まずはルール設定セルに、やりたいルールの数値を入力します。 今回は10○4×の設定にします。 また、細かい点ですが、タイトルバーにはFinal Roundと書いておきました。 ②行の数を減らし、横に広げる これまで8人対戦で作ってきましたが、4人対戦にするため、4行分一気に削除します。 H~K列を選択し、右クリックから削除を選びます。 そして、残ったD~G列を選択し、これまでの幅を倍に伸ばします。 今まで22.50で設定していたので、45.00に設定します。 ②選手名を縦書きから横書きにし、縦に潰す D3:G3セルを選択し、右クリックから「セルの書式設定」を選びます。 「配置」タブの「方向」グループを見てみますと、縦に書かれた「文字列」というボックスが黒くなっています。 これをクリックすると、黒くなくなり、横書きに戻ります。 さて、ついでに左側の「文字の制御」グループから「縮小して全体を表示する」にチェックマークをつけておきましょう。これを選んでおくことで、名前が何文字でもきちんとセル内に収まるようになります。 これで、名前が横書きになりました。 そして、名前がかかれている第3行の高さを低くします。 今回は、75.00に設定します。 ③選手名の上にタワーとなる行を挿入する いよいよタワーを作っていきます。 第3行を選択し、「挿入」ボタンを10回押して新しい行を10行作ります。 次に、C列に下から1,2,3,…,10の数字を入力...

「m○n休クイズ(加速型)」の得点表示の作り方

イメージ
「m○n休クイズ(固定型)」の得点表示の作り方 の続編です。 今回は、1回目の誤答でn回休み、2回目の誤答で2×n回休み、…というように、誤答するたびに休む問題数が増える場合の作り方を解説します。 [2021年8月1日追記] 「abc」では、2022年開催の「the 20th」にて「Freeze 10」の名前でこの形式が採用されることになりました。 このnの値は、休み設定セル(P4セル)に入力されたものをそのまま使います。 それでは、 固定型 の続きから作っていきましょう。 完成品は こちら です。 【作り方】 ①休み数記録テーブルの数式を書き換える N7セルを以下のように書き換え、U56セルまでオートフィルします。 =IF(D7="x", $P$4 ,IF(N6=0,0,N6-1)) ↓ =IF(D7="x", $P$4*COUNTIF(D$7:D7,"x") ,IF(N6=0,0,N6-1)) P4は、設定セルに入力された「休み」の値です。これに「誤答回数」を表す数値を掛けます。 COUNTIF関数で範囲を指定する際、始点(一番左上のセル)の列だけを絶対参照にし、それ以外を相対参照にしているところがポイントです。 ②誤答数を表示させる ※前回の段階で誤答数と休み数両方表示させているのであれば、このステップは必要ありません。 加速度つきn休の場合、「次誤答したら何回休みか」という情報は、常に把握できたほうが良いでしょう。そのため、誤答数は常時表示させておくべきです。 見出しをクリックして5行目を選択し、「挿入」を押し、休み数表示セルの下に1行追加します。 数式は…もういわれなくてもわかりますね? =COUNTIF(D$8:D$57,"x")&"×" ②'休みでない状態には括弧書きで「次誤答で何回休みか」を表示する セルを増やすのがめんどくさいという場合は、次のような方法も考えられます。 D5セル(休み数表示セル)に以下の数式を入力し、K5セルまでオートフィルします。 =IF(OFFSET(N$6,$Q$4,0)>=1,OFFSET(N$6,$Q$4,0),...