目次
このチュートリアルでは、ExcelのIF式を使って、与えられた数値や日付が2つの値の間にあるかどうかを確認する方法を紹介します。
与えられた値が2つの数値の間にあるかどうかを調べるには、AND関数と2つの論理テストを使用します。 両方の式がTRUEと評価されたときに独自の値を返すには、IF関数内にANDをネストします。 詳しい例は以下の通りです。
Excelの数式:2つの数値の間にある場合
与えられた数値が、指定した2つの数値の間にあるかどうかを調べるには、AND関数と2つの論理テストを使用します。
- greater then (>) 演算子を使用して、値が小さい数より大きいかどうかを確認します。
- 値が大きな数値より小さいかどうかを調べるには、less than (<) 演算子を使用します。
ジェネリック の間にある場合 の公式があります。
アンド( 価値 > 小さい数 , 価値 < 大きい数 )境界値を含めるには、大なり小なり(>=)、小なり(<=)の演算子を使用します。
アンド( 価値 >=。 小さい数 , 価値 <= 大きい数 )例えば、A2の数値が境界値を含まない10と20の間に入るかどうかを調べるには、B2の数式をコピーして使います。
=AND(A2>10, A2<20)
A2が閾値を含めて10以上20未満であるかどうかを調べるには、C2の式は次のような形になる。
=AND(A2>=10, A2<=20)
どちらの場合も、結果は、テストされた数字が10と20の間であればTRUE、そうでなければFALSEというブール値である。
2つの数値の間にある場合
数値が2つの値の間にある場合にカスタム値を返したい場合は、IF関数の論理テストにAND式を配置します。
例えば、A2の数値が10以上20未満なら "はい"、それ以外なら "いいえ "を返すには、次のIF文のいずれかを使用します。
10~20の場合。
=IF(AND(A2>10, A2<20), "はい", "いいえ")
境界を含めて10~20の場合。
=IF(AND(A2>=10, A2<=20), "はい", "いいえ")
ヒント:数式に閾値をハードコーディングする代わりに、以下の例のように個々のセルに閾値を入力し、そのセルを参照することができます。
A列の数値があり、同じ行のB列とC列の数値の間に入る数値を知りたい場合、小さい数値は常にB列に、大きい数値はC列にあると仮定すると、次の式で求めることができる。
=IF(AND(A2>B2, A2)
境界線も含めて。
=IF(AND(A2>=B2, A2<=C2), "はい", "いいえ")
そして、そのバリエーションがこちらです。 の間にある場合 TRUEなら値そのものを、FALSEなら何らかのテキストか空文字列を返す文です。
=IF(AND(A2>10, A2<20), A2, "無効")
境界線も含めて。
=IF(AND(A2>=10, A2<=20), A2, "無効")
境界値が異なる列にある場合
比較する数値が小さいものと大きいものが別の列に表示されることがある場合(つまり、数値1が数値2より小さいとは限らない)、少し複雑な計算式を使用します。
アンド( 価値 > MIN( 数1 , 数2 ), 価値 <MAX( 数1 , 数2 ))ここでは、まず目標値がMIN関数が返す2つの数値のうち小さい方よりも大きいかどうかを調べ、次にMAX関数が返す2つの数値のうち大きい方よりも小さいかどうかを調べている。
閾値の数値を含めるには、以下のようにロジックを調整します。
アンド( 価値 >= MIN( 数1 , 数2 ), 価値 <= MAX( 数1 , 数2 ))例えば、A2の数値がB2とC2の2つの数値の間に入るかどうかを調べるには、以下の公式のいずれかを使用します。
境界を除く。
=AND(A2>MIN(B2, C2), A2)
バウンダリーも含む。
=AND(A2>=MIN(B2, C2),A2<=MAX(B2、C2))
TRUEやFALSEの代わりに独自の値を返すには、2つの数値の間に次のようなExcelのIF文を使用します。
=IF(AND(A2>MIN(B2, C2), A2)
または
=IF(AND(A2>=MIN(B2, C2), A2<=MAX(B2, C2)), "はい", "いいえ")
Excelの数式:2つの日付の間にある場合
があります。 日付の間にある場合 の式は、基本的にExcelの 数字と数字の間の場合 .
指定された日付がある範囲内にあるかどうかを調べるには、一般的な計算式で
IF(AND)(アンド) 年月日 >=。 開始日 , 年月日 <= 終了日 ), value_if_true, value_if_false).バウンダリーデートは含まず。
IF(AND)(アンド) 年月日 > 開始日 , 年月日 < 終了日 ), value_if_true, value_if_false).ただし、IFは引数に直接与えられた日付をテキスト文字列として認識します。 IFが日付を認識するためには、DATEVALUE関数でラップする必要があります。
例えば、A2の日付が2022年1月1日から2022年12月31日の間にあるかどうかを調べるには、次のような数式を使用することができます。
=IF(AND(A2>=DATEVALUE("1/2022"), A2<=DATEVALUE("12/31/2022"))), "Yes", "No")
開始日と終了日があらかじめ定義されたセルにある場合、数式はよりシンプルになります。
=IF(AND(A2>=$E$2, A2<=$E$3), "はい", "いいえ")
ここで、$E$2は開始日、$E$3は終了日です。 セルアドレスを固定するために絶対参照を使用しているので、以下のセルにコピーしても数式が壊れることはないことに注意してください。
ヒント:テストされた各日付がそれ自身の範囲に入るべきで、境界の日付が入れ替わる可能性がある場合、境界値が異なる列にある場合 で説明したように、MIN関数とMAX関数を使って小さい日付と大きい日付を決定してください。
日付が次のN日以内である場合
日付が次の日付の中にあるかどうかを調べるには n AND文の内部では、最初の論理テストは対象日が今日の日付より大きいかどうかをチェックし、2番目の論理テストは対象日が現在の日付にプラスして以下の日付かどうかをチェックします。 n の日です。
IF(AND)(アンド) 年月日 > TODAY()。 年月日 <= TODAY()+。 n ), value_if_true, value_if_false).例えば、A2の日付が今後7日間に発生するかどうかを調べるには、次のような数式になります。
=IF(AND(A2>TODAY(), A2<=TODAY()+7), "はい", "いいえ")
日付が過去N日以内である場合
指定された日付が直近のものであるかどうかをテストするために n この場合にも、IF関数とAND関数、TODAY関数が使われます。 AND関数の最初の論理テストは、テストされた日付が今日の日付から次の値を引いた値以上であるかどうかをチェックします。 n 日であり、2番目の論理テストは日付が今日より小さいかどうかをチェックします。
IF(AND)(アンド) 年月日 >= TODAY()-。 n , 年月日 <TODAY()), value_if_true, value_if_false).例えば、A2の日付が過去7日間に発生したかどうかを判断するには、以下のような式になります。
=IF(AND(A2>=TODAY()-7, A2)
の使い方を理解するのに役立つと思います。 の間にある場合 の式をエクセルで効率的に使うことができます。 読んでくださってありがとうございました!また来週のブログでお会いしましょう。
練習用ワークブック
Excel If between - 数式の例 (.xlsx ファイル)