Office 2024がリリースされました!

日付が範囲内だったら、空白だったら…Excelの条件の指定方法

日付が範囲内だったら、空白だったら…Excelの条件の指定方法

当サイトはアフィリエイト広告を利用しています。

Excelでは、条件に一致するかどうかで処理を変えられたり、条件に一致するデータの個数をカウントできたりします。

そのためにはまず条件を指定する必要がありますが、慣れていないと自分が思い描く条件をどう表現したらいいのかわからないですよね。

そこで今回は、Excelの条件の指定方法をご紹介します。

なお、3つ以上の条件で処理を分岐させたい場合は、以下の記事を参考にしてみてください。

Excelで数式を入力するときの基本的なルール

まずは、Excelで数式を入力するときの基本的なルールについて説明します。

文字列は「””」で囲む

数式に文字列を入力するときは、その文字列を「“文字列”」のように「””」で囲みます。

なお、数値やセル番地などは文字列に含まれません。

たとえば、A2の値が「りんご」ならB2に「○」、違うなら空白を表示したいとします。この場合、入力する数式は以下のようになります。

=IF(A2="りんご","○","")

「空白は文字列じゃないから『””』は不要では?」と思うかもしれませんが、Excelにおける空白は「空白という文字列」のため、「””」で空白となります。

比較演算子も文字列として扱うことがある

Excel

左辺がないとき(比較演算子の左に何もないとき)、比較演算子は文字列として扱い、「“=文字列”」や「“=”」のように「””」で囲みます。

比較演算子とは、左辺と右辺の値を比較する記号のことで、以下のようなものがあります。

演算子意味使用例使用例の意味
=等しいA=BAとBは等しい
<>等しくないA<>BAとBは等しくない
>より大きいA>BAはBより大きい
<より小さいA<BAはBより小さい
>=以上A>=BAはB以上
<=以下A<=BAはB以下

文字列と数値やセル番地をつなげる場合は間に「&」を入れる

Excel

文字列と数値やセル番地をつなげる場合は、「“文字列”&数値」や「“文字列”&セル番地」のように、間に「&」を入れます。

日付や時刻を直接指定する場合は文字列として入力する場合と関数を使用する場合がある

日付や時刻をセル参照ではなく直接指定する場合は、やり方が2通りあります。

比較演算子あり・左辺なし」の場合は、日付や時刻を「文字列」として入力します。

Excel

比較演算子あり・左辺あり」の場合や、「比較演算子なし」の場合は、日付や時刻を「関数」で入力します。

Excel

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="","○","")
MEMO

「入力があれば」は「空白ではない」ということなので、「A<>””」で表現できます。

範囲内なら

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の条件の指定方法をご紹介しました。

数式を入力するときの基本的なルールや、比較演算子の使い方を覚えれば、条件指定で困ることは少ないです。この機会にぜひ覚えておきましょう!

Udemyの動画講座なら自分のペースでExcel VBAを学べる!

Udemyでは、買い切りの動画講座で好きな分野について自分のペースで学ぶことができます。

パソコンだけでなくスマホにも対応しているので、移動時間や休憩時間にスマホで学習することも可能です。

30日間の返金保証付きなので、初めてでも安心して受講できますよ。

▼ おすすめのExcel VBA講座はこちら ▼