当サイトはアフィリエイト広告を利用しています。
Excelでは、条件に一致するかどうかで処理を変えられたり、条件に一致するデータの個数をカウントできたりします。
そのためにはまず条件を指定する必要がありますが、慣れていないと自分が思い描く条件をどう表現したらいいのかわからないですよね。
そこで今回は、Excelの条件の指定方法をご紹介します。
なお、3つ以上の条件で処理を分岐させたい場合は、以下の記事を参考にしてみてください。
Excelで数式を入力するときの基本的なルール
まずは、Excelで数式を入力するときの基本的なルールについて説明します。
文字列は「””」で囲む
数式に文字列を入力するときは、その文字列を「“文字列”」のように「””」で囲みます。
なお、数値やセル番地などは文字列に含まれません。
たとえば、A2の値が「りんご」ならB2に「○」、違うなら空白を表示したいとします。この場合、入力する数式は以下のようになります。
=IF(A2="りんご","○","")
「空白は文字列じゃないから『””』は不要では?」と思うかもしれませんが、Excelにおける空白は「空白という文字列」のため、「””」で空白となります。
比較演算子も文字列として扱うことがある
左辺がないとき(比較演算子の左に何もないとき)、比較演算子は文字列として扱い、「“=文字列”」や「“=”」のように「””」で囲みます。
比較演算子とは、左辺と右辺の値を比較する記号のことで、以下のようなものがあります。
演算子 | 意味 | 使用例 | 使用例の意味 |
---|---|---|---|
= | 等しい | A=B | AとBは等しい |
<> | 等しくない | A<>B | AとBは等しくない |
> | より大きい | A>B | AはBより大きい |
< | より小さい | A<B | AはBより小さい |
>= | 以上 | A>=B | AはB以上 |
<= | 以下 | A<=B | AはB以下 |
文字列と数値やセル番地をつなげる場合は間に「&」を入れる
文字列と数値やセル番地をつなげる場合は、「“文字列”&数値」や「“文字列”&セル番地」のように、間に「&」を入れます。
日付や時刻を直接指定する場合は文字列として入力する場合と関数を使用する場合がある
日付や時刻をセル参照ではなく直接指定する場合は、やり方が2通りあります。
「比較演算子あり・左辺なし」の場合は、日付や時刻を「文字列」として入力します。
「比較演算子あり・左辺あり」の場合や、「比較演算子なし」の場合は、日付や時刻を「関数」で入力します。
DATE関数は年月日を順にカンマ区切りで入力、TIME関数は時分秒を順にカンマ区切りで入力すればいいだけです。
Excelの条件の指定方法
それでは、Excelの条件の指定方法を具体例を交えてご紹介します。
- 同じなら
- 違うなら
- ~より大きいなら / ~より小さいなら
- ~以上なら / ~以下なら
- 空白なら
- 範囲内なら
- 偶数なら
- 奇数なら
- 数値なら
- エラーなら
同じなら
AとBが同じ場合に処理を実行したいときは、「A=B」のように条件を指定します。
たとえば、A2とB2の値が同じならC2に「○」、違うなら空白を表示したいとします。この場合、C2に以下のような数式を入力します。
=IF(A2=B2,"○","")
違うなら
AとBが違う場合に処理を実行したいときは、「A<>B」のように条件を指定します。
たとえば、A2とB2の値が違うならC2に「○」、同じなら空白を表示したいとします。この場合、C2に以下のような数式を入力します。
=IF(A2<>B2,"○","")
~より大きいなら / ~より小さいなら
AがBより大きい場合やBより小さい場合に処理を実行したいときは、「A>B」や「A<B」のように条件を指定します。
たとえば、A2の値がB2の値より大きいならC2に「○」、違うなら空白を表示したいとします。この場合、C2に以下のような数式を入力します。
=IF(A2>B2,"○","")
~以上なら / ~以下なら
AがB以上の場合やB以下の場合に処理を実行したいときは、「A>=B」や「A<=B」のように条件を指定します。Bも含める場合は「=」を付けます。
たとえば、A2の値がB2の値以上ならC2に「○」、違うなら空白を表示したいとします。この場合、C2に以下のような数式を入力します。
=IF(A2>=B2,"○","")
空白なら
Aが空白の場合に処理を実行したいときは、「A=””」のように条件を指定します。
たとえば、A2の値が空白ならB2に「○」、違うなら空白を表示したいとします。この場合、B2に以下のような数式を入力します。
=IF(A2="","○","")
範囲内なら
AがB~Cの範囲内の場合に処理を実行したいときは、「AND(A>=B,<=C)」のようにAND関数を使って条件を指定します。
たとえば、A2の値が1~10の範囲内ならB2に「○」、違うなら空白を表示したいとします。この場合、B2に以下のような数式を入力します。
=IF(AND(A2>=1,A2<=10),"○","")
気をつけたいのが、範囲が「日付」や「時刻」の場合です。
比較演算子あり・左辺ありで日付や時刻を直接指定する場合、関数を使う必要があります。
たとえば、A2の値が2022年3月31日~2022年4月2日の範囲内ならB2に「○」、違うなら空白を表示したいとします。この場合、B2に以下のような数式を入力します。
=IF(AND(A2>=DATE(2022,3,31),A2<=DATE(2022,4,2)),"○","")
これを関数を使わず=IF(AND(A2>=2022/3/31,A2<=2022/4/2),"○","")
と入力してしまうと、「2022/3/31」や「2022/4/2」は日付ではなく数値とみなされてしまい(「2022÷3÷31」や「2022÷4÷31」だとみなされる)、範囲内でも「○」が表示されないので注意しましょう。
偶数なら
Aが偶数の場合に処理を実行したいときは、「ISEVEN(A)」のようにISEVEN関数を使って条件を指定します。
たとえば、A2の値が偶数ならB2に「○」、違うなら空白を表示したいとします。この場合、B2に以下のような数式を入力します。
=IF(ISEVEN(A2),"○","")
奇数なら
Aが奇数の場合に処理を実行したいときは、「ISODD(A)」のようにISODD関数を使って条件を指定します。
たとえば、A2の値が奇数ならB2に「○」、違うなら空白を表示したいとします。この場合、B2に以下のような数式を入力します。
=IF(ISODD(A2),"○","")
数値なら
Aが数値の場合に処理を実行したいときは、「ISNUMBER(A)」のようにISNUMBER関数を使って条件を指定します。
たとえば、A2の値が数値ならB2に「○」、違うなら空白を表示したいとします。この場合、B2に以下のような数式を入力します。
=IF(ISNUMBER(A2),"○","")
エラーなら
Aがエラーの場合に処理を実行したいときは、「ISERROR(A)」のようにISERROR関数を使って条件を指定します。
たとえば、A2の値が「#N/A」や「#NAME?」などのエラー値ならB2に「○」、違うなら空白を表示したいとします。この場合、B2に以下のような数式を入力します。
=IF(ISERROR(A2),"○","")
まとめ
今回は、Excelの条件の指定方法をご紹介しました。
数式を入力するときの基本的なルールや、比較演算子の使い方を覚えれば、条件指定で困ることは少ないです。この機会にぜひ覚えておきましょう!