本来のIF文は1つにつき1つの条件を指定します。
ですが、時には処理分岐の内容は同じでも、条件が複数ほしいときがあります。
そんなときには論理演算子である『AND』や『OR』といったモノを用いると、同時に複数の条件で判定することが可能になります。
それに加えて、『NOT演算子』といった「〇〇だった場合にはFalse」といった本来の逆の判定を行えるモノもあります。
なので、本記事では「AND」「OR」「NOT」の3つの論理演算子を解説しますので、ぜひ覚えていってください。
ちなみにIF文の理解がイマイチなら『IF文の使い方』に目を通してみてください。
IF文と論理演算子を組み合わせた記述方法
ここではIF文と「AND演算子」「OR演算子」「NOT演算子」とを組み合わせた条件式の書き方について解説していきます。
『IF+AND演算子』の書式
IF文の条件式に『AND演算子』を用いると上のように条件を複数設けることができます。
そして、『AND演算子』は指定した条件の全て満たすことができれば「True」となります。
例えば、下のコードでAND演算子を使って複数の条件を設けています。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub sample1() Dim i As Integer For i = 1 To 5 If i > 3 And i < 5 Then Debug.Print "〇条件を満たすのは変数iが「" & i & "」の時です。" Else Debug.Print "×変数iの値が「" & i & "」なので条件は満たしていません。" End If Next i End Sub |
上のコードでは6行目のIF文で「i > 3」と「i < 5」の2つの条件を設定しています。
この2つの条件を満たすのは変数iが”4”ということになります。
ちなみに、上のコードを実行すると下のような結果になります。
『IF+OR演算子』の書式
IF文の条件式に『OR演算子』を用いると上のように複数の条件を設けることができます。
そして、上で紹介した『AND演算子』とは違って、『OR演算子』は指定した条件のどれか1つでも満たすことができれば「True」となります。
例えば、下のコードでOR演算子を使って複数の条件を設けています。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub sample2() Dim i As Integer For i = 1 To 5 If i = 2 Or i = 4 Then Debug.Print "〇条件を満たすのは変数iが「" & i & "」の時です。" Else Debug.Print "×変数iの値が「" & i & "」なので条件は満たしていません。" End If Next i End Sub |
上のコードでは6行目のIF文で「i = 2」と「i = 4」の2つの条件を設定しています。
この2つの条件を満たすのは変数iが”2”と”4″の時ということになります。
ちなみに、上のコードを実行すると下のような結果になります。
『IF+Not』の書式
IF文の条件式に『NOT演算子』を用いると、条件を満たした場合は”False”となります。
つまり、本来のIF文とは逆の判定になるということです。
例えば、下のコードでNOT演算子を使っています。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub sample3() Dim i As Integer For i = 1 To 5 If Not i = 2 Then Debug.Print "〇True:今の変数iは「" & i & "」です。" Else Debug.Print "×False:今の変数iは「" & i & "」です。" End If Next i End Sub |
上のコードでは6行目のIF文で「i = 2」を条件に設定しています。
この場合、Trueになるのは変数iが”1,3,4,5”になるとき、Falseになるのが変数iが”2”の時になります。
ちなみに、上のコードを実行すると下のような結果になります。
1位 | 2位 | 3位 |
---|---|---|
Excel VBA 脱初心者のための集中講座 | パーフェクトExcel VBA | ExcelVBA 実戦のための技術 |
初心者~中級者 | 中級者 | 初心者~中級者 |
【初心者が手に取るべき参考書】 ・「書籍+動画」で圧倒的に理解しやすい入門書になっている。 ・丁寧で詳しい解説でボリューム感がある。 | 【より深い理解をしたい方にお勧めな参考書】 ・テーマに対して丁寧な解説・適度な深さで解説されている。 ・幅広くテーマを扱っていることから、基礎知識をあらかた網羅できる。 | 【入門書と一緒に買うべき参考書】 ・1つ1つのテーマを経験豊富なエンジニア視点で解説してくれている。 ・実践的で効果的なコードの書き方が理解できる。 |
【読んでみた一言】 正直、入門書はコレ一冊でいいかも。あとは中級者用の参考書に進むべし。 | 【読んでみた一言】 深く書かれているが、少々専門的に書かれていることから、読む前に数冊の入門書を読破したほうが良い。 | 【読んでみた一言】 基礎知識を持っている人が次のレベルに達するきっかけを与えてくれる参考書である。 |
スポンサーリンク