エクセルマクロの挫折しない勉強法や仕事で使いこなすコツを徹底解説!
講師の寺澤さんはこれまでの20年間マクロを使って様々な業務を効率化させるなど、数多くの社内表彰を受けてきました。例えば、数十万行の元データから分析用データを毎週作成する作業。人の手だと1週間かけても終わらない作業ですが、マクロを使うと30分程で完成してしまいます。さらに自ら社内講座も主催、全くマクロを触ったことがない数百人を指導し、満足度98%と人気を博しています。近著『4時間のエクセル仕事は20秒で終わる』では、そのエッセンスを余すところなく紹介しています。
本連載では、エクセルマクロを仕事で使うための本当に必要な知識だけを、できるだけわかりやすく説明していきます。

初心者でもかんたん理解! Excelマクロの「Ifを使った条件分岐」入門Photo: Adobe Stock

マクロで使うIfとは

今回からは「If」を用いて条件によって作業を分岐させる方法を学びます。

構文は1つしかないですし、エクセルのIF関数の考え方と大きくは変わりません。抵抗なく学べるのではないかと思います。

マクロは基本的に上から順番に処理されていきます。条件によって処理を分ける必要があるときには「If」を用いて分岐をさせられます。マクロが実行されるイメージは次の通りです。

初心者でもかんたん理解! Excelマクロの「Ifを使った条件分岐」入門

処理Aが終わった後、条件分岐に差しかかります。

・条件を満たす場合(Yesの場合)は処理Bに移り、次に処理Cが実行されます
・条件を満たさない場合(Noの場合)は処理Dに移り、次に処理Cが実行されます

Ifを使う場面

マクロのIfは、誤ってマクロ起動ボタンを押した場合のエラー回避などに使われることが多いです。

今まで皆さんと一緒に作ってきたマクロは、ボタンを押すとすぐに動き出します。Ifとメッセージボックスを組み合わせると、起動ボタンを押したときに「このマクロを起動しますか?」と確認画面を出せます。そこで「はい」をクリックすると処理が進み「いいえ」をクリックすると処理が中断するようにできます。

初心者でもかんたん理解! Excelマクロの「Ifを使った条件分岐」入門

こうした動きを入れるとミスの発生を抑え、ユーザーに対して優しいマクロを作れます。

シート上での分岐処理の場合はIF関数を、マクロ自体の制御を行う場合はマクロのIfを使いましょう。

次回はIfの基本的な書き方、使い方を解説します。

(本稿は、寺澤伸洋著『4時間のエクセル仕事は20秒で終わる』を抜粋、再構成したものです)

寺澤伸洋(てらさわ・のぶひろ)

初心者でもかんたん理解! Excelマクロの「Ifを使った条件分岐」入門

1976年、大阪府生まれ。灘高校、東京大学経済学部卒業後、日系メーカーで17年間勤務。経理や営業、マーケティング、経営企画などに携わり、独学で覚えたエクセルマクロを用いて様々な分析や業務改革を行う。2017年、GAFAの日本法人のうちの1社へシニアマネージャー(部長)として転職。これまでエクセルマクロを用いた業務改善などで数多くの社内表彰を受けている。手作業では不可能なほど大量のデータを、短時間で分析しやすく加工したことが評価され、社内エクセルマクロ講習会の講師として延べ200人以上に講座を実施。エクセルマクロについて1から10まで教える詰め込み型の学習ではなく、仕事に必要な部分だけを効率的に学べる講座として満足度98%の高い評価を受けている。