第5講 IF文に挑戦しよう。
  
第2話 IF文続き

IF文には次の形もあります。

If P Then A Else B

Elseは「でないなら」という意味ですから、
この文は、「もしPが正しいならAを正しくないならBを実行しなさい」
という意味になります。
このIF文を使うと、
If Cells(7, 8) >= 50 Then Cells(7, 9) = "合格"
If Cells(7, 8) < 50 Then Cells(7, 9) = "不合格"

If Cells(7, 8) >= 50 Then Cells(7, 9) = "合格" Else Cells(7, 9) = "不合格"
の1文で書けるようになります。
では、みなさん前回の解答をIf P Then A Else Bの形に書き換えてみましょう。

また、
If Cells(7, 8) >= 50 Then Cells(7, 9) = "合格"
は、
If Cells(7, 8) >= 50 Then
    Cells(7, 9) = "合格"
End If
と書くこともできます。
2行以上に渡るときは、End Ifが必要になります。
このように書くメリットは、
実行させたい命令を2個以上書くことができることです。
例えば、
If Cells(7, 8) >= 50 Then
    Cells(7, 9) = "合格"
    Cells(8, 10) = "よく頑張りました"
End If
とすれば、平均点が50点以上ならI7の欄に「合格」、J7の欄に「よく頑張ったね」と入力されます。
また、
If Cells(7, 8) >= 50 Then
    Cells(7, 9) = "合格"
    Cells(8, 10) = "よく頑張りました"
Else
    Cells(7, 9) = "不合格"
    Cells(8, 10) = "後一歩のがんばりが必要です。"
End If
とすれば、
平均点が50点以上なら、I7の欄に「合格」J7の欄に「よく頑張ったね」
平均点が50点未満なら、I7の欄に「不合格」J7の欄に「後一歩のがんばりが必要です。」
と記入されます。

プログラムの記述は、
If Cells(7, 8) >= 50 Then
Cells(7, 9) = "合格"
Cells(8, 10) = "よく頑張りました"
Else
Cells(7, 9) = "不合格"
Cells(8, 10) = "後一歩のがんばりが必要です。"
End If
End If
としてもまったく変わりませんが、
必ず字下げをして上のように書いてください。
上のように書いた方が、プログラムを読むとき分かりやすいからです。
For文でもIF文でも意味のまとまりごとに段組をする習慣をつけましょう。



第1話へ 第3話へ

講義トップへ

数学研究室に戻る