論理関数は、Excel で最も人気があり便利なものの 1 つです。他のセルの値をテストし、テストの結果に応じてアクションを実行できます。これは、スプレッドシートでのタスクを自動化するのに役立ちます。
IF関数の使い方
IF 関数は Excel の主要な論理関数であるため、最初に理解する必要があります。この記事では何度も登場します。
IF 関数の構造を見てから、その使用例をいくつか見てみましょう。
IF 関数は 3 ビットの情報を受け入れます。
=IF(論理テスト, [真の場合の値], [偽の場合の値])
- logical_test: これは関数がチェックする条件です。
- value_if_true: 条件が満たされた場合、または true の場合に実行するアクション。
- value_if_false: 条件が満たされない場合、または false の場合に実行するアクション。
論理関数で使用する比較演算子
セル値を使用して論理テストを実行する場合は、比較演算子に精通している必要があります。これらの内訳は以下の表で確認できます。
それでは、実際の例をいくつか見てみましょう。
IF 関数の例 1: テキスト値
この例では、セルが特定の語句と等しいかどうかをテストします。 IF 関数は大文字と小文字を区別しないため、大文字と小文字は考慮されません。
次の数式は列 C で使用され、列 B に「完了」というテキストが含まれる場合は「いいえ」を表示し、それ以外のテキストが含まれる場合は「はい」を表示します。
=IF(B2="完了","いいえ","はい")
IF 関数は大文字と小文字を区別しませんが、テキストは完全に一致する必要があります。
IF 関数の例 2: 数値
IF 関数は数値の比較にも最適です。
以下の数式では、セル B2 に 75 以上の数値が含まれているかどうかをテストします。含まれている場合は「合格」という単語が表示され、そうでない場合は「不合格」という単語が表示されます。
=IF(B2>=75,"合格","不合格")
IF 関数は、テスト結果に異なるテキストを表示するだけではありません。これを使用してさまざまな計算を実行することもできます。
この例では、顧客が一定の金額を支払った場合に 10% の割引を与えたいと考えています。例として £3,000 を使用します。
=IF(B2>=3000,B2*90%,B2)
数式の B2*90% の部分は、セル B2 の値から 10% を減算する方法です。これを行うには多くの方法があります。
重要なのは、
value_if_true
または
value_if_false
セクションで任意の数式を使用できることです。また、他のセルの値に応じてさまざまな数式を実行することは、非常に強力なスキルです。
IF 関数の例 3: 日付値
この 3 番目の例では、IF 関数を使用して期日のリストを追跡します。 B 列の日付が過去の場合、「期限超過」という単語を表示したいとします。ただし、日付が将来の場合は、期限までの日数を計算します。
次の数式は列 C で使用されています。セル B2 の期限が今日の日付より小さいかどうかを確認します (TODAY 関数はコンピューターの時計から今日の日付を返します)。
=IF(B2<TODAY(),"期限超過",B2-TODAY())
入れ子になった IF 式とは何ですか?
ネストされた IF という用語を聞いたことがあるかもしれません。これは、別の IF 関数内に IF 関数を記述できることを意味します。実行するアクションが 3 つ以上ある場合は、これを実行するとよいでしょう。
1 つの IF 関数は 2 つのアクション (
value_if_true
と
value_if_false
) を実行できます。ただし、
value_if_false
セクションに別の IF 関数を埋め込む (またはネストする) と、別のアクションを実行できます。
この例では、セル B2 の値が 90 以上の場合は「Excellent」という単語を表示し、値が 75 以上の場合は「Good」を表示し、それ以外の場合は「Poor」を表示します。 。
=IF(B2>=90,"非常に良い",IF(B2>=75,"良い","悪い"))
たった 1 つの IF 関数でできる範囲を超えて、式を拡張しました。必要に応じて、さらに IF 関数をネストすることもできます。
数式の最後にある 2 つの右括弧 (IF 関数ごとに 1 つ) に注目してください。
この入れ子になった IF アプローチよりもクリーンな代替の式があります。非常に便利な代替手段の 1 つは 、Excel の SWITCH 関数 です。
AND および OR 論理関数
AND 関数と OR 関数は、数式内で複数の比較を実行する場合に使用します。 IF 関数だけでは、1 つの条件または比較しか処理できません。
顧客が費やした金額と顧客であった年数に応じて、価値を 10% 割引する例を考えてみましょう。
AND 関数と OR 関数は、単独で TRUE または FALSE の値を返します。
AND 関数は、すべての条件が満たされた場合にのみ TRUE を返し、それ以外の場合は FALSE を返します。 OR 関数は、条件の 1 つまたはすべてが満たされる場合に TRUE を返し、条件が満たされない場合にのみ FALSE を返します。
これらの関数は最大 255 の条件をテストできるため、ここで示したように 2 つの条件だけに限定されるわけではありません。
以下に AND 関数と OR 関数の構造を示します。それらは同じように書かれています。 OR を AND という名前に置き換えるだけです。彼らのロジックが異なるだけです。
=AND(論理1, [論理2] ...)
両方が 2 つの条件を評価する例を見てみましょう。
AND関数の例
以下では AND 関数を使用して、顧客が少なくとも 3,000 ポンドを支払い、少なくとも 3 年間顧客であるかどうかをテストします。
=AND(B2>=3000,C2>=3)
Matt と Terry に対して FALSE が返されることがわかります。これは、どちらも条件の 1 つを満たしていますが、AND 関数で両方を満たす必要があるためです。
OR 関数の例
以下では OR 関数を使用して、顧客が少なくとも 3,000 ポンドを費やしたか、または少なくとも 3 年間顧客であったかどうかをテストします。
=OR(B2>=3000,C2>=3)
この例では、式はマットとテリーに対して TRUE を返します。 Julie と Gillian だけが両方の条件に失敗し、FALSE の値を返します。
IF 関数での AND および OR の使用
AND 関数と OR 関数は、単独で使用すると TRUE または FALSE の値を返すため、単独で使用することはほとんどありません。
代わりに、通常は IF 関数とともに使用するか、条件付き書式設定やデータ検証などの Excel 機能内で使用して、数式が TRUE と評価された場合に遡及的なアクションを実行します。
以下の式では、AND 関数が IF 関数の論理テスト内にネストされています。 AND 関数が TRUE を返した場合、列 B の金額から 10% が割引されます。それ以外の場合、割引は行われず、列 B の値が列 D で繰り返されます。
=IF(AND(B2>=3000,C2>=3),B2*90%,B2)
XOR関数
OR 関数に加えて、排他的 OR 関数もあります。これをXOR関数と呼びます。 XOR 関数は Excel 2013 バージョンで導入されました。
この関数を理解するのには少し時間がかかるかもしれないので、実際の例を示します。
XOR 関数の構造は OR 関数と同じです。
=XOR(論理1, [論理2] ...)
2 つの条件だけを評価すると、XOR 関数は次の値を返します。
- いずれかの条件が TRUE と評価される場合は TRUE。
- 両方の条件が TRUE である場合、またはどちらの条件も TRUE でない場合は FALSE。
これは、両方の条件が TRUE の場合に TRUE を返すため、OR 関数とは異なります。
この関数は、さらに多くの条件が追加されると、少し複雑になります。次に、XOR 関数は次の値を返します。
- 奇数 の条件が TRUE を返す場合は TRUE。
- 偶数 の条件が TRUE になる場合、または すべての 条件が FALSE の場合は FALSE。
XOR 関数の簡単な例を見てみましょう。
この例では、売上が年の 2 つの半分に分割されます。営業担当者が両半期で 3,000 ポンド以上を販売した場合、ゴールド スタンダードが割り当てられます。これは、記事の前半と同様に、IF を使用した AND 関数を使用して実現されます。
ただし、どちらかの半分で 3,000 ポンド以上を販売した場合は、シルバー ステータスを割り当てたいと考えています。両方とも3,000ポンド以上売れなければ何もありません。
XOR 関数はこのロジックに最適です。以下の式は列 E に入力され、IF を使用した XOR 関数を示し、どちらかの条件が満たされた場合にのみ「はい」または「いいえ」を表示します。
=IF(XOR(B2>=3000,C2>=3000),"はい","いいえ")
NOT関数
この記事で説明する最後の論理関数は NOT 関数であり、最も単純なものを最後に残しておきます。ただし、最初はこの関数の「実際の」用途を理解するのが難しい場合があります。
NOT 関数は、引数の値を反転します。したがって、論理値が TRUE の場合は FALSE を返します。論理値が FALSE の場合は TRUE を返します。
これについては、いくつかの例を使って簡単に説明します。
NOT 関数の構造は次のとおりです。
=NOT(論理的)
NOT関数の例1
この例では、ロンドンに本社があり、その他の多くの地方拠点があると想像してください。サイトがロンドン以外の場合は「はい」を表示し、ロンドンの場合は「いいえ」を表示したいとします。
NOT 関数は、TRUE の結果を逆転させるために、以下の IF 関数の論理テストにネストされています。
=IF(NOT(B2="ロンドン"),"はい","いいえ")
これは、<> の NOT 論理演算子を使用しても実現できます。以下に例を示します。
=IF(B2<>"ロンドン","はい","いいえ")
NOT関数の例2
NOT 関数は、Excel で情報関数を操作する場合に便利です。これらは、何かをチェックし、チェックが成功した場合は TRUE を返し、失敗した場合は FALSE を返す Excel の関数のグループです。
たとえば、ISTEXT 関数は、セルにテキストが含まれているかどうかを確認し、テキストが含まれている場合は TRUE を返し、テキストが含まれていない場合は FALSE を返します。 NOT 関数は、これらの関数の結果を逆転できるので便利です。
以下の例では、販売員にアップセルした金額の 5% を支払いたいと考えています。ただし、何もアップセルしていない場合は、セルに「なし」という単語が表示され、数式でエラーが発生します。
ISTEXT 関数は、テキストの存在を確認するために使用されます。テキストが存在する場合、これは TRUE を返すため、NOT 関数はこれを FALSE に反転します。そして IF がその計算を実行します。
=IF(NOT(ISTEXT(B2)),B2*5%,0)
論理関数をマスターすると、Excel ユーザーとして大きなメリットが得られます。セル内の値をテストおよび比較し、その結果に基づいてさまざまなアクションを実行できることは、非常に便利です。
この記事では、現在使用されている最良の論理関数について説明しました。 Excel の最近のバージョンでは、この記事で説明した XOR 関数など、このライブラリにさらに多くの関数が追加されています。これらの新しい追加情報を常に最新の状態に保つことで、他の人よりも先を行くことができます。





