IF関数
論理式(TRUEかFALSEを判定する式)の結果によって、指定した動作を行うのがIF関数です。
IF(論理式,値が真の場合,値が偽の場合)
論理式の結果(真または偽)に応じて、指定された値を返します
Excel 関数の挿入より
引数 | 内容 |
---|---|
論理式 | 結果が真(TRUE)または偽(FALSE)になる値もしくは数式を指定する |
値が真の場合 | 論理式の結果が真(TRUE)であった場合に返却する値・数式を指定する |
値が偽の場合 | 論理式の結果が偽(FALSE)であった場合に返却する値・数式を指定する |
イメージはこんな感じです。

論理とか真とか偽とか慣れない人にはとっつきにくいかもしれませんが、論理式とは「もし○○だったら」と置き換えてもらえばよいです。
「もし○○だったら動作1、ちがったら動作2」という感じです。
ここで論理式について少し説明します。もし論理式が少しとっつきにくいと感じている人は飛ばして「IF関数の簡単な使用例」を先にご覧ください。
論理式には「比較演算子」と「論理関数」が使えます。
(比較演算子)
記号 | 内容 | A1,B1の例 | 意味 |
---|---|---|---|
= | 一致 | A1=B1 | A1とB1が一致 |
<> | 不一致 | A1<>B1 | A1とB1が不一致 |
> | より大きい | A1>B1 | A1がB1より大きい |
< | より小さい | A1<B1 | A1がB1より小さい |
>= | 以上 | A1>=B1 | A1がB1以上 |
<= | 以下 | A1<=B1 | A1がB1以下 |
上記の「意味」どおりであれば真(TRUE)となり、異なれば偽(FALSE)となります。
(論理関数)
関数 | 引数 | 内容 |
---|---|---|
AND | AND(論理式1,論理式2,…) | (論理積) 引数の論理式がすべてTRUEの場合にTRUEを返す 一つでもFALSEがある場合はFALSEを返す |
OR | OR(論理式1,論理式2,…) | (論理和) 引数の論理式の中で1つでもTRUEの場合にTRUEを返す すべてFALSEの場合にFALSEを返す |
NOT | NOT(論理式) | (否定) 引数の論理式がTRUEならFALSEを返す FALSEならTRUEを返す |
論理関数を使うと複数の論理式を組み合わせて条件を作ることが可能となります。使えるようになると多彩な条件式を操ることができます。
ただしANDとORを誤ってしまうと重大なミスにつながります。使用するにあたっては上記内容をしっかり覚えて使っていきましょう。
今回は以下の3つの使用例を使いながら説明していきます。
- IF関数の簡単な使用例
- IF関数とほかの関数との組み合わせて使用する例
- IF関数をネスト(入れ子)して複数条件分岐をする例
- 論理関数を使用した使用例
IF関数は初心者脱出には必須の関数なのでしっかり覚えていきましょう。
IF関数の簡単な使用例
では以下シートのB1セルに「A1セルが空白だったら”未入力です”、空白じゃなければ”入力しました”を表示する」というIF関数を入力してみます。
=IF(A1=””,”未入力です”,”入力しました”)

ちなみに空白は””(ダブルクォーテーション2つ)で入力します。「A1=””」は「A1セルが空白と同じかどうか」を判定する論理式になります。
A1セルが空白の場合は以下となります。

A1セルに値を入力するとB2セルの内容が変わります。

いかがでしょう。雰囲気はわかってきたかと思います。
IF関数とほかの関数との組み合わせて使用する例
以下のA1からA6の表を使って、D1セルに「C1セルが”最大”の場合はセル範囲(A1:A6)から最大値(MAX関数)を求め、”最大”以外の場合は””空白にする」というIF関数を設定します。

=IF(C1=”最大”,MAX(A2:A6),””)

C1が「最大」の場合、第2引数のMAX関数の返却値が表示されます。

C1が「最大」以外の場合、空白が表示されます。

