misc.log

日常茶飯事とお仕事と

ITエンジニア向けExcelの研修用教本をどれにするか

新人向けにExcelExcel VBAを使って「変数」やら「関数」やらについて教えようと画策中なのですが、その中で候補として挙がってきた本があるので、それについてメモを残しておきます。自分用メモです。ちなみに見ているのは2016年の第1版です。


できるビジネスパーソンのためのExcel関数&マクロの仕事術 (Excel for BIZ)

これです。一見した感じ、スプレッドシート上での数値の簡易入力方法やちょっとしたTipsも織り交ぜながら、わかりやすく説明されているようです。以下は、あくまで「文系の大学を出た新卒新人が読んだ場合」を想定した指摘や対応案です。

面白い点

  • 50ページ: 日付と時刻についての話の中で、シリアル値による年月日時刻表現を小数部分まで含めてきちんと説明しているのはいいですね。
  • 53ページ: 同じく日付と時刻の話のコラムで、国による表現の違いについて触れているのも面白いです。
  • 70ページ: 期間に関する計算で、DATEDIF関数のバグについても言及しているのは興味深いです。ただ、市販品にバグがあるという点について新人が疑問を持つようであればフォローは必要かもしれません。
  • 77ページ: 関数を使わずにデータの個数を数えるという話で、ステータスバーの表示内容などについても説明しているのはいいですね。
  • 164ページ: マクロとVBAの説明で、二つを混同せずにきちんと説明されているのが好印象です。マクロ自体の説明は少し乏しいですが、マクロを定義するプログラミング言語としてVBAが用意されているというのはわかりやすい説明です*1。また、この説明を裏付けるように、いきなり「マクロの記録」から入るのではなくVBEを使ったメッセージボックス表示マクロを作るところから入っているのも好印象です。
  • 181ページ: 09章 変数とオブジェクト、変数や代入式などの説明はおそらくわかりやすい部類だと思います。配列なども「なぜそんなものが必要なのか」という説明があり、ざっくり言うと「有った方が楽なので」という説明になっていて昨年、私が新人に説明したのとほぼほぼ同じ流れになっていたため好感が持てます。もちろん「有った方がいい」という説明だけでは駄目で、そこから実際に配列を使った簡単なサンプルを一緒に作って体験するという場を設けましたが。

優先度を下げても良さそうな箇所

  • 109ページ: 06章 入力補助や自動色付けがある表の作成 …… 実務で使う内容なのでいずれはやっておくべきですが、教育の目的をVBAの習得と捉えた場合、優先度は下げても良いと思います。内容も後半に行くほどそこそこ複雑になるので、言われたとおりにやったからといって頭に入るかどうかという点が少々疑問(あふれるのではないかと)。
  • 139ページ: 07章 テーブルと構造化参照 …… こちらも同様の理由で。知っておいて損はありませんが、教育の冒頭というよりは応用編として扱っても良さそうです。
  • 251ページ: 12章 ファイル操作 …… まぁ末尾の章ですしここまで来られたらやってもいいですが、どのみちメインの教育対象言語(C#とか)でやるのなら飛ばしても問題無いと思います。

気づいた点

いずれも、自社の新人向け教育に使ったら、という前提です。ある程度仕事の経験があったり、工学部などの理系学部卒業者が見る場合はまた違ってくると思いますので注意してください。

  • 15ページ: マクロやらVBAということばが唐突に出てきます。全くの新人を対象にした4月からの教材とすると、事前にある程度の説明をしておくか、逆に「判らない単語が出てきたら積極的にスキップする」という指示を徹底させるなどの対応が必要かもしれません。もちろんその場で説明しても構いませんが。
  • 20ページ: 冒頭部分で「ショートカット」を「シートカット」と誤記。まぁ判りますが、本当の新人はこのような間違いもきちんと考えて悩みますので適宜サポートする必要あり。
  • 24ページ: 文字列操作の基本として、文字と数値の違い、扱いの違いを説明しています。ただ、プログラムやデータ型といった概念に全く触れていない新人の場合、いきなり用語や考え方の違いで遅れを取る可能性があるので、適宜フォローが必要かと。
  • 44ページ: その他の便利な文字列関数という話の中で文字コードという言葉が出てきます。これも補足が必要であると思います。
  • 45ページ: 改行文字を入力するというところですが、もしかしたら「改行文字」という考え方自体、全く理解できない可能性があります。コンピューターでの情報操作上の都合で「改行」という状況に「制御記号」を割り当てたものが改行文字なので、そのあたりの概念は適宜補足しないといけないかもしれません。
  • 全体: 論理式などの使い方、AND、ORといった論理演算の基礎については補足が必要かもしれません。
  • 85ページ: オートフィルターが突然登場します。このシリーズの別の本から通しで読めば説明があるのかもしれませんが、この本だけを読むと初登場になると思うので適宜フォローが必要です。
  • 88ページ: ついにvlookupが登場します。しっかりとページを割いて説明されているので大丈夫かと思いますが、このあたりが不要という考えであれば除外してもいいかもしれません。
  • 104ページ: データ型に絡む問題の解決というセクションで、セルにシングルクォートを入れた場合に文字扱いされるという件がサラっと出てきます。このあたり、見逃さずにルールを学んで欲しいので補足した方が良さそうです。
  • 203ページ: VBAにおける引数と戻り値の説明で、その前のオブジェクトに関する説明でチラっと出てきたメソッドという言葉が頻発するようになります。メソッド、関数、引数、戻り値などの言葉の相関や意味について、おそらく少しフォローした方が良いように思います。

VBA学習の位置づけについて

今担当している教育では、基本、プログラミングの中核はC#を使った講義および実習で学ぶことにしています。当初、プログラミングに関する講義は5月からで、実習も5月中旬くらいから入ってくる予定だったのですが、やはり4月の期間で手を動かす経験をしておかないと「眠くなるだろうなぁ」ということもあり、そこでVBAを入れようと考えています。実際、昨年の研修ではそれでExcelの関数やVBAを使って「そもそも関数って何」「変数って何?」というあたりを教えました。その方がC#の学習のとっかかりで「文法も判らなければ概念も難しい=ダメだ!」というリスクは低減できるかと考えての措置です。
実際、Excelはセル内で関数を普通に使え、また、その結果が直ぐに見えるので「関数というものの振る舞い」については理解しやすいように思います。

あとは「マクロ」と「VBA」の違いを講師がきちんと説明できるかとか、そのあたりの先輩側の教育ですね。案外このあたり、まともに質問すると答えられない人が多いので。

まとめ

総じて良い本だと思います。上にいろいろ書きましたが、ある程度プログラミングの概念や仕掛けが判っている人であれば、本を渡して「勉強しておいて」でもなんとかなるのではないかと。また、Excel等の入門者、たとえば入社数年くらいの事務方の人が少しプログラミングにも手を出したいなんて場合もそのまま使えるのでは無いでしょうか。
とりあえず今度の4月からはコレを使うということでいいと思います。

できるビジネスパーソンのためのExcel関数&マクロの仕事術 (Excel for BIZ)

できるビジネスパーソンのためのExcel関数&マクロの仕事術 (Excel for BIZ)

*1:マクロ/macro: Dictionary.com : "Also called macro-instruction. An instruction that represents a sequence of instructions in abbreviated form. 複数命令の連なりに略称などをつけたもの。C言語における「マクロ」がこの定義そのまんまですね。