エクセルの勉強部屋のホ−ムへエクセルの勉強部屋トップページへ
●論理関数
IF 論理式の結果が真なら、真の場合を返し、偽なら偽の場合を返します
AND すべての論理式が真の場合TRUEを返し、偽の場合FALSEを返します
OR いずれかの論理式が真の場合TRUEを返し、偽の場合FALSEを返します
NOT 論理式の結果の逆を返します
ISERR テストの対象の値の#N/A以外のすべてのエラー値をチェツクし、
エラーがあればTRUEを返し、エラーがなければFALSEを返します
ISERROR テストの対象の値の#N/Aを含むすべてのエラー値をチェツクし、
エラーがあればTRUEを返し、エラーがなければFALSEを返します
ISNA テストの対象の値のエラー値#N/Aのみをチェツクし、#N/AならばTRUEを返し、でなければFALSEを返します
ISLOGICAL セルの内容が論理値ならばTRUEを返し、論理値でなければFALSEを返します
IFERROR 数式がエラーとして評価される場合は指定の値を返し、それ以外の場合は数式の結果を返します。


IF関数

(論理式の結果が真なら、真の場合を返し、偽なら偽の場合を返します)
書式:=IF(論理式,真の場合,偽の場合)
 
計算式 意味
=IF(A5<22,5,10) セルA5の値が22より小さい場合5を返し、22以上なら10を返します

IF関数の引数には、ほかの関数を入れ子にすることも可能です。
計算式 意味
=IF(SUM(A1:A10)>0,SUM(A1:A10),0)  セル範囲A1:A10の値の合計が0より大きければその値を返し、
以下ならば0を返します 

IF関数の引数には、文字列を指定することもできます。
 
計算式 意味
 =IF(A4>80,"合格","不合格")  セルA4の値のが80より大きければ"合格"という文字を返し、
80点以下ならば"不合格"という文字を返します 
また、文字列を利用することで、条件判定の結果、数値の0ではなく、なにも返さないようにすることもできます。
 
計算式 意味
=IF(A4>80,"合格","") セルA4の値のが80より大きければ"合格"という文字を返し、
80点以下ならば空白文字列("")を返します

IF関数は、7つまで入れ子にできます。
 
計算式 意味
=IF(A1<=59,"C",IF(A1<=79,"B",IF(A1<=100,"A",""))) セルA1の値のが59以下ならば"C"という文字を返し、
60以上79以下ならば"B"という文字を返し、
80以上100以下ならば"A"という文字を返し、
それ以外は空白文字列("")を返します

↑論理関数の先頭へ


AND関数

(すべての論理式が真の場合TRUEを返し、偽の場合FALSEを返します)
書式:=AND(論理式1,論理式2,…)
 
 計算式 意味
=IF(AND(A4>80,A5<5),"合格","") セルA4の値のが80より大きくかつ、セルA5の値が5より小さい場合
"合格"という文字を返し、それ以外ならば空白文字列("")を返します
↑論理関数の先頭へ

OR関数

(いずれかの論理式が真の場合TRUEを返し、偽の場合FALSEを返します)
書式:=OR(論理式1,論理式2,…)
 
計算式 意味
=IF(OR(A4>80,A5<5),"合格","") セルA4の値のが80より大きいかまたは、セルA5の値が5より小さい場合
"合格"という文字を返し、それ以外ならば空白文字列("")を返します
↑論理関数の先頭へ

NOT関数

(論理式の結果の逆を返します)
書式:=NOT(論理式)
 
計算式 意味
=IF(NOT(A1=2),"合格","") セルA4の値のが2でなければ"合格"を返し、
それ以外ならば空白文字列("")を返します
↑論理関数の先頭へ

ISERR関数

