エクセルで扱える関数は多数ありますが、これだけは押さえておきたい!というものがあります。
そのひとつがif関数です。
if関数を使いこなすことで、エクセルでできることが格段にレベルアップするはずです。
本記事では「エクセルでif関数を扱うために重要な論理式の考え方」を解説します。
分岐先の値の組み方については別記事「エクセルでif関数を使う方法!分岐先の値の組み方5選を解説」にて詳しく解説していますので、ぜひそちらもご参照ください。
1.if関数の構文
こんにちは。エクセルマン・ブリーダーのしもむぎ(@re_znd13)です。
まずはif関数の構文から見ていきましょう。
=if(論理式,論理式が真の場合の値,論理式が偽の場合の値)
論理式と2つの値という、3つの要素があることがわかりますね。
if関数は2つの状態を示すのですが、そのどちらを示すかを判断する基準が「論理式」なのです。
if関数を使いこなすには、論理式の作り方、考え方がとても重要です。
次章以降で、この論理式にフォーカスを当てて見ていきます。
2.いろいろな論理式
2.1 数字の大小比較
if関数のオーソドックスな使い方として、ひとつ例を用意してみました。
A列に1~10の値を入力してあります。
B列にif関数で式を組んでいて、隣のA列のセルの値が5以下の場合に”小”、それ以外の場合に”大”と表示する、という内容です。
この例で見ていただきたいのは、論理式の部分です。
B1セルの式には「A1<=5」という論理式を立てていますね。
このようにif関数では、数値の大小比較をさせることができます。
数値の大小比較に関する論理式の例を挙げておきます。
A1 < 5 A1が5未満の場合
A1 <= 5 A1が5以下の場合
A1 > 5 A1が5より大きい場合
A1 >= 5 A1が5以上の場合
2.2 文字判定
次の例を見てください。
A、B列は前節の例と同じです。
C列にはif関数で式を組んでいて、B列が”小”という文字と一致した場合に、”small”、それ以外の場合に”large”を表示するという内容です。
ここで重要なのは、if関数では、文字が【一致】した場合の判定を行うということです。
ある文字・文字列を【含む】場合の判定を行いたい場合は、COUNTIF関数を別途組み合わせる必要があることに注意しましょう。
下の例は、A列に都道府県名を入力してあります。
都道府県名のうち、「県」であれば”○”、そうでなければ”×”としたい、という例です。
A列の文字列に「県」を含む場合という論理式を組むのがポイントですが、if関数で組んだB列では、すべて論理式の結果が【偽】と判定されていることがわかります。
一方、COUNTIF関数を使って論理式を組んだC列では、所望の判定が行われていることがわかります。
文字列の判定にはCOUNTIF関数を使う、ということを覚えていきましょう。
ちなみに、文字列に【*】を使っていますが、これを【ワイルドカード】と呼びます。
「県」という文字の前・後ろにどのような文字があってもよい場合に使います。
今回は県の前後に【*】を付けましたが、都道府県名で「県」のあとに文字が来ることはありませんから、後ろの【*】を抜いて、”*県”としてしまっても構いません。
2.3 空欄判定
文字判定と合わせて紹介してもよいかもしれませんが、対象のセルが空欄の場合を判定する、というのも使えると便利です。
下の例は、A1~A3セルに1の倍数を1~3まで、A5~A7セルに2の倍数を2~6まで、A9~A11セルに3の倍数を3~9まで、入力してあります。
A4、A8のふたつのセルは空欄です。
B列はif関数で式を組んでいて、A列が空欄の場合にはなにも表示せず、そうでない場合にA列の値を10倍するという内容になっています。
空欄は文字が何もない状態ですから、””で表すことができます。
この処理を行わない場合、C列のようにif関数を使わない式になるかと思いますが、空欄の10倍は0となってしまいます。
空欄と0を区別したい場合に使える例と言えます。
ちなみに、” ”のようにスペースを入れてしまうと意味が違ってきますので要注意。
2.4 複数条件の論理式
ここまでは、論理式がひとつの例を見てきました。
論理式を複数組み合わせたい場合はどうすればよいでしょうか?
例えば、「A1セルの値が3より大きく、6以下の場合」などの論理式を組みたい場合がそうです。
このような場合には、3<A1<=6のような論理式を立てるのでなく、AND関数やOR関数を使うことが有効です。
下の例は、2.1節、2.2節での例に追加して、D列に「A列の値が3より大きく、6以下の場合に”中”と表示させる」という式を組んだ例です。
ここではAND関数を使用しましたが、AND関数は、()内の論理式がすべて真のときという判定をさせることができます。
一方で、E列には「A列の値が3以下もしくは6より大きい場合に”圏外”と表示させる」という式を組んでいます。
こちらにはOR関数を使用しましたが、OR関数は、()内の論理式のいずれかが真の場合という判定をさせることができます。
AND関数やOR関数の()内の論理式は、これまで見てきた文字判定や空欄判定等も使用でき、下の例のようにCOUNTIF関数でも組むことができますので、複雑な論理式も作ることができますよ。
ちなみにこちらの例では、”山”という文字を含む「県」を抽出しています。
別記事「エクセルでif関数を使う方法!分岐先の値の組み方5選を解説」の中でも触れていますので、そちらもぜひご参照ください。
3.まとめ
本記事では「エクセルでif関数を扱うために重要な論理式の考え方」を解説しましたが、いかがでしたか?
if関数を使いこなすためには、論理式をいかに立てるかというステップが必ず重要になってくるのです。
今回紹介した4つのパターンを駆使して、if関数マスターを目指しましょう。
また今回触れなかった分岐先の値の組み方については別記事「エクセルでif関数を使う方法!分岐先の値の組み方5選を解説」で詳しく解説していますので、そちらもぜひご参照ください。