IF文 Excel VBAでプログラミング

  • LINEで送る

続編を書く気満々で挑むプログラミングブログ、こんな基礎的なことは紹介され尽くされてる気もしつつやっぱり基本は大事ということで書かせていただきます。

とかよくわからない言い訳じみた書き始めになってしまいましたが、たぶん経験は長いので何かしら書くことはあるんだろうなと思ったりしてます。

今回は僭越ながら、VBAに限らずプログラミングの基本的な構文でむしろないと困る感じの重要な「IF文」について説明させていただきます。

IF-THENとかいうと聞いたことがある自己啓発マニアな方もいらっしゃるのではないでしょうか、そのIF文でTHENもELSEも後ほど登場します。

IF文とは

プログラミングの世界では、コンピュータが理解できる「言語」のことを、コンピュータに命令するという意味で「命令」と言ったりします。

「IF」は「もしも」という意味そのままで「もし〇〇が✕✕だったら△△する」という、コンピュータが物事を考えるうえで基本になる「命令」のことを言います。

書き方としては、下記のようになります。

IF JAPANSCORE > HONDURASSCORE THEN SEISEKI = "日本の勝ち"

この構文の意味ですが、太字のところを説明しますと、

IF JAPANSCORE > HONDURASSCORE THEN SEISEKI = "日本の勝ち"

もし日本の点数(JAPANSCORE)がホンジュラスの点数(HONDURASSCORE)より大きい場合

IF JAPANSCORE > HONDURASSCORE THEN SEISEKI = "日本の勝ち"

成績(SEISEKI)を「日本の勝ち」とします。

という意味になっていて、たまたまサッカーU-24日本代表対ホンジュラス代表の試合を見ながら記事を書いているので、そのようなプログラムを作ってみました。。

「〇〇より大きい」という構文は「>(大なり)」で表されています。

これを「<(小なり)」にすると、日本の点数がホンジュラスの点数より小さい場合、「日本の勝ち」となるという点数の概念だけ逆の意味の構文になったりします。

ELSE文もあるよ

ELSEは直訳すると「他の」とかいう意味になると思いますが、上記のIF THENと組み合わせて使うようになります、とても便利です。

IF JSCORE > HSCORE THEN SEISEKI = "日本の勝ち"
ELSE IF JSCORE < HSCORE THEN SEISEKI = "ホンジュラスの勝ち"
ELSE SEISEKI = "引き分け"

この構文の意味は、

IF JSCORE > HSCORE THEN SEISEKI = "日本の勝ち"
ELSE IF JSCORE < HSCORE THEN SEISEKI = "ホンジュラスの勝ち"
ELSE SEISEKI = "引き分け"

もし日本の得点(JSCORE)がホンジュラスの得点(HSCORE)より「大きい」場合、成績(SEISEKI)を「日本の勝ち」とする。

IF JSCORE > HSCORE THEN SEISEKI = "日本の勝ち"
ELSE IF JSCORE < HSCORE THEN SEISEKI = "ホンジュラスの勝ち"
ELSE SEISEKI = "引き分け"

その他の場合で、もし日本の得点(JSCORE)がホンジュラスの得点(HSCORE)より「小さい」場合、成績(SEISEKI)を「ホンジュラスの勝ち」とする。

また、この「ELSE IF」は、あんな場合、こんな場合と何回も繰り返して使えたりします。

「IF」は最初に1回だけ、「ELSE」は最後に1回だけとなりますが、なんとなくイメージはつかめそうでしょうか。

IF JSCORE > HSCORE THEN SEISEKI = "日本の勝ち"
ELSE IF JSCORE < HSCORE THEN SEISEKI = "ホンジュラスの勝ち"
ELSE SEISEKI = "引き分け"

その他の場合、成績(SEISEKI)を「引き分け」とする。

ELSEだけじゃなく「ELSE IF」も一気に書いてしまいましたが、その他の場合で、ある条件に当てはまる場合という命令を書きたい場合に使います。

一気に複雑になった感はありますが、上記でご理解いただけそうでしょうか、もしかしたら今後一番使う構文の可能性も秘めた重要な構文なので、覚えるのはMUST課題です。

考え方も「IF-THEN」にできる

もし〇〇だったらなんとかみたいなIF文は部屋が散らかったり捨てたいものが捨てられなかったり、私生活にも色々多岐にわたって応用することができます。

たとえばスポーツジムで「もし体重が〇〇㎏をオーバーしてたらAメニュー、それ以下だったらBメニュー」みたいにルールを決めておくと続きやすいんだとか。

企業とか国の戦略とかもIF-THENだったりゲーム理論なんていう考え方もありますね、そういう感情を抜きにして物事を考えたいときにプログラミングの考え方が役に立ったりします。

ただし人間的な良い部分が省かれがちだったりもするので、人間関係での悪用とか乱用はないとおもうけど、間違えて使ってしまうとかは気を付けないといけないと思います。

まとめ

この「IF-THEN-ELSE」のシンプルな流れだけ知っておくと、とりあえずそれっぽいプログラムを作ることができたりします。

もしセルA1の値が「1」だったらセルA2に「2」と入力する的なプログラムを作れて、もっと複雑なものももちろん作れます。

プログラムってこの基本的な構文を覚えておくと、それだけで組んでしまえたりするので、ひとつずつでいいので覚えていってほしいなと思います。

あと繰り返しを覚えれば、単純なプログラムであれば作れないものはなくなるんじゃなかろーか、ぐらいに思うシンプルなプログラミングの世界、誰でもできるけど奥は深い世界ですので、気をつけろっ。

  • LINEで送る

コメントを残す

*

%d人のブロガーが「いいね」をつけました。