IF関数をネスト(入れ子)して複数条件分岐をする例
IF関数はネスト(入れ子)にすることで複数の条件を使うことができます。
IF関数のネストとはIF関数の引数「②真の場合」「③偽の場合」にさらにIF関数を指定することを言います。
以下のA1からA6の表を使って、D1セルに「C1セルが”最大”の場合はセル範囲(A1:A6)から最大値を求め、”最小”の場合は最小値を求め、どちらにも該当しない場合は””空白にする」というIF関数を設定します。

=IF(C1=”最大”,MAX(A2:A6),IF(C1=”最小”,MIN(A2:A6),””))
1つ目のIF関数の引数「③偽の場合」にIF関数を追加します。


C1セルに「最小」を入力すると最小値が表示されます。

C1が「最大」「最小」以外の場合、空白が表示されます。

ネストがたくさんあると「いったい何やっているの?」となってしまいます。そのため比較的読みやすいIFS関数を利用することをお勧めします。
上記のIF関数のネストをIFS関数に置き換えると以下になります。
=IFS(C1=”最大”,MAX(A2:A6),C1=”最小”,MIN(A2:A6),TRUE,””)
引数は「条件式」「真の場合」を2個1セットで指定していきます。基本的に「真の場合」しか指定しないためどれにも当てはまらない場合にエラーとなってしまいます。
それを回避するために最に「条件式:TURE」「真の値:(数式)」を設定することをお勧めします。
論理関数を使用した使用例
論理関数(AND、OR、NOT)を使用していくつかの条件を組み合わせることができます。
AND関数を使用
AND関数の場合は指定された論理式がすべてTRUEの時にTRUEを返します。
では以下の成績表を使ってI2セル全教科70点以上の人に”○”を付け、該当しない人は空白を表示するIF関数を指定します。

=IF(AND(C2>=70,D2>=70,E2>=70,F2>=70,G2>=70),”〇”,””)
IF関数の第1引数をAND関数にしてC2からG2がそれぞれ70点以上か比較する論理式を引数にしています。


I3からI7へI2セルをコピーします。

全教科70点以上のゴン美とゴン子だけ”〇”が表示されています。
OR関数を使用
先ほどのAND関数のシートのJ列に一つでも100点を取っている人に”〇”を付けます。

=IF(OR(C2=100,D2=100,E2=100,F2=100,G2=100),”〇”,””)
J2セルをJ3からJ7セルにコピーした結果が以下となります。

今度はゴン美、ゴン蔵、ゴン男に”〇”が付きました。
NOT関数を使用
NOT関数は引数の論理式を否定(TRUE/FALSEを逆)にする関数です。
先ほどの「OR関数を使用」の例でNOT関数を使って「100点取っていない人に”○”を付ける」をやってみましょう。

画像が小さくてごめんなさい。以下の数式がK2セルに入力されています。
=IF(NOT(OR(C2=100,D2=100,E2=100,F2=100,G2=100)),”〇”,””)
K2セルをK3からK7へコピーした状態が以下となります。

J列のOR条件をNOT関数で否定しているためJ列が空白になっている箇所が”〇”となります。
まとめ
ここまでご覧いただきありがとうございます。
IF関数はいかがでしたしょうか?
初心者の方はネスト(入れ子)したり、論理関数と組み合わせたりするとちょっと難しいかもしれませんが、まずは上述の「IF関数の簡単な使用例」のようなところからちょっとずつ使っていきましょう。
またIF関数はネストをたくさんすると解読が難しくなっていきます。あとで誰かがメンテナンスするって考えて、あまり複雑にしないように心がけていきましょう。
あまり複雑だと自分で作ったものでも1週間たつと忘れてしまいます
自分のためにもわかりやすくなるようにしていきましょう。
以上、あなたの参考になったらうれしいです。
もっとエクセルを使いこなしたい人にお勧めの本は以下です。
具体的なケースを例示しながら解説してくれているのでとても分かりやすいです。
まさに「最強の教科書」となる1冊です。
興味のある方は是非ご覧になってみてください。
コメント