【教育】仕事効率化|ランダムで座席表を作成するエクセルツール

f:id:kuroNoir:20210511205117j:plain

学校や塾で座席表を作成する際は、エクセルを利用されている場合が多いと思います。

授業の時は、生徒の性格や相性を考えて上で座席を決めた方がいいと思いますが、テストや模擬試験などの場合は、ランダムに作成できた方が好ましいですよね。

そこで、今回はエクセルを利用した「座席表のランダム作成ツール」の作成案をまとめてみます。内容としては、初心者向けですので、エクセルの関数や機能を勉強してみたいとお考えの先生方は、ぜひ最後までお付き合い下さい。

f:id:kuroNoir:20210420210905p:plain

くろネコのんびりツイート (@kuroNoir_tw) | Twitter

 

 

作成目標

今回は、生徒一覧にランダムで座席番号を割り振り、対応する座席へ氏名を反映させるというイメージで作成したいと思います。使う機能や関数、イメージ画像は以下の通りです。

使用する機能
  • テーブル
  • VLOOKUP関数
  • RAND関数
  • RANK関数

f:id:kuroNoir:20210511213609j:plain

 

作成手順

<ステップ1>乱数の生成

まず、RAND関数を使います。

=RAND()

RAND関数は、0以上1未満のランダムな実数を自動で生成してくれる関数です。セルの入力などワークシートが計算されるたびに新しい乱数が生成されます。

f:id:kuroNoir:20210512210119j:plain

 ※乱数の自動計算について

上述した通り、RAND関数はワークシートの更新のたびに生成されてしまいます。ですので、仮に座席表が完成しても、何かの更新の際に新たな乱数が生成されてしまって、座席を固定できません。

それらを回避するため、[数式タブ]の[計算方法の設定]から「手動」を選択しておきましょう。これで、乱数の生成をこちらのタイミングで再計算させられます。

ちなみに、再計算をさせるには、[F9]キーを押すと実行されます。

f:id:kuroNoir:20210515160904j:plain

その他にも、完成した時点でPDF保存したり、印刷して紙ベースにしておいたりしておくとデータが残るのでよいと思います。

 

<ステップ2>順位をつける

生成した乱数のままでは、整数ではないので座席番号として使えません。そこで、乱数に順位をつけることで、個数分の重複しない整数を作ることができます。

=RANK(数値, 範囲, [順序])

RANK関数は、指定した範囲の中での順位を求めてくれる関数です。それぞれ指定する引数は、以下のようになります。

数値 [必須] 範囲内での順位を調べる数値を指定

範囲 [必須] 順位を求める値の範囲を指定

順序 [省略可能] 範囲内の数値を並べる方法を指定
省略するか「0」を指定すると降順に、「0」以外の数値を指定すると昇順で並べ替えられます。

f:id:kuroNoir:20210512213942j:plain

※セルの参照方法について

f:id:kuroNoir:20210512220037j:plain

セルを指定して値を参照させるとき、単純にセル番号だけの記述をしてしまうと、ドラッグしたときに移動方向に自動的に移動してしまいます。

対象範囲を移動させずに固定したい場合は、[F4]キーを繰り返し押すことで固定が可能となります。

[F4]キーを1回押すと「行も列も固定」、2回押すと「行のみ固定」、3回押すと「列のみ固定」となります。また、4回押すと元の相対参照に戻すことができます。

 

<ステップ3>テーブルの設定

RANK関数の範囲を固定していると、生徒が増えた時、その都度範囲を変更しないといけません。これは、非常に手間のかかる作業です。そこで、リスト全体を「テーブル」に設定しておきましょう。

f:id:kuroNoir:20210515162514j:plain

 

テーブルは、行が増えた際に自動で内容を更新してくれます。RAND関数やRANK関数の参照範囲なども自動的に追加してくれるので、非常に便利です。

f:id:kuroNoir:20210515164009j:plain

 

また、テーブルに設定しておくことで、生徒リストを参照させるとき、セル番号の代わりにこのテーブル名を使用することができます。編集しやすいように自分がわかりやすい名称にしておきましょう。

f:id:kuroNoir:20210515163011j:plain

 

<ステップ4>座席番号に一致する生徒名の取得

最後に、座席表を作成して、座席番号に合う生徒名を取得する部分を作成します。データを検索には、VLOOKUP関数を使用します。

=VLOOKUP(検索値, 範囲, 列番号, [検索方法])

VLOOKUP関数は、表または範囲のデータを行で検索してくれる関数です。指定する引数は、以下のようになります。

検索値 [必須] 検索の対象となる値

範囲  [必須] 検索の対象となる範囲

列番号 [必須] 検索値に該当する結果を返す列番号

検索方法 [省略可能] 検索方法(近似一致/完全一致)を指定 

f:id:kuroNoir:20210515170942j:plain

 

あとは、それぞれの座席にも同様の関数を入力すれば完成です。

今回は、説明のために座席番号を座席の上に入力し、セル番号で検索値を参照させましたが、直接数字を入力しても検索可能です。

教室の大きさや座席数も環境によって異なると思いますので、そのあたりは実情に合わせて編集して下さい。

 

 

まとめ

学校や塾の先生って、授業に面談と本当にやることがいっぱいですよね。だからこそ、自動化できそうな業務はデジタルツールを活用して効率化していくべきだと思います。教育の業界って結構アナログな部分が残ってますしね。

今回の座席表でも、毎回氏名を入力して作るよりかは幾分か効率がいいと思います。もちろん、子どもの性格や視力など実情に合わせてアレンジする必要はあると思いますが…。

くろネコの小言

エクセルの関数・マクロ・VBAについて検索すると、それはそれはいろんな記事が出てきます。でも、教育への活用を目的とした「作成案」みたいなのまとめた記事っていうのは案外少ないように思います。ですので、これからもエクセルで利用できそうなアイデアがあれば、掲載していこうと思うので、ご興味があればまた見て下さい。

 

オススメの参考書

この本は、現場で生きるエクセルのワザがとてもわかりやすくまとめてあります。非常に勉強になりますので、オススメですね!

 

容量たっぷり20GB、国内通話5分無料も付いて、2970円(税込)