2/18/2016

Excel。seating char。座席表を教壇側と生徒側の2つを簡単に作成したい


Excel。座席表を教壇側と生徒側の2つを簡単に作成したい

<index関数>

企業研修をはじめ、様々な所で講義をやらせていただいておりますと、
その行く先々で担当者様から、講師用の教壇側からみた座席表をいただくのですが、
受講される方は、その座席表だと、分かりにくいので、
逆側からの座席表を用意する必要になる訳ですね。

いつも同じ会場で、同じ大きさでしたら、
セル参照というのでもいいのですが、現場レベルでは、なかなかそういう訳にもいきません。

担当者様からも、

「2種類作る必要があって、大変なんですよ。」

ということも良く耳にしますので、
今回は、座席表の作成に当たり、少しは楽になるのでは、作業効率が改善するのでは?
ということで、
座席表を教壇側(講師側)と生徒側の2種類を効率よく作る方法をご紹介していきます。

ところで、始める前に、あまりにも、その職種の人以外、マニアックすぎて…。
何だかよくわからないという方もいらっしゃると思いますので、

説明を重ねますと、

まず、下記の座席表あります。

これは、受講生さん用の座席表です。これをひっくり返したい訳ですね。

そして、今回作成したいのは、こちら側ですね。講師が見る座席表ですね。

これを、今回ご紹介していきます。
マニアックでしょう。普通にExcelを使用している人からは、きっと無縁でしょうね。

さて、そこで今回登場するテクニックは、INDEX関数を使っていきます。

最終的には、IF+INDEX関数にはなりますが…

INDEX関数とは、範囲の中から、
行位置と列位置を指定して値を取り出すことが出来る関数なのです。


では、早速作り方です。

下記のような表を作ります。

講師用座席表のフレームを作るのと、注目する点は、
A列と1行目に必要な列数と行数をそれぞれカウントダウンする形で入力しておきます。

ここがポイントになります。

B3をクリックして、INDEX関数ダイアログボックスを選択しましょう。
すると、引数の選択ダイアログボックスが表示されますので、
ここは、配列,行番号,列番号 を選択してOKボタンをクリックしましょう。

すると、INDEX関数ダイアログボックスが表示されます。

配列には、別シートにある、受講生さん用の座席表を選択しますので、今回は、B5:I17です。

そして、この数式をオートフィルを使ってコピーしていきますので、
絶対参照の設定も忘れずにしておきましょう。

つまり、受講生さん用!$B$5:$I$17
行番号には、A列を参照させますので、$A3
列番号には、1行目を参照させますので、B$1

あとは、OKボタンをクリックしましょう。

結果はこのように0(ゼロ)が算出されましたね。

かまいませんので、オートフィルを使って、I15まで数式をコピーしてみましょう。

書式なしコピーで設定することも忘れずに。
これで、一応完成しましたね。

確かに、反転というか、ひっくりかえりましたが、0(ゼロ)が表示されていますよね。

これは、元のデータがないので、0(ゼロ)を返してしまうのです。

されに、作業用に入力したA列や1行目の数字も、表示したまま、
担当の先生にお渡しするというのは、いかがなものかと。

現場レベルでは、このままという訳にはいきませんので、先ほど作成したB3の数式を加工します。

=INDEX(受講生さん用!$B$5:$I$17,$A3,B$1)


を、
IF関数を使って、INDEX関数の結果が0ならば空白、
そうでなければINDEX関数という数式に変更させます。

=IF(INDEX(受講生さん用!$B$5:$I$17,$A3,B$1)=0,"",INDEX(受講生さん用!$B$5:$I$17,$A3,B$1))

これで、0(ゼロ)が消えました。

そして、A列と1行目ですが、これを削除するわけにはいきませんので、見えなくさせます。

文字の色を白にするのは、カッコ悪いので、表示形式を使っていきます。

該当のセルを範囲選択して、セルの書式設定ダイアログボックスを表示しましょう。

Ctrl + 1 のショートカットキーが便利ですね。

表示されましたら、表示形式タブの分類をユーザー定義にして、
種類を;;;(セミコロン×3)と入力してOKボタンをクリックしましょう。

これで、完成しました。

INDEX関数の動きにつきましては、次回ご紹介しようと思います。