関数 EXCEL&VBA

エクセルで「席替え」する|マクロを使わない方法




小中学生にとって重要なイベントのひとつが「席替え」。

今回は、この「席替え」を神頼みならぬ エクセル頼みで自動で行う方法をピックアップして、先生のお手伝いをします。

難しいマクロは使いません。
2つの関数を使うことで簡単に、エクセルによる席替え・席決めをすることが可能です。

エクセルで席を決めるには

まず下準備として、生徒に「出席番号」でもよいので、ひとりひとりに1から連番を割り振っておきます。


▲生徒に固有の番号を振る

人数分の乱数を発生させる

RAND関数

席順をランダムに割り振るには、乱数 を発生させる RAND関数 が役に立ちます。

RAND関数とは、0以上 1未満の乱数を発生させる関数で、再計算されるたびに新しい乱数が返されます
書式はシンプルで;

RAND ( )

のように表されます。

まずはこの乱数をクラスの人数分だけ発生させます。(サンプルは12名の少人数クラス)


▲12個のセルに乱数を発生させる(数式はどのセルも同じ)

つぎに座席表を作ります。
セルの大きさを調節して12名分の座席をレイアウトします。


▲座席の枠をレイアウト

乱数に順位をつける

RAND関数によって発生した 12種類の乱数に昇順あるいは降順で順位をつけます。
(この順位が=出席番号になって席の位置を示すことになります)

RANK.EQ関数

順位付けに便利なのが RANK.EQ関数 です。
RANK.EQ関数とは、順序に従って範囲内の数値を並べ替えたときに、数値が何番目か(=順位)を返す関数で書式は;

RANK.EQ ( 数値, 参照, [ 順序 ] )

のように表されます。
[順序] は昇順か降順かを指定でき、省略すると降順(大きい順)になります

順位を座席表に当て込む

座席表のセルに、いずれかの乱数の順位が表示されるように数式を入れます。


▲座席1つにつき1つの乱数の順位を表示させる

これでエクセル頼みの 席替えシステムの完成です。

席順を更新する (再席替え)

席替えの結果が気に入らなければ、キーボードの「F9」を押してエクセルを更新しましょう。

再計算が実行されて席順がリフレッシュされます。


▲F9 を押すだけで乱数が更新され席順も変わった!

男女で列を分ける場合

上のサンプルは「男女ごちゃ混ぜ」「男子校」「女子校」仕様でしたが、今度は男女で列を分ける 席替えです。

生徒にあらかじめ割り振る番号は、男女それぞれに1から人数分の連番を振ります。


▲男女それぞれに連番を振る

そして、乱数も男子用と女子用に分けます。


▲男子・女子それぞれ専用の乱数

座席表に入力する RANK.EQ関数は、女子の列には女子専用乱数の順位を、男子の列には男子専用乱数の順位を表示させるように入力します。


▲女子の列には女子用の乱数の順位を表示させる

同様に座席表の男子の列に男子用乱数の順位を表示させて完成です。


▲男女で列を分ける席替えシステムの完成

エクセルを使った席替えのやり方は紹介した方法以外にも色々あります。
その内の1つとして気に入れば試してみてください。

関連記事・広告



併せて読んでおくとさらに便利

エクセルで〇をカウントする方法|Excelのキホン
COUNTIF関数
エクセルに入力された〇印をカウントする方法をわかりやすく解説します。COUNTIF関数をつかった○印をはじめ、任意の文字列や数値の数を数える方法です。

エクセルでカレンダーを作ってみよう|祝日も自動で色付けできる
DATE関数・条件付き書式
エクセルでカレンダーを作成する方法を解説。関数を使ったカレンダーの作り方で、祝日にも自動で色を付けます。オリジナルデザインのカレンダーを作ってみましょう。

EXCEL上の図形にセルの値を表示する方法
図形
Excel上に配置した図形にセルの値を表示させる方法を解説します。セルの値と図形上のテキストを連動させることができると資料のクオリティがグッと上がります。

エクセルで並べて表示できない・並べて比較できないときの対処法
シート操作・並べて表示
エクセルの複数の シートやファイルを横に並べて表示する方法・並べて比較する方法について解説。よく寄せられる『並べて表示できない』『並べて比較できない』といった質問にお答えします。

※その他、関連記事はこの記事の下の方にもあります。




-関数, EXCEL&VBA
-,