Excel IF関数 条件によって値を変える

IF関数Excel
この記事は約6分で読めます。

IF関数

論理式(TRUEかFALSEを判定する式)の結果によって、指定した動作を行うのがIF関数です。

IF(論理式,値が真の場合,値が偽の場合)

論理式の結果(真または偽)に応じて、指定された値を返します

Excel 関数の挿入より
引数内容
論理式結果が真(TRUE)または偽(FALSE)になる値もしくは数式を指定する
値が真の場合論理式の結果が真(TRUE)であった場合に返却する値・数式を指定する
値が偽の場合論理式の結果が偽(FALSE)であった場合に返却する値・数式を指定する

イメージはこんな感じです。

論理とか真とか偽とか慣れない人にはとっつきにくいかもしれませんが、論理式とは「もし○○だったら」と置き換えてもらえばよいです。

「もし○○だったら動作1、ちがったら動作2」という感じです。

ここで論理式について少し説明します。もし論理式が少しとっつきにくいと感じている人は飛ばして「IF関数の簡単な使用例」を先にご覧ください。

論理式には「比較演算子」「論理関数」が使えます。

(比較演算子)

記号内容A1,B1の例意味
=一致A1=B1A1とB1が一致
<>不一致A1<>B1A1とB1が不一致
>より大きいA1>B1A1がB1より大きい
<より小さいA1<B1A1がB1より小さい
>=以上A1>=B1A1がB1以上
<=以下A1<=B1A1がB1以下

上記の「意味」どおりであれば真(TRUE)となり、異なれば偽(FALSE)となります。

(論理関数)

関数引数内容
ANDAND(論理式1,論理式2,…)(論理積)
引数の論理式がすべてTRUEの場合にTRUEを返す
一つでもFALSEがある場合はFALSEを返す
OROR(論理式1,論理式2,…)(論理和)
引数の論理式の中で1つでもTRUEの場合にTRUEを返す
すべてFALSEの場合にFALSEを返す
NOTNOT(論理式)(否定)
引数の論理式がTRUEならFALSEを返す
FALSEならTRUEを返す

論理関数を使うと複数の論理式を組み合わせて条件を作ることが可能となります。使えるようになると多彩な条件式を操ることができます。

ただしANDとORを誤ってしまうと重大なミスにつながります。使用するにあたっては上記内容をしっかり覚えて使っていきましょう。

今回は以下の3つの使用例を使いながら説明していきます。

  • IF関数の簡単な使用例
  • IF関数とほかの関数との組み合わせて使用する例
  • IF関数をネスト(入れ子)して複数条件分岐をする例
  • 論理関数を使用した使用例

IF関数は初心者脱出には必須の関数なのでしっかり覚えていきましょう。

IF関数の簡単な使用例

では以下シートのB1セルに「A1セルが空白だったら”未入力です”、空白じゃなければ”入力しました”を表示する」というIF関数を入力してみます。

=IF(A1=””,”未入力です”,”入力しました”)

簡単な使用例1

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

A1セルが空白の場合は以下となります。

簡単な使用例2

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

簡単な使用例3

いかがでしょう。雰囲気はわかってきたかと思います。

IF関数とほかの関数との組み合わせて使用する例

以下のA1からA6の表を使って、D1セルに「C1セルが”最大”の場合はセル範囲(A1:A6)から最大値(MAX関数)を求め、”最大”以外の場合は””空白にする」というIF関数を設定します。

MAX関数と組み合わせ1

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

MAX関数と組み合わせ2

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

MAX関数と組み合わせ3

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

MAX関数と組み合わせ4

IF関数をネスト(入れ子)して複数条件分岐をする例

IF関数はネスト(入れ子)にすることで複数の条件を使うことができます。

IF関数のネストとはIF関数の引数「②真の場合」「③偽の場合」にさらにIF関数を指定することを言います。

以下のA1からA6の表を使って、D1セルに「C1セルが”最大”の場合はセル範囲(A1:A6)から最大値を求め、”最小”の場合は最小値を求め、どちらにも該当しない場合は””空白にする」というIF関数を設定します。

ネスト1

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

1つ目のIF関数の引数「③偽の場合」にIF関数を追加します。

ネスト2
ネスト3

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

ネスト4

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

ネスト5

ネストがたくさんあると「いったい何やっているの?」となってしまいます。そのため比較的読みやすい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点以上か比較する論理式を引数にしています。

AND関数を使用
AND関数を使用後

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

AND関数を使用にコピー

全教科70点以上のゴン美とゴン子だけ”〇”が表示されています。

OR関数を使用

先ほどのAND関数のシートのJ列に一つでも100点を取っている人に”〇”を付けます。

OR関数の使用

=IF(OR(C2=100,D2=100,E2=100,F2=100,G2=100),”〇”,””)

J2セルをJ3からJ7セルにコピーした結果が以下となります。

OR関数の使用後

今度はゴン美、ゴン蔵、ゴン男に”〇”が付きました。

NOT関数を使用

NOT関数は引数の論理式を否定(TRUE/FALSEを逆)にする関数です。

先ほどの「OR関数を使用」の例でNOT関数を使って「100点取っていない人に”○”を付ける」をやってみましょう。

NOT関数の使用

画像が小さくてごめんなさい。以下の数式がK2セルに入力されています。

=IF(NOT(OR(C2=100,D2=100,E2=100,F2=100,G2=100)),”〇”,””)

K2セルをK3からK7へコピーした状態が以下となります。

NOT関数の使用後

J列のOR条件をNOT関数で否定しているためJ列が空白になっている箇所が”〇”となります。

まとめ

ここまでご覧いただきありがとうございます。

IF関数はいかがでしたしょうか?

初心者の方はネスト(入れ子)したり、論理関数と組み合わせたりするとちょっと難しいかもしれませんが、まずは上述の「IF関数の簡単な使用例」のようなところからちょっとずつ使っていきましょう。

またIF関数はネストをたくさんすると解読が難しくなっていきます。あとで誰かがメンテナンスするって考えて、あまり複雑にしないように心がけていきましょう。

あまり複雑だと自分で作ったものでも1週間たつと忘れてしまいます

自分のためにもわかりやすくなるようにしていきましょう。

コメント

タイトルとURLをコピーしました