基本④:タイトルバーを作り、問題数やラウンド名などを表示する

「基本シリーズ」第4回です。
前回…基本③:勝ち抜け・失格等のルール設定を変更できるようにする
次回…基本⑤(終):「終わった問題」の行と「今の問題」の行を色分け表示する

画面上部にタイトルバーを作り、現在の問題数・ラウンド名・組数などを表示します。
とはいっても、今回Excelらしい機能を使うのは問題数表示のみです。

基本①のときにも述べましたが、当ブログで扱うExcel得点表示では、1問終わるごとに、正誤・スルーの情報を入力していきます。
正解ならばその選手の列・その問題の行のセルに「1」を、誤答ならば「x」を、スルーならば一番右の選手の更に右隣の列に「1」を入力するのでした。
今回は、その情報をもとに、問題数をカウントしていきます。
そのためには、各行の左端に、「その行はすでに正誤・スルー情報が入力されているかどうか」ということを示すセルを作り、真ならば1、偽ならば0を表示するようにしておけば、問題数はSUM関数で求めることができます。

なお、大会によっては、現在の問題数を表示しないという場合もあるでしょう。それでも、現在の問題数は内部的にカウントしておいたほうが色々と好都合な場合もありますので、常にカウンターを設けておくことをおすすめします。

それでは、基本③の続きから作っていきます。

完成品はこちらです。

【使用するExcelの機能】

・関数「COUNTA」

【作り方】

①「正誤スルー入力セル」の各行について、問題が終了したかどうかをチェックする。

A・B列が空白になっていますね。
まず、B行(厳密に言うとB7:B56)を「問題終了チェックセル」として使用します。
早押しクイズにおいて、1つの問題が終了するというのは、「誰かが答えた」か、「スルーになった・問題不備等の理由で無効になった」の2通りがあります。どちらが起きても、「正誤スルー入力セル」(D7:K56の範囲)のある1つの行に、どこか1つ文字が入力されます。
なので、1つの行について、「どこか1つに文字が入っている」ならばその行の問題は終了した、「どの列にも文字が入っていない」ならばその行の問題はまだ終了していない、ということになります。

ある範囲のセルに文字があるかないかを調べるには、COUNTA関数を用います。
これは、選択範囲のうち、空白でないセルがいくつあるかを求める関数です。

B7セルに以下の数式を入力し、B56セルまでオートフィルします。

=IF(COUNTA(D7:K7)>=1,1,0)

これで、各行について、文字が1つでも入力された場合は1、まだ入力されていない場合は0がB行のセルに表示されます。



なお、B列のセルの中には、左上の隅に緑色の三角印が付いているものがあります。なにやら黄色い菱形の中に!マークがあるボタンまで出てきました。
ポインターを合わせると、「このセルは、隣接したセル以外の範囲を参照します。」と表示されますね。確かに、B列の数式は、C列を抜かしてD列~L列を参照しています。
ですが、こんなことは今後日常茶飯事なので、気にしないでください。

②出題数カウントセルを作る

失格条件を設定するO列の右隣、P列を出題数カウントセルとします。
P3,P4セルにそれぞれ以下のように入力します。

P3:出題数
P4:=SUM($B$7:$B$56)

また、P4セルは着色しておきます。
ただし、使用者が数値を自由に入力できるN4,O4セルとは違い、P4セルは自動的に計算された値を表示するだけのセルなので、その違いを明確にしておくべく、別の色をつけます。ここではオレンジに対して緑を使いました。

③画面上部にタイトルバーを作る

空白だった1行目をタイトルバーとして使用します。
1行目の見出しをクリックして選択し、適当な大きさに拡張します。

タイトルバーの高さは、「表示倍率100%かつ見出し表示をOFFにしたときに、画面下部でスクロールするべき正誤スルー入力欄が画面から追い出されてしまわない」ように調節します。
場合によっては、名前表示セルやポイント表示セル、誤答数表示セルの高さを再変更することもあります(その際フォントの大きさも再設定します)。
今回は1行目の高さを48.00に設定します。

A1セルにラウンド名を左揃えで、K1セルに現在の問題数を右揃えで入力します(デフォルトでは左揃えですが、そのままだと画面から文字がはみ出てしまいます)。
その後、フォントや文字の大きさを調節して下さい。スペースの上下ギリギリまで大きくするとよいでしょう。今回は、HGP明朝E、大きさ48を指定しています。
なお、A1セルはかなり小さいため、文字がセルから完全にはみ出る形となりますが、B1やC1に何も入力しなければ、文字が途中で切れて表示されるといったことはありません。

以下に例を示します。

A1:2nd Round  Group 1
K1:="Question "&$P$4+1

K1では、文字列"Question "と数式を接続していますが、P4セルに表示された「すでに出題済みの問題数」に1を足して、「今から出題する問題番号」にしなければならない点に注意して下さい。

タイトルバーを着色したい場合は、1行目全体を選択してから着色するなり、文字の色を変えるなりして下さい。




コメント

このブログの人気の投稿

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

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

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