先日実施しました「全国統一マクロ検定」(初級、準初級)の結果を発表します。
受験いただきました皆さんには、お忙しい中でのご参加と、そのチャレンジ精神に、深い感謝と大いなる敬意を表したく思います。ご参加、誠にありがとうございました!
解答提出者の皆様には、個別の合否に付きましては既に結果をお知らせ致しました所ですが、ここでは、全体的な以下の総評を述べさせていただきたい思います。
・出題の狙いとポイント
・合格率
・不合格者に見られた主なミス
■出題の狙いとポイント
まず、今回の検定課題では、
来る2020年から、小学校でもプログラミング教育が全国で義務化が開始するということで、学校の「クラス成績表」の管理に関するマクロ作成の問題を出しました。
当メルマガ読者の皆さんの中には学校の先生も結構多いと聞いていますし、忙しい先生方のExcel事務の作業効率化の為にマクロが貢献して、先生方の少しでも多くの貴重な時間を生徒さんの為に使ってもらえるよう、願ってやみません!
なお、成績表のデータ言いますのは、要は数字の並ぶ表ですから、これは学校の先生に限らず、数字を扱う色々な職種全般に於いても、大いに役立つだろうマクロ作りの基本問題となっています。
今回のデータ(処理イメージ)は、こんな感じです。
サンプルデータの図
■出題のポイント
それで、今回出題のポイントとしましては、「各科目の30点以下を赤で」&「合計90点未満は落第」この条件における分岐処理の使い分けが正しく出来ているか否か、という点と、あとは、2回目以降のマクロ実行時に、先立つ「初期化」(前回結果のクリアー)がきちんと漏れなく出来ているか否か、という2点です。
■合格率
それで、検定の結果ですが、
今回も、まるっきり一切の手加減なしで厳しく、厳密に合否の判定をさせてもらいました。(プロは妙に嗅覚が働きますので、一目でバグ見抜くいうのが得意です。笑)
想定合格率は、今回も6割に設定したレベルの問題作りをしましたが、特に今回、初級(60分以内の制限時間あり)のほうは合格率が高く、その逆に、準初級(制限時間なし)のほうがやや低い、という以下の結果となりました。
「初級」合格率・・・・64.7%
「準初級」合格率・・・41.1%
合格した皆さん、おめでとうございます!
「初級」合格者の皆さんには既に「合格証書」をお送り致しました。(合格2度目以上の人と準初級は除きます。)
それで、この今回の結果なんですが、
特に時間制限のない「準初級」よりも、時間制限の厳しい「初級」試験のほうが、遥かに合格率高かったという結果には、私もちょっと、これは意外に感じましたわけですが、よくよくこの要因は何か?を考えてみますと、私が思うに要するにこの差は、「緊張感?!」
人間って、どうしても 例えば、いつまででもいいからと言って頼まれた仕事って、本当、いつまで経っても出来ません!ことって多いわけですし(笑)、その手の、特に期限のない(≒どうでもいい)仕事って、身も入り難い思うわけです。
これはプログラマーの場合でも、私よくこう言うのですが、「プロとアマチュアの違いって何か?」と問われたら、それはまず第一に、厳しい納期がある中で作れる人か、そうではない人か、その違いです。
システム開発というのは決まって納期が厳しいですから、職業プログラマーいうのは常に時間に追われています。時間的に余裕があるプログラム開発の仕事なんか、この私でも何十年とやって来た中で、ただの一度も記憶にないです。
一方、皆さん同じと思いますが、アマチュアの方がマクロ作る際に、納期や期限いうのは殆どない思います。
例えば、部長さんから「このデータをこうこうこういう処理するマクロを必ず明日の朝までにちゃんと動くよう作っておいてくれ。」だなんて、本職でもないあなたが上司からそんな無茶を言われる事なんて(よほどのパワハラ上司でもない限りは・・)まずありませんですよね。(笑)
もう、マクロが十分に作れるレベルに達しているベテラン読者の皆さんであれば、会社の同僚が使うマクロの作成を誰かに頼まれた時に、「なるべく早めに作っれくれると嬉しい・・・。」と、そう言われたことは多々あるかも知れませんけど(笑)、
そこまで厳しく「いついつまでに必ず!」と、納期の厳守を厳しく言われてプログラム作る、という場面はまずアマチュアの人は経験ないと思います。
まぁ、自分や同僚の作業効率化の為に自主的に作るマクロのその殆どが、いづれ、いつか、そのうちに、重要度その程度にしか扱われていない場合が多いですから。(けれど、実際はマクロが作業時間に与える影響度は実に絶大(重要度大)だったりすると思います。。)
すると、
人間どうしても忙しい時には、後回しに出来る仕事も、資格の取得も、それでは中々手つかずになってやらずじまいになってしまう場合が多い思います。
いついつまでに絶対終わらせなきゃならない仕事や今年中にこの資格は必ず取るぞ!だったりの資格と、「いつでもいいやー」の扱いのそれとは、全く違うわけです。
マクロの勉強の場合でも、いつか、そのうち暇になったら始めよう・・・、そう考える人は多いですが、そうした人はいつまで経っても暇になんかならないわけですから(笑)、結局、やらずに終わりますね。
我々ビジネスマン、ビジネスウーマンいうのは、常に自分の仕事に追われていて、常に時間に余裕がない思って生きてはいますけど、
それは、是が非でも結果を出さねばならない場面においては返って良い事でありまして、逆に、余裕があり過ぎると仕事の成果も、試験の合格率も下がる、
それが今回の検定にも如実に現れた当然の結果なんだろう思った次第です。
でもし、今後またこのような検定を行う機会がありました場合には、時間制限なしの準級に関しては、大いに見直す必要ありだと、今回の結果を鑑みてそう強く感じました次第です。 (→※以後、準級は廃止にします。)
■不合格者に見られた主なミス
今回、惜しくも不合格となった皆さんは誠に残念ではありましたが、(下記のような大変惜しいなぁ~思える人が多く居られました。)
不合格理由で多く見られた主なミスは、以下です。
・30点以下(≦ 30)と90点未満(< 90)のIF文条件式の間違い。(並びに、「条件付き書式」を使って解いた人は設定時のこれらの設定ミスが見受けられた。)
・2回目以降の実行時に正しく初期化がなされていない。(前回データでの色や表示の全てがクリアーされないで一部残ってしまう。)
・処理対象のシート名が固定化されている。(問題文では、シート名は可変(マクロの実行時に開いてるシートに対して処理をする)と明記されている。)
特に、今回は問題文の最後にあえて「この条件を満たす限りは何を使っても構いません。」との記載を入れましたので、ループやIF文は使わずに「条件付き書式」使ってやった人が多く居ましたので、マクロの記録で「条件付き書式」を記録するわけですが、
「条件付き書式」はまさしくユーザーからの見えない化を招きますので、見え難い潜在バグも多くなります。例えばですが、クラス人数が2回目減った場合にA~E列のデータ削除時でもG列に「落第」と出てしまう、とかです。
他にも、とにかく「条件付き書式」いうのは、対象のセルをクリックしてから、[ホーム]タブの[条件付き書式]→[ルールの管理]→[条件付き書式ルールの管理]画面→[ルールの編集]→[書式ルールの変更]画面で、・・・
至って確認し辛い設定(見え難いわ!笑)ですから、当然バグも抱え易くなりますので、見え難い関数や設定の類はなるべくならループとIF文の基本処理を使った見え易い処理を心がける事を、私はお勧めします。
その辺は、
下記の動画の後半部分(関数は見えないから・・・)でも解説していますので、興味ある方は参考に こちらのYouTube動画 も合せて見てください。
今回の検定結果は、以上です。