2017年1月19日木曜日

[Excel]VLOOKUPでちょっとした自動化・効率化

Excel地獄の大学

大学の事務処理にはとにかくExcelが付き物です。Excelファイルがメール添付で送られてきて「これに入力して提出してください」・・・これがよくあるパターンではないでしょうか?

何でもかんでもExcelで書類を作らなければならない環境のことを「Excel地獄」と言います。ここでは、JASSO留学支援奨学金のネ申エクセル問題についてに書いたような仕事が発生します。

地獄にあっても、仕事は仕事。好むと好まざるに関わらず、送付されたExcelファイルを使って作業しなければなりません。そんな時に役に立ちそうなのが、VLOOKUPという関数です。

VLOOKUP関数とは

VLOOKUP関数は、 ある表からデータを検索して引っ張ってきてくれる関数 、のことです。
= VLOOKUP (検索する値, 値を検索する範囲, 戻り値を含む範囲の列の番号, 完全一致か近似一致か - 0/FALSE か 1/TRUE で指定)
SUMのような単純な関数に比べると、ちょっと長いです。が、一度使い方を覚えると、非常に便利です。

VLOOKUP関数の使い方はいろいろな所で解説されているので、覚えましょう。



どんな時に使えるか

上にリンクを貼った解説は、企業で使うことを想定されているので、例が請求書とか在庫一覧とかです。

では、大学業務ではどういったことに使えるのでしょうか。例を2つ見ましょう。

例その1:あるテンプレートで、氏名、所属等が入った書類を大量に作る時

あるエクセル申請書に、学生(あるいは教職員)数十名ぶんの氏名や所属を記載した書類を作らなければいけないとき。

もしWordであれば差し込み印刷機能を使えば簡単にできます(参照:[Word]差し込み印刷機能で修了証を作ろう)しかし、Excelではこれができません。

Excelでは差し込み印刷機能の代わりに、VLOOKUPを使えばできます。
  1. 申請書類とは別のシートに氏名・所属のリストを作ります。この時に、一番左の列に、1番から連番で番号をふります。
  2. 申請書類シートの印刷範囲以外のセルに半角で「1」を入力します。
  3. 申請書類シートの氏名・所属を流し込むセルにVLOOKUPの式を入れます。この時に、「検索する値」としては「2」で数字を入れたセルを指定します。式の例はこんな感じになります。
  4. =VLOOKUP(AN1,氏名リスト!$A$2:$D$100,3)
  5. 「2」で入力した数字を2,3,4,5と入れていくと、氏名・所属が「1」で作成したリストの順に変わっていくはずです。
スクリーンショットがなくてすみません。時間ができたら、スクリーンショットつきで詳しく解説します。

例その2:日本語表記を英語表記に置き換えたい時

例えば、交換留学生のリストがあったとします。これは例ですが、実際は大量にデータがあるとします。
氏名 所属大学名
John Lemon マサチューセッツ観光大学
Maria Yulievna ロシア国立研究大学
Azat Kashimov チュイ州立大学
この日本語表記を英語表記に一括で置き換えたい時、どうしますか?
もし大学名の日本語・英語表記対照リストがあれば、VLOOKUPを使って簡単に置き換えられます。
  1. 別のシートに大学名の日本語・英語表記対照リストを貼り付ける。この時、日本語大学名を一番左の列に入れる。
  2. 一番右の列に、VLOOKUPの式を入れる。この時、「検索する値」には左の列(所属大学名)を指定する。式はこんな感じになるはず。
  3. =VLOOKUP(B2,大学名リスト!$A$2:$D$100,2)
  4. VLOOKUPの式を一番下までドラッグしてコピーする。すると、英語表記が一番右の列に自動入力されるはず。
  5. 日本語の所属大学名の列を消せば完了。

まとめ

VLOOKUPの便利さを分かっていただけたでしょうか。

例1では数字をキーにしてリストを検索しましたが、例2では文字をキーにしてリストをしました。数字でも文字でもどちらでもいいのですが、とにかく「固有の情報」と「リスト」があれば、いちいち手作業しなくても自動で情報入力ができるのです。

使用機会はそれほど多くないと思いますが「こういう関数がある」と覚えておけば、いざという時に2、3時間ぶんを一気に短縮できると思います。


EmoticonEmoticon