Excel 2013 論理関数

  1. 論理関数リストの表示
  2. 全ての引数が真かどうか判定するAND関数
  3. 論理式の結果を求めるIF関数
  4. 式がエラーかどうか判定するIFERROR関数
  5. 引数が偽かどうか判定するNOT関数
  6. いずれかの引数が真かどうか判定するOR関数

論理関数とは、ある条件が満たされているかどうかを判断するための関数で、結果は基本的に「TRUE」(真)や「FALSE」(偽)といった形で返されます。
そのため、単独で使用するというよりは、ほかの関数、例えばIF関数などと組み合わせて使うことでその力を発揮するものが多くあります。

サンプルデータlogic-function_es.xlsx「論理関数(演習).xlsx」を開きます。

尚、このマニュアルでは特に断らない限り、ショートカットキーで「関数の挿入」ダイアログ ボックスを開き、「関数の分類」から関数名のリストを表示させる手順で説明します。

その他の方法での関数の入力手順については関数の入力方法を参照してください。


論理関数リストの表示

「関数の挿入」ダイアログ ボックスでは、以下の手順で論理関数のリストを表示させることができます。

(注) 各関数の入力手順の説明は、関数名のリストが表示された状態から行います。


全ての引数が真かどうか判定するAND関数

AND関数は、すべての引数が「TRUE」の場合に「TRUE」を返します。もし1つでも「FALSE」があれば「FALSE」を返します。

【書式】 =AND(論理式1,[ 論理式2],...)

【説明】 論理式1: 必ず指定します。TRUEまたはFALSEとして判定される1つ目の条件です。
論理式2,...: 省略可能です。TRUEまたはFALSEとして判定される2つ目以降の条件です。条件は最大255個まで指定できます。

(1) 2つの条件式を判定する

複数の結果がすべて「TRUE」だった場合に「TRUE」を返す場合の手順は以下の通りです。

ここではサンプルデータのシート「AND(1)」のセルC8およびC9に、セルA8とB8、セルA9とB9の得点がすべて60点以上の場合に「TRUE」を表示します。

シート「AND(1)」を選択します。

【入力された数式】 =AND(A8>=60,B8>=60)

【入力された数式】 =AND(A9>=60,B9>=60)

(2) IF関数の条件として判定結果を返す

次に、(1)の応用として、IF関数との組み合わせで「合格」「不合格」の表示をさせます。

ここではサンプルデータのシート「AND(2)」のセルC6およびC7に、セルA6とB6、セルA7とB7の得点がすべて60点以上の場合に「合格」を表示します。そうでなければ「不合格」を表示します。

シート「AND(2)」を選択します。

【入力された数式】 =IF(AND(A6>=60,B6>=60),"合格","不合格")

【入力された数式】 =IF(AND(A7>=60,B7>=60),"合格","不合格")


論理式の結果を求めるIF関数

IF関数は、条件を判定した結果がTRUEの場合にある値を返し、FALSEの場合は別の値を返します。
また、複数のIF関数を入れ子にして使用することもできます。入れ子にできる数は最大64個までです。

【書式】 =IF(論理式,[真の場合],[偽の場合])

【説明】 論理式: 必ず指定します。TRUEまたはFALSEとして判定する対象です。
真の場合: 省略可能です。論理式が「TRUE」として判定された場合に返される値です。
偽の場合: 省略可能です。論理式が「FALSE」として判定された場合に返される値です。

【ワンポイント】 「真の場合」と「偽の場合」は省略可能となっていますが、省略した場合には、返される値が「0」(ゼロ)となることがあるので、基本的には両方を指定するのがよいでしょう。

以下に1つのIF関数と複数のIF関数を利用した際の手順を示します。

(1) 1つのIF関数の結果を表示する

ここでは、サンプルデータのシート「IF(1)」のセルB6およびB7に、セルA6とA7の得点が60点以上かどうかを判定して「合格/不合格」を表示します。

シート「IF(1)」を選択します。

【入力された数式】 =IF(A6>=60,"合格","不合格")

【入力された数式】 =IF(A7>=60,"合格","不合格")

(2) 複数のIF関数が入れ子になった結果を表示する

複数のIF関数を入れ子にして使用する場合は、「関数の挿入」のダイアログ ボックスは使わず、直接セルに入力するのがよいでしょう。

ここではサンプルデータのシート「IF(2)」のセルB6からB9に、セルA6からA9までの得点により「優/良/可/不可」を表示します。
基準は、優=80点以上、良=70点以上、可=60点以上、不可=60点未満です。

シート「IF(2)」を選択します。

【入力された数式】 =IF(A6>=80,"優",IF(A6>=70,"良",IF(A6>=60,"可","不可")))

