スプレッドシートのIF関数で条件に応じてセルの表示を変える

スプレッドシートのif関数の使い方

スプレッドシートで指定した条件に適合するかどうかで、表示を変えたいということがあると思います。そんな時はif関数を使います。

if関数とは

if関数は指定した条件に適合するか(TRUE)、適合しないか(FALSE)によってセルに表示される値を変える関数です。

=IF(論理式, TRUE値, FALSE値)

論理式とは真偽(TRUEかFALSE)を表す式、またはそうした式を含むセルの参照TRUE値とは論理式がTRUEの場合に返される値FALSE値とは論理式がFALSEの場合に返される値です。

if関数のポイント
  • 指定条件の適否によって表示を変える関数
  • 真偽値に文字列を入れる場合は""(ダブルクォーテーション)で括る
  • if関数は入れ子にすることができる
  • 複数条件の指定にはifs関数の方が適している

if関数の使い方

if関数の数式で判別

if関数が使われるケースでわかりやすいのは合否判定です。論理式のところに、『得点が80点以上なら合格、80点未満の場合は不合格』を判別するための計算式を入れます。

=if(80<=C3,"合格","不合格")

ARRAYFORMULA関数でif関数を使う

人数分反映させるには論理式のセルの値を変えていけばいいですが、数百行、数千行となると非効率ですし、負荷がかかるので以下のようにARRAYFORMULA関数を利用しましょう。

=arrayformula(IF(80<=C3:C10,"合格","不合格"))

""
ARRAYFORMULA関数の使い方
スプレッドシートのARRAYFORMULA関数で処理を効率化
スプレッドシートで同じ関数や数式を複数のセルで繰り返すときに便利なARRAYFORMULA関数について解説します。

if関数の文字列で判別

論理式は文字列で判別することもできます。文字列は""(ダブルクォーテーション)で括る必要があります。簡単なクイズで正しい回答には正解、それ以外のものには不正解と表示させるようにします。

=if(C4="徳川家康","正解","不正解")

if関数で文字列で判別

ここでも効率を考え、ARRAYFORMULA関数にしてみましょう。

=ArrayFormula(if($C4:$C11="徳川家康","正解","不正解"))

if関数で空白を判別

if関数の論理式を『空白だったら』という判別を行うにはどうしたらいいでしょうか。アンケートで空欄の場合は、『未回答』、何か入力されている場合は『◯』と表示させるようにしてみましょう。

空白を判別するにはISBLANKという関数を使います。この関数は空白だった場合trueを返します。

=ISBLANK(値)

IF関数内でISBLANK関数を使用するとこのようになります。

=if(isblank(C3),"未回答","◯")

if関数とisblank関数で空白を判別

ARRAYFORMULA関数で入力すると下記のようになります。

=ArrayFormula(if(ISBLANK(C3:C10),"未回答","◯"))

if関数を入れ子にして判別する

ではさらに複雑な条件を設定してみましょう。if関数は入れ子にすることで複数条件を指定することも可能です。

空白の場合は『未回答』、正解の場合は『◯』、不正解の場合は『回答をそのまま表示』させるようにしてみましょう。

if関数を入れ子にした例

画像のサンプルを見て貰えばわかるように、if関数が入れ子になっています。黒い下線を引いてあるのが外のif関数ですが、最初の論理式で、C4のセルが空白であれば、TRUE値に設定してある『未回答』が表示され、空白でなかった場合のFALSE値に入れ子になったIF関数が入っているのがわかると思います。そこで『徳川家康』という文字と一致すればTRUE値の『◯』が表示され、一致しなければFALSE値に設定してある『セルに入力された文字列』がそのまま表示されるようになります。

=if(ISBLANK(C4)=true,"未回答", IF(C4="徳川家康", "○", C4))

下段へはオートフィルで展開してもいいですが、データ数が膨大になったことを想定して、ARRAYFORMULA関数で置き換えます。

=ArrayFormula(if(ISBLANK(C4:C11)=true,”未回答”, IF(C4:C11=”徳川家康”, “○”, C4:C11)))

入れ子にすることで複数条件にも対応することは可能ですが、複数条件にはifs関数の方が適していますのでifs関数を使いましょう。

スプレッドシートのIFS関数の使い方
スプレッドシートのIFS関数で複数の条件毎に表示結果を変える
スプレッドシートで複数の条件に応じて表示する結果を変えるIFS関数について詳しく解説します。

まとめ

if関数は基本的な関数ですが、簡単な適否の判別には最も使用される関数なので必ず覚えておきたい関数ですね。

スプレッドシートの関数の基本的なものを紹介しています。

便利な数式と関数
スプレッドシートで最初に覚えたい便利な基本関数一覧
スプレッドシートで最初に覚えると便利な使い勝手のいい基本的な関数を紹介します。

スプレッドシートの使い方については下記の記事でまとめていますので併せてお読みください。

スプレッドシートの使い方完全マニュアル
スプレッドシートの使い方 完全マニュアル
スプレッドシート初心者が一通り使えるようになるまでの知識を体系的にまとめました。