(テストの対象の値の#N/A以外のすべてのエラー値をチェツクし、エラーがあればTRUEを返し、エラーがなければFALSEを返します)
書式:=ISERR(テストの対象)
 
計算式 意味
=IF(ISERR(A1/A2),0,A1/A2) A1/A2がテストされ、A1/A2がエラーを返すようならば0を返し、
エラーがなければA1/A2の結果を返します
エラー値#N/Aは、計算を実行するために必要な値が入力されていない場合に返されます。
↑論理関数の先頭へ

ISERROR関数

(テストの対象の値の#N/Aを含むすべてのエラー値をチェツクし、エラーがあればTRUEを返し、エラーがなければFALSEを返します)
書式:=ISERROR(テストの対象)
 
計算式 意味
=IF(ISERROR(A1/A2),0,A1/A2) A1/A2がテストされ、A1/A2がエラーを返すようならば0を返し、
エラーがなければA1/A2の結果を返します
↑論理関数の先頭へ

ISNA関数

(テストの対象の値のエラー値#N/Aのみをチェツクし、#N/AならばTRUEを返し、でなければFALSEを返します)
書式:=ISNA(テストの対象)
 
計算式 意味
=IF(ISNA(A1/A2),0,A1/A2) A1/A2がテストされ、A1/A2が#N/Aエラーを返すようならば0を返し、
#N/AエラーがなければA1/A2の結果を返します
↑論理関数の先頭へ

ISLOGICAL関数

(セルの内容が論理値ならばTRUEを返し、論理値でなければFALSEを返します)
書式:=ISLOGICAL(テストの対象)
 
計算式 意味
=IF(ISLOGICAL(A1),0,A2) A1の内容が論理値ならば0を返し、論理値でなければA2を返します
↑論理関数の先頭へ

IFERROR 関数

数式がエラーとして評価される場合は指定の値を返し、それ以外の場合は数式の結果を返します。IFERROR 関数を使用すると、数式のエラーをトラップして処理できます。

書式

IFERROR(,エラーの場合の値)

     エラーかどうかをチェックする引数です。

エラーの場合の値     数式がエラーとして評価される場合に返す値です。評価されるエラーの種類は、#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、および #NULL! です。

解説

使用例: 通常の数式を使用した除算エラーのトラップ

使用例は空白のワークシートにコピーすると理解しやすくなります。

その方法は?

  1. 空白のブックまたはワークシートを作成します。
  2. ヘルプ トピックの使用例を選択します。
 メモ 
  行見出しまたは列見出しは選択しないでください。

ヘルプから使用例を選択する
Ctrl
キーを押しながら C キーを押します。
  1. ワークシートでセル A1 を選択し、Ctrl キーを押しながら V キーを押します。
  2. 結果の表示と結果を返す数式の表示を切り替えるには、Ctrl キーと Shift キーを押しながら ` (アクサン グラーブ) キーを押すか、または [数式] タブの [ワークシート分析] で [数式の表示] をクリックします。
 
1
2
3
4
5
6
7
8
9
10
A B
割り当て 販売数
210 35
55 0
  23
数式 説明 (計算結果)
=IFERROR(A2/B2, "計算エラー") 最初の引数の数式 (210 を 35 で除算) にエラーがあるかどうかをチェックし、エラーがないことを確認して、数式の結果を返します (6)。
=IFERROR(A3/B3, "計算エラー") 最初の引数の数式 (55 を 0 で除算) にエラーがあるかどうかをチェックし、0 による除算のエラーがあることを確認して、エラーの場合の値を返します (計算エラー)。
=IFERROR(A4/B4, "計算エラー") 最初の引数の数式 ("" を 23 で除算) にエラーがあるかどうかをチェックし、エラーがないことを確認して、数式の結果を返します (0)。

使用例: 配列数式を使用した除算エラーのトラップ

使用例は空白のワークシートにコピーすると理解しやすくなります。

 
1
2
3
4
5
6
7
8
9
A B C
割り当て 販売数 割合
210 35 =IFERROR(A2:A4/B2:B4, "計算エラー")
55 0
  23
数式 説明 (計算結果)
=C2 最初の引数で、配列の先頭要素の数式 (A2/B2、つまり 210 を 35 で除算) にエラーがあるかどうかをチェックし、エラーがないことを確認して、数式の結果を返します (6)。
=C3 最初の引数で、配列の 2 番目の要素の数式 (A3/B3、つまり 55 を 0 で除算) にエラーがあるかどうかをチェックし、0 による除算のエラーがあることを確認して、エラーの場合の値を返します (計算エラー)。
=C4 最初の引数で、配列の 3 番目の要素の数式 (A4/B4、つまり "" を 23 で除算) にエラーがあるかどうかをチェックし、エラーがないことを確認して、数式の結果を返します (0)。

 メモ   この使用例の数式は、配列数式として入力する必要があります。この使用例を新規のワークシートにコピーして、セル範囲 C2:C4 を選択します。次に、F2 キーを押し、Ctrl キーと Shift キーを押しながら Enter キーを押します。