広告 スプレッドシート

【解決】スプレッドシートIF関数の使い方!条件分岐の基本とエラー回避の裏ワザ

「条件によってセルの文字を『合格』や『不合格』に自動で切り替えたい」
「IF関数を使いたいけど、カッコ()の数が合わなくてすぐエラーになる…」

Googleスプレッドシートで業務を自動化する上で、絶対に避けて通れないのがIF(イフ)関数です。

しかし、見よう見まねでIF関数を何重にも繋げてしまい、エラーの迷宮から抜け出せなくなっている人は非常に多いです。

この記事では、最も基本となるIF関数の書き方から、複雑な複数条件をスッキリ書ける「IFS関数」、そして見栄えを良くする「エラー隠しの裏ワザ」まで、実務で使えるテクニックだけを厳選して解説します。

💡 この記事でわかること

  • 一番シンプルなIF関数の基本構文
  • 3つ以上の条件分岐で威力を発揮する「IFS関数」の使い方
  • #N/A などの計算エラーを空白にして隠す「IFERROR」の活用法
  • 条件分岐後にセル内で強制改行させる裏ワザ

【失敗談】7重のIFマトリョーシカで3時間残業した話

スプレッドシート IF関数 エラー 使い方

IF関数は便利ですが、使い方を間違えると自分自身を苦しめる呪いの数式になります。私が新人時代にやらかした大失敗を聞いてください。

KYO

KYO

新人の頃、売上表の評価判定(S/A/B/C/Dランク…)で『IF関数の中にIF関数を7重にマトリョーシカのように詰め込んだ数式』を得意げに作成したことがあります。
しかし翌月、評価条件が1つ追加された瞬間にカッコ()の数が合わなくなり、『#ERROR!』の赤い文字がシート全体を埋め尽くしました。どこでカッコが閉じられているのか目視で探すハメになり、画面を凝視しすぎてドライアイになりながら3時間残業しました。
あとから『それ、IFS(イフエス)関数を使えば1行でスッキリ終わるよ』と先輩に教えられた時の、あの崩れ落ちるような絶望感は今でも忘れられません。条件が3つ以上あるなら、絶対にIF関数を重ねてはいけません。

IF関数とは?基本の仕組みと構文

IF(イフ)関数とは、「もし〇〇ならA、そうでなければB」という条件判定を自動で行う関数です。

📋 IF関数の基本構文

=IF ( 論理式, "真の場合", "偽の場合" )

  • 論理式:「A1セルが80以上(A1>=80)」などの条件。
  • 真の場合:条件を満たした時に表示する文字(例:"合格")。
  • 偽の場合:条件を満たさなかった時に表示する文字(例:"不合格")。

この基本さえ覚えておけば、「テストの点数が80点以上なら合格、それ以外は不合格」といった判定が瞬時に行えます。

用途に合わせた「3つの条件判定関数」の使い分け

スプレッドシートで条件分岐やエラー処理を行う場合、すべてをIF関数だけでやろうとすると数式が破綻します。以下の3つを使い分けるのが実務の鉄則です。

関数 用途 記述例
IF 2択の判定
(合格 or 不合格)
=IF (A1>=80, "合格", "不合格")
IFS 3つ以上の条件判定
(A/B/C判定など)
=IFS (A1>80,"A", A1>60,"B", TRUE,"C")
IFERROR エラー表示を隠す
(#N/Aなどを消す)
=IFERROR (VLOOKUP (...), "")

特に、条件が3つ以上ある時は絶対に IFS(イフエス)関数 を使ってください。数式が短くなり、他人が見てもすぐに理解できる美しいシートになります。

【裏ワザ】エラー回避と文字列結合(改行)のテクニック

実務で頻出する、IF関数をさらに便利に使いこなすための応用テクニックです。

1. エラー表示を消して見栄えを整える(IFERROR)

VLOOKUP関数などをIFで分岐させた結果、検索値がなくて「#N/A」等のエラーが表示されると、シートの見栄えが悪くなります。
数式全体を IFERROR で囲むことで、エラーの時だけ「空白」や任意の文字に置き換えることができます。

=IFERROR ( IF (A1="","", A1/B1), "計算エラー" )

2. 条件判定の結果に「改行」を含めて結合する

IF関数で文字を出力する際、「もし条件に合致したら、文字を改行して表示させたい」という場合があります。スプレッドシート内で強制的に改行を入れるには、CHAR (10) という関数を &(アンパサンド)で繋ぎます。

=IF ( A1="改行あり", B1 & CHAR (10) & C1, D1 )

※注意:文字列と関数を結合する & の前後には必ず半角スペースを入れてください。

よくある質問(FAQ)

Q1. IF関数で「空白(何も入力されていない)」を条件にするにはどう書きますか?

A1. ダブルクォーテーションを2つ連続で書いた "" を使います。例えば「もしA1セルが空白なら空白にし、そうでないならOKと出す」場合は =IF (A1="", "", "OK") と記述します。

Q2. 数式の中に "合格" と書いたらエラー(#NAME?)になりました。なぜですか?

A2. ダブルクォーテーション(")が全角になっている、または文字自体をダブルクォーテーションで囲み忘れている可能性が高いです。関数内で文字列を直接指定する場合は、必ず半角のダブルクォーテーションで囲んでください。

まとめ:条件が3つ以上なら「IFS関数」に乗り換えよう

スプレッドシートのIF関数の使い方とエラー対策まとめです。

  • 基本構文=IF (条件, "真の場合", "偽の場合") で書く。
  • 文字列のルール:関数内で文字を扱うときは必ず半角 "" で囲む。
  • 複数条件:IFをネスト(入れ子)にせず、最初から IFS関数 を使う。
  • エラー隠し:数式全体を IFERROR で囲んで「#N/A」を排除する。

IF関数を使いこなせば、これまで手作業で行っていた目視チェックや仕分け作業を一瞬で終わらせることができます。数式は「いかにシンプルに短く書くか」が後から修正する時の命綱になりますので、ぜひIFSやIFERRORもセットで活用してください!

  • この記事を書いた人

KYO

現役のシステムエンジニア。普段は企業向けの開発やツールの自動化を専門にしています。データの仕組みを知り尽くしたプロの視点から、スプレッドシートやExcel、Notion、AIツールの「本当に役立つ時短テクニック」を初心者向けに分かりやすく解説中!

-スプレッドシート