【入力された数式】 セルB7 =IF(A7>=80,"優",IF(A7>=70,"良",IF(A7>=60,"可","不可")))

【入力された数式】 セルB8 =IF(A8>=80,"優",IF(A8>=70,"良",IF(A8>=60,"可","不可")))

【入力された数式】 セルB9 =IF(A9>=80,"優",IF(A9>=70,"良",IF(A9>=60,"可","不可")))

【ワンポイント】 関数入力の際にF2 キーを押して編集状態にするのは、このほうが音声での確認が容易なうえに修正も簡単だからです。また、「IF」の後に「()」と閉じカッコまでを入力するのは、入れ子になった関数入力での閉じカッコの記入もれを防止するためです。


式がエラーかどうか判定するIFERROR関数

IFERROR関数は、数式がエラーとして判定される場合には指定された値を、それ以外の場合は数式の結果を返します。

【書式】 =IFERROR(値,エラーの場合の値)

【説明】 値: 必ず指定します。エラーかどうかを判定する数式を指定します。
エラーの場合の値: 必ず指定します。数式がエラーと判定される場合に返す値を指定します。

(注) 対象となるエラーの種類は以下の通りです。
#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL!

ここではサンプルデータのシート「IFERROR」のセルC4、C5、およびC6に、セルA4からA6の値をセルB4からB6で割った値を判定した結果を返します。

シート「IFERROR」を選択します。

【入力された数式】 =IFERROR(A4/B4,"計算エラーです。")

【入力された数式】 =IFERROR(A5/B5,"計算エラーです。")

【入力された数式】 =IFERROR(A6/B6,"計算エラーです。")


引数が偽かどうか判定するNOT関数

NOT関数は、論理式が「TRUE」の場合に「FALSE」を、「FALSE」の場合に「TRUE」を返します。
例えば、2つの値が等しくないことを判定するような場合に利用すると便利です。

【書式】 =NOT(論理式)

【説明】 論理式: 必ず指定します。「TRUE」または「FALSE」を判定する対象を指定します。

ここではサンプルデータのシート「NOT」のセルC4、およびC5に、セルA4とB4、およびセルA5とB5の値が等しいかどうかを判定した結果を表示します。

シート「NOT」を選択します。

【入力された数式】 =NOT(A4=B4)

【入力された数式】 =NOT(A5=B5)


いずれかの引数が真かどうか判定するOR関数

OR関数は、いずれかの引数が「TRUE」の場合に、「TRUE」を返します。すべての引数が「FALSE」の場合は「FALSE」を返します。
例えば、複数の条件のうち、どれか1つでも満たしているかどうか判定したいような場合に便利です。

【書式】 =OR(論理式1,[論理式2],...)

【説明】 論理式1: 必ず指定します。TRUEまたはFALSEとして判定される1つ目の条件です。
論理式2,...: 省略可能です。TRUEまたはFALSEとして判定される2つ目以降の条件です。条件は最大255個まで指定できます。

(1) 複数の条件式を判定する

複数の条件の判定結果が1つでも「TRUE」だった場合に「TRUE」を返す場合の手順は以下の通りです。

ここではサンプルデータのシート「OR(1)」のセルD6からD8に、飛行時間が5000時間以上、離着陸回数が200回以上、経過月数が24ヶ月以上かどうかを判定して表示します。

シート「OR(1)」を選択します。

【入力された数式】 =OR(A6>=5000,B6>=200,C6>=24)

【入力された数式】 =OR(A7>=5000,B7>=200,C7>=24)

【入力された数式】 =OR(A8>=5000,B8>=200,C8>=24)

(2) IF関数の条件として判定結果を返す

次に、(1)の応用として、IF関数との組み合わせで、飛行時間が5000時間以上、離着陸回数が200回以上、経過月数が24ヶ月以上かどうかを判定し、1つでも該当していれば整備が必要という結果を表示します。

ここではサンプルデータのシート「OR(2)」のセルD6からD8に、セルA6からC6、セルA7からC7、およびセルA8からC8までの中で1つでも条件を満たした場合に「要整備」を表示します。すべてが条件を満たしていなければ「整備不要」を表示します。

シート「OR(2)」を選択します。

【入力された数式】 =IF(OR(A6>=5000,B6>=200,C6>=24),"要整備","整備不要")

【入力された数式】 =IF(OR(A7>=5000,B7>=200,C7>=24),"要整備","整備不要")

【入力された数式】 =IF(OR(A8>=5000,B8>=200,C8>=24),"要整備","整備不要")

操作の結果はサンプルデータlogic-function_kk.xlsx「論理関数(結果).xlsx」をご覧ください。