Excel

Excelは関数よりマクロ(VBA)を使った方がいい【その理由を説明します】

悩み

「Excelの関数は使ったことがあるけどマクロって何だろう?」

「関数がわかっていれば十分なのでは?」

「マクロと関数って何が違うの?」

今回はこんな疑問にお答えします。

私は過去に4回の転職をしていますが、マクロができることにより、どの職場でも「Excelのスペシャリスト」として扱われてきました。

また、従業員1000人の企業で業務改善の社長賞(賞金30万円)をいただいたこともあります。

そこで今回は、「Excelは関数よりマクロ(VBA)を使った方がいい」理由を説明します。

マクロは一度習得すれば、どこでも使える能力です。今回の記事がマクロを学ぶきっかけになってくれたら幸いです。

関数とマクロの違いについて

マクロは外部からの情報入手やpdf等への出力が可能

関数はExcel内の情報に対してのみ、動作の指定ができます。

例えば

  • A1セルとA2セルを足す
  • A1セルの値が「1」だったらA2セルに「〇」を入力

などです。

これに対し、マクロを使用すると

  • Webページ(https://・・・)から情報を抜き出す
  • Excelの内容をpdfに出力する。

などの外部のシステムからの情報の入手や、出力等を行うことができます。また、フォルダを操作して他のExcelを開いたりもできます。

もちろん、セルの足し算等の関数と同じ動作もできます。

マクロは入力時の処理待ちが発生しない。

関数は常に計算を行いますので、SUMIFやVLOOKUPなどの値を参照する関数を複数(数万件)入力していた場合、1つのセルの値を変更しただけで再計算の処理が発生し、場合によってはExcelがフリーズしてしまします。(パソコンのスペックにもよります。)

マクロの場合は、こちらが指示(ボタンを押す等の動作)をした時のみ処理が行われるため、セル入力時の再計算処理は発生しません。(マクロを常に動作させておくことも可能です。)

これらが関数とマクロの違いです。

関数よりマクロをおすすめする理由

マクロは外部からの情報入手やpdf等への出力が可能

上の「関数とマクロの違いについて」でも説明しましたが、これは関数にはない機能です。この機能だけで仕事の幅が広がり、様々な業務に応用することができます。

例えば以下のような業務があります。

  • Excelで作成した見積書を先方に送るためpdfにしたい。
  • Web上で集計しているデータをExcelで管理したい。
  • 複数のExcelで管理しているデータを一つにまとめたい。

などです。

これらは関数ではできない業務です。

職場で重宝される

私は民間企業と公務員の両方で仕事をしたことがありますが、10人のうち2~3人は関数を使いこなせます。

それに対し、マクロは50人に1人いるかいないかです。マクロを使用できる人は少ないため職場で重宝されます。

複雑な処理を理解しやすい

例えば

=IF([条件A], IF([条件B], IF([条件C],・・・)

のように複数のIFを使用した場合、後から見返したときに、条件をひとつずつ解読しなければならず、解読に時間がかかります。IF以外の関数が入っているとさらに難解になります。
これに対し、マクロでは複数のIFを使う場合以下の書き方をします。

IF[条件A]then
IF[条件B]then
IF[条件C]then



(「then」は「ならば」と同じ意味です。)

関数は1行で入力をしないといけませんが、マクロは複数行で記入ができます。このため後から見返したときに、先ほどの関数ほど難しくありません。

以上の理由により、マクロの習得をおすすめしています。

最後に

冒頭でも紹介しましたが、私はこれまで4回の転職を行っています。

それぞれの職場にはそれぞれの働き方がありましたが、共通して取り組んでいたのが業務改善でした。特に人件費を削減するために、これまでの業務を効率化(自動化)する動きはどこの職場でも起こっています。

今回ご紹介したマクロを勉強することで、これから必要とされるであろう「業務改善能力」を身につけることができると私は思っています。

ぜひ、マクロを勉強してみてください。

なお、マクロの勉強法について、別記事でまとめる予定です。

-Excel

Copyright© WorkSnow(スノウブログ) , 2021 All Rights Reserved Powered by AFFINGER5.