【スプレッドシート】IF関数の基本的な使い方から応用まで解説
本記事では、スプレッドシートのIF関数の基本的な使い方をご紹介します。
応用的な使い方も解説しているので、ぜひ最後までチェックしてみてください。
スプレッドシートのIF関数とは
IF関数は公式ドキュメントでは以下のように記載されています。
論理式が TRUE の場合はある値を返し、FALSE の場合は別の値を返します。
公式ドキュメント
簡単に説明すると、条件に一致するか・しないかで結果を分岐できる関数ということです。
他の関数と一緒に使う機会も非常に多いため、ぜひ使い方をマスターしましょう。
IF関数の基本的な使い方
IF関数の基本的な使い方は以下の通りです。
IF(論理式, TRUE値, FALSE値)
引数 | 説明 |
---|---|
論理式 | 論理値を表す式 |
TRUE値 | 論理式がTRUEの時に返す値 |
FALSE値 | 論理式がFALSEの時に返す値 |
IF関数は3つの引数をとります。
引数1の条件式が真(TRUE)の場合は引数2の値を、偽(FALSE)の場合は引数3の値を返します。
実際にIF関数を使ってみよう
実際にIF関数を使ってみましょう。
65点以上なら「合格」、未満なら「不合格」を表示させる
C2セルに以下の関数を入れて、C10セルまでコピーしてみましょう。
=IF(B2>=65,”合格”,”不合格”)
65点以上は「合格」それ以外(65点未満)は「不合格」になっていると思います。
IF関数をAND・OR・NOTと組み合わせて使う方法
IF関数とAND・OR・NOT関数の組み合わせ方もご紹介しておきます。
関数を組み合わせることによって複雑な条件で分岐させることも可能です。
AND関数と組み合わせる
「30点以上かつ80点未満」なら「再テスト」と表示
C列の関数を以下のように修正してみましょう。
=IF(AND(B2>=30,B2<80),”再テスト”,)
条件に当てはまった行に「再テスト」と表示させることができました。
OR関数と組み合わせる
「30点未満または欠席」なら「レポート提出」と表示
適当な行の点数をいくつか「欠席」に変更し、C列の関数を以下のように修正してみます。
=IF(OR(B2<30,B2=”欠席”),”レポート提出”,)
OR関数もしっかり反映されていますね。
NOT関数と組み合わせる
「85点以下または欠席」以外を「合格」と表示
NOT関数は先述したAND関数やOR関数と一緒に使うことがほとんどです。
C列の関数を以下のように修正してみましょう。
=IF(NOT(OR(B2<=85,B2=”欠席”)),”合格”,)
条件に一致した行にきちんと「合格」と表示されていますね。
AND・OR・NOT関数との組み合わせて使う方法については、こちらの記事でも詳しく解説しているのでチェックしてみてください。
IF関数を使ったテクニック
続いてIF関数を使ったテクニックをいくつかご紹介します。
特定の文字列が含まれているか調べる
IF関数を使って文字列が含まれているか調べるには、COUNTIF関数と組み合わせて使います。
「県」が含まれている都道府県には「◯」を表示
=IF(COUNTIF(A1,”*県*”)>1,”◯”,””)
COUNTIF関数でワイルドカードを使うことで「含まれているか」を調べることが可能です。
空白なら空白の結果を返す
IF関数の引数1(論理式)に指定したセルが空白の場合に空白を返す方法です。
上記は「””」を指定するか・しないかの違いしかありません。
見た目上はどちらも空白なのですが、例えば「空白をカウントしたい」と思った時に間違ったやり方の方は空白としてカウントされません。
これは「空白というデータが入っているか」それとも「空っぽか」と思っていただけるとわかりやすいかもしれません。
チェックボックスの結果をIF関数で判定
スプレッドシートにはチェックボックスを挿入できる機能があります。
このチェックボックスの結果をIF関数で判定するには、以下のように指定してあげましょう。
=IF(チェックボックスのセル,チェックされた時の値,チェックされていない時の値)
チェックボックスはTRUE・FALSEの値を持っているため、IF関数の引数1(論理式)にはチェックボックスのセル番号だけを入力します。
IF関数を使ってセルの色を変更する
最後にIF関数を使ってセルの色を変更する方法です。
IF関数に「セルの色を変更する」というオプションは存在しないため、少し工夫が必要です。
その方法が「IF関数で判定用の結果を出力し条件付き書式で色を変更する」というやり方です。
こちらの記事で詳しく解説しているので気になる方はチェックしてみてください。
複数の条件で分岐させるならIFS関数を使おう
IF関数は1つの条件に当てはまるか当てはまらないかの結果しか表示できません。
IF関数を入れ子にすることで複数の条件で分岐させることもできますが、関数が長くなってしまいます。
複数の条件で分岐させたい時はIFS関数を使うと良いでしょう。
IFS関数の基本的な使い方は以下の記事で解説しています。