「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を使用した場合、後から見返したときに、条件をひとつずつ解読しなければならず、解読に時間がかかります。IF以外の関数が入っているとさらに難解になります。
これに対し、マクロでは複数のIFを使う場合以下の書き方をします。
IF[条件B]then
IF[条件C]then
・
・
・
(「then」は「ならば」と同じ意味です。)
関数は1行で入力をしないといけませんが、マクロは複数行で記入ができます。このため後から見返したときに、先ほどの関数ほど難しくありません。
以上の理由により、マクロの習得をおすすめしています。
最後に
冒頭でも紹介しましたが、私はこれまで4回の転職を行っています。
それぞれの職場にはそれぞれの働き方がありましたが、共通して取り組んでいたのが業務改善でした。特に人件費を削減するために、これまでの業務を効率化(自動化)する動きはどこの職場でも起こっています。
今回ご紹介したマクロを勉強することで、これから必要とされるであろう「業務改善能力」を身につけることができると私は思っています。
ぜひ、マクロを勉強してみてください。
なお、マクロの勉強法について、別記事でまとめる予定です。