この記事で解決できる3つの疑問

VBAって難しそうだけど、条件分岐もできるの?
初心者でもわかるように教えてほしい!
結論:IF関数に限界を感じたら、VBAという選択肢を知っておこう
Excel関数だけでは表現しきれない複雑な処理も、VBAならシンプルなコードで実現できます。
「複数条件を一度にチェックしたい」「条件によって表示や動作を変えたい」そんなとき、VBAの If ~ Then ~ Else
文は非常に強力です。
ExcelのIF関数、どこまで使える?



「IF関数で“売上が100を超えたら〇〇、それ以下なら××”みたいな条件、使ってるけど…3つ以上の条件になるとカオスなんだよね…」
実際に以下のようなIF関数を組んだことがある方も多いのではないでしょうか?
=IF(A2>100, "優良", IF(A2>70, "普通", IF(A2>50, "注意", "危険")))
このように条件が3つ以上になると、ネスト(入れ子)が深くなって読みづらくなります。
一見動くものの、「修正が大変」「追加条件の挿入に弱い」などの悩みが生まれがちです。
これが、VBAへステップアップする1つのきっかけになります。
VBAでも「If」が使えるって本当?



「A子さん、実はExcelの中には、もっと自由に条件分岐が書ける“プログラム空間”がある。それがVBAなんだ。」
VBA(Visual Basic for Applications)では、Excelの関数と似た形で If ~ Then
を使って処理を記述できます。
しかも、1つの条件に対して複数のアクションをまとめて行えるのが魅力です。
VBAの「If文」基本構文を見てみよう
Dim 点数 As Integer 点数 = 80 If 点数 >= 60 Then MsgBox "合格です!" Else MsgBox "残念、不合格です。" End If
ポイント:
If 条件 Then
のあとに、条件が真(True)のときの処理を書きます。Else
を使えば、条件が偽(False)の場合の処理も可能です。ElseIf
を使うことで複数条件もスマートに記述可能。
4. Excel関数では難しい処理も、VBAなら簡単!
たとえば以下のようなことは、関数では実現が難しいですがVBAでは可能です。
やりたいこと | 関数 | VBA |
---|---|---|
条件でセルの色を変える | ✕ | ○ |
条件に応じて複数セルを一括処理 | △ | ○ |
条件によりファイル出力やメッセージ表示 | ✕ | ○ |



「えっ、色も変えられるの?しかも条件によってメッセージまで…これはすごいかも!」
Excel関数とVBAの使い分け方とは?
シーン | 向いている方法 |
---|---|
単純な条件分岐(1~2条件) | IF関数 |
条件に応じて複数の処理を行いたい | VBA |
条件で色やセル操作を変えたい | VBA |
他のシートやファイルもまたいで処理したい | VBA |



「最初は関数で十分。でも“あれ?できない?”と思ったら、VBAを思い出してほしい。」
6. よくある初心者のつまずきポイント
- 「If」のあとに
Then
を忘れてエラー - 複数条件で
And
やOr
の使い方に迷う ElseIf
やEnd If
の書き忘れ



「よく“End If がない”って怒られるんだけど、書き方ってすぐ覚えられる?」



「大丈夫、構文はいつも同じ形。テンプレを覚えて使い回すのがコツだよ。」
7. まとめ:IF関数の次は、VBAで一歩踏み出そう!
IF関数はExcelの条件分岐の入り口にすぎません。
複雑な処理や柔軟な動作を実現したいなら、VBAの If文
を使ってみる価値は十分にあります。



「なんか、VBAってやってみたくなってきたかも!」
関連記事リンク(H2見出し)
- 【初心者向け】VBAのIf文の使い方と注意点をわかりやすく解説
- 【初心者向け】VBAで型を指定しないとどうなる?落とし穴とその回避方法を解説
- 【初心者向け】変数とは?Dimによる宣言方法をやさしく解説
コメント