スプレッドシートを使って、
自動席替えシートを作りたいんだけど?
いきなり、無理ゲーなんすけどー。
なんか困ってるみたいだね?
ケイは、スプレッドシート使うの初めてだけど、
エクセル歴は、30年以上だから、まかせてよ。
エクセルなんか使ったこともないんだけど、
ジュリアでも、できんのかな?
問題ないね!慣れれば、誰でもできるよ。
取りあえず、こんなの作ってみたから、
見てみれば、ヒントになるんじゃないかなー?
そっ!それを、知りたいんだよー!
はやく教えてよー。
スプレッドシートで自動席替えシートを作成する手順
スプレッドシートは、Googleが提供している表計算アプリで、Googleクロームのワークスペース上で個人が無料で使用できる便利なアプリですね。
クロームのアプリを開くと色々と便利アプリがラインナップされています。
その中の一つであるスプレッドシートを使って、自動席替えシートを作成してみました。
自動席替えシートは、氏名リストのシートとシートを開くと自動的に席替えした結果を示すシートの2シートで作成しています。
あくまでも、一例ですのでこれ以外の方法も、さまざま、あることをご了承ください。
この記事では、関数のみで作成する手順を解説します。では、早速、手順を示していきますよ。
手順1:スプレッドシートを開く
※パソコンで作業することを前提としています。
〇ブラウザのchromeを開いて、アカウントにログインして、スプレッドシートを開く。
※下記の画像はタップorクリックで拡大可能です。
手順2:氏名リスト用シートと自動席替えシートを作成する
〇空白のシートを開き、氏名リスト用シート(左図)と、自動席替え用シート(右図)を追加する。
手順3:氏名リストシートにデータを入力
〇氏名リスト用シートに、A列:席番号、B列:氏名、C列:フリガナ、等の必要なデータを入力する。
下表ように、A列~C列にデータを入力する。この例では、30人のリストを作成しています。
手順4:乱数を生成させるRAND関数を設定する
〇D3セルに乱数を生成させるRAND関数:=RAND() を設定する。
※RAND() の()カッコ内は何も入れなくてOK。
〇D3セルをコピーしてD4セル~D32セルに貼り付ける。
手順5:乱数の順位付けを行うRANK関数を設定する
〇D列で生成した乱数の順位を判定する関数:RANK関数を設定する
=INDEX($A$3:$A$32, RANK(D3,$D$3:$D$32,1))
➡ここで、RANK関数のみでは1~30までの数値がたまたま重複する場合がある。
➡順位の重複を避けるために、さらに、INDEX関数を組み合わせて使う。
※E列にINDEX関数とRANK関数を組み合わせていることに注意!!
INDEX関数の応用です。A列のA3セルからA32セルの範囲を参照して、
1~30の順位判定させているため、順位が重複しない!←ここがポイント
※通常と違う使い方をしているので気を付けて。
1~30までの数値で重複しない順位をつけてねという命令を出して、E列に1~30の数値を自動で入力させている。
実際にE3セルに入力する関数
=INDEX($A$3:$A$32, RANK(D3,$D$3:$D$32,1))
※$A$3:$A$32 の「$」の意味は、他のセルにコピペした時にA3:A32 を
そのままコピペさせるために「$」を付している。
※その他の関数を使うときでも同様に使えるので
〇次に、E3のセルをE4~E32までコピペする。
コピペしたE4セルの内容は下記になる
=INDEX($A$3:$A$32, RANK(D4,$D$3:$D$32,1))
〇これで、E列に重複しない1~30までの順位付けが自動的に実行される。
以上で、氏名リストシートの関数設定は終了です。
次に、自動席替えシートの関数設定を行う。
手順6:自動席替えシートの関数設定を行う
〇自動席替えシートのタブを選択して、シートを自動席替えシートに切り替えます。
〇下の図では、既に関数が設定されているため、シートを切替えた時点で、座席表が完成しています。
手順7:席番号のセルに「氏名リストシート」のセルを参照させる
〇席番号のA3セルに氏名リストシートのE3セルの値を代入するための関数を設定する
〇A3セルを選択して、「=」(イコール)を入力した状態で、氏名リストシートに切り替える
〇氏名リストシートのE3セルを選択する ➡下式のようになればOK
='氏名リスト'!$E3
〇各席番号に式をコピーする。
※A4セルは空白で、A5、A7・・・と1個飛ばしでコピーする。(A4,A5セルを選択してコピペでOK)
※フリガナを省略した場合は、A4,A5,A6・・・に連続コピーでOK。
※図をクリック、タップで拡大可能
手順8:フリガナのセルにVLOOKUP関数を設定する
〇B3セルにVLOOKUP関数を設定し、手順7と同じように各フリガナのセルに関数をコピーする。
〇B3セルを選択し、「=VLOOKUP」と「V」と入力すれば、関数の候補がリストアップされるので、VLOOKUP関数を選択する
〇次に、下式の通り、氏名リストシートに切り替えて、A3~A32セル範囲を選択する
〇次に、,3,FALSE と入力する
=VLOOKUP(A3,'氏名リスト'!$A$3:$C$32,3,FALSE)
※これでフリガナのセルに自動的に席番号と対応したフリガナが入力される
手順9:氏名セルにLOOKUP関数を設定する
〇手順8と同様に、B4セルにLOOKUP関数を設定する。(氏名リストに切り替えて選択すること。)
〇手順8と同様にして、各氏名のセルに関数をコピーする。
=LOOKUP(A3,'氏名リスト'!$A$3:$A$32,'氏名リスト'!$B$3:$B$32)
※ちなみに、B6セルの式は下記の通り、A5の前に「$」を入れても入れなくてもどちらでもOK
=LOOKUP($A5,'氏名リスト'!$A$3:$A$32,'氏名リスト'!$B$3:$B$32)
※氏名セルにVLOOKUP関数を設定すると、エラーになるため、LOOKUP関数を適用しています。フリガナセルと同様に、VLOOKUP関数を設定する方法もあるかもしれませんので、悪しからず。
手順10:ファイル名設定
〇任意のファイル名を設定して完了!
※スプレッドシートは、アカウントのマイドライブに自動保存してくれるため、上書き保存は必要ありません。
以上で、関数設定が完了しました。
ファイルを開くと自動的に席替えされた状態になっていますよね?
確かめてみてね。
わたしにもデキター!でも、
関数の意味がわからないと、ちと、きびしいかな。
今回は、5種類の関するを組み合わせて作成したけど、
やり方は、1つではないから、色々、ためしてね。
他にもさまざまな関数があるので、もっと、簡単な
方法があるかもしれないね?
最後までお読みいただき、ありがとうございました。
またのご訪問をお待ちしております。
人気ブログランキング ——————————- 技術者募集 ——————————-
【企 業 名】株式会社ファンコミュニケーションズ
【概 要】「A8.net」を開発運用するアフィリエイトソリューションプロバイダー
の株式会社ファンコミュニケーションズが業務拡大につき技術者を募集中。
【業務内容】A8.net/Moba8.netの企画・設計・開発・運用・保守など。
—————————————————————————-
コメント