Excel(エクセル)のIF関数の使い方を、研修テストの合否、売上目標の達成、請求の支払期日という3つの判定の例で順に説明します。点数を見ながら「合格」「不合格」を手で打つ、実績と目標を見比べて「達成」と書く、といった作業はIF関数で置き換えられます。3つの引数の意味、比較の書き方、空欄の扱い、IFSやAND・ORとの組み合わせ、結果が反映されないときの直し方まで、Microsoft と Google のヘルプで確かめた内容をもとにまとめました。
IF関数は、条件に当てはまるかどうかで表示する値を変える関数です。書き方は =IF(条件, 当てはまるときの値, 当てはまらないときの値) で、70点以上を合格にするなら =IF(B2>=70,"合格","不合格") と書きます。返す値が文字なら "合格" のように半角のダブルクォーテーションで囲み、数値なら囲みません。3段階以上に分けるときはIFを入れ子にするか、Excel 2019 以降ならIFS関数を使い、条件を2つ以上組み合わせるときはAND関数やOR関数を条件の位置に入れます。セルに色を付けたいときはIF関数では足りないので、条件付き書式を使ってください。
この記事の調べ方
2026年10月19日に、Microsoft サポートの IF、IFS、AND、OR、NOT、IFERROR、COUNTIF、SUMIF、条件付き書式、再計算の設定の日本語ページと、Google ドキュメント エディタ ヘルプの IF、IFS、条件付き書式、計算の設定のページを確認して書きました。例に使う表と人名は架空のものです。
IF関数でできること
IF(イフ)は英語の「もし」です。Microsoft のヘルプは、IF関数について「値を期待するものとの間で論理的な比較を行うことができます」と説明し、結果は比較が正しい場合と正しくない場合の2つに分かれる、と書いています。会社で使う表では、次のような場面で使います。
- 研修の確認テストで、70点以上なら「合格」、それ未満なら「不合格」と表示します。
- 営業の実績が目標以上なら「達成」、届かなければ「未達」と表示します。
- 請求書の入金日が空欄で、支払期日を過ぎていれば「期日超過」と表示します。
- 申請の一覧で、必須の欄が空いている行に「未入力あり」と表示します。
- 実績が目標を上回った分だけを計算し、下回った行は0にします。
どれも、表を見ながら手で判断していた作業です。手で判定していると、行が増えるたびに見落としや打ち間違いが起きます。IF関数を1行目に書いて下の行へコピーすれば、すべての行が同じ基準で判定され、点数や実績を直すと判定も自動で変わります。
判定の基準も数式に残ります。「70点以上」が「75点以上」に変わったら、数式の70を75に直すだけで全員分が新しい基準になります。誰がどの基準で判定したのかを、後から数式を見て確かめることもできます。
Excel IF関数の使い方は、3つの引数を決めること
IF関数の書き方は次のとおりです。かっこの中に、カンマで区切って3つの値(引数)を入れます。
=IF(論理式, 値が真の場合, 値が偽の場合)| 引数 | 何を入れるか | この記事の例 |
|---|---|---|
| 論理式(条件) | 当てはまるかどうかを調べる式。比較の記号を使う | B2>=70 |
| 値が真の場合 | 条件に当てはまるときに表示する値 | "合格" |
| 値が偽の場合 | 条件に当てはまらないときに表示する値 | "不合格" |
次の図では、3つの引数を研修の確認テストに当てはめています。B列の筆記の点数を見て、D列に判定を出しています。

図の高橋さんは70点ちょうどで「合格」になっています。>= は「以上」の意味で、70を含むからです。一方、未受験で空欄の田中さんにも「不合格」と出ています。これは空欄が0として比べられるためで、直し方は後の「空欄を判定して、未入力の行を空白のままにする」の節で扱います。
返す値には、文字だけでなく数値や計算式も入れられます。Microsoft のヘルプには、実績が予算を超えたら超えた額を、超えなければ0を返す例があります。営業の表なら、目標を上回った分を次の式で出せます。
=IF(C2>B2,C2-B2,0)この式は、C2 の実績が B2 の目標を超えていれば実績から目標を引き、超えていなければ0を返します。後で出てくる営業の表では、山本さんは60、中村さんは10、目標に届かない小林さんは0になります。返す値が数値なので、この列はそのまま合計や平均に使えます。
合否判定を作る手順
次の研修テストの表を使って、式を入力してみます。A1 から C6 に、氏名、筆記の点数、実技の点数を入れた表です。1行目は見出しで、田中さんは未受験のため点数が空欄です。
| 行 | A列 氏名 | B列 筆記 | C列 実技 |
|---|---|---|---|
| 2 | 佐藤 | 82 | 75 |
| 3 | 鈴木 | 65 | 90 |
| 4 | 高橋 | 70 | 55 |
| 5 | 田中 | (空欄) | (空欄) |
| 6 | 伊藤 | 93 | 88 |
この表の D列に、筆記の点数が70点以上なら「合格」、それ未満なら「不合格」と出します。パソコンの Excel での手順です。
- D1 に「判定」と入力します。
- D2 を選び、日本語入力をオフにしてから「=IF(」と入力します。
- B2 をクリックし、続けて「>=70,」と入力します。
- 「"合格","不合格")」と入力して、かっこを閉じます。
- Enter キーを押すと、D2 に「合格」と表示されます。
- D2 を選び、セルの右下の小さな四角(フィル ハンドル)を D6 まで下へドラッグします。
手順のとおりに入れると、D2 の数式は次のようになります。D3 にコピーされた数式は B3 を見るように自動で変わるので、行ごとに数式を書き直す必要はありません。
=IF(B2>=70,"合格","不合格")「合格」「不合格」の前後にある " は、半角のダブルクォーテーションです。Microsoft のヘルプには「式にテキストを使用する場合、テキストを引用符で囲む必要があります」とあり、例外は TRUE と FALSE だけです。数値の70は囲みません。日本語入力がオンのまま打つと記号が全角になり、式が通らないことがあるので、数式は半角で入力してください。
条件の書き方(比較の記号と、数値・文字の違い)
IF関数の1つ目の引数には、比較の記号を使った式を書きます。Microsoft の演算子のヘルプによると、比較の結果は TRUE か FALSE のどちらかになり、IF関数はその結果で返す値を選びます。使える記号は次の6つです。
| 記号 | 意味 | 例(研修テストの表) | 70点のときの結果 |
|---|---|---|---|
| = | 等しい | B2=70 | 当てはまる |
| <> | 等しくない | B2<>70 | 当てはまらない |
| > | より大きい(超える) | B2>70 | 当てはまらない |
| >= | 以上 | B2>=70 | 当てはまる |
| < | より小さい(未満) | B2<70 | 当てはまらない |
| <= | 以下 | B2<=70 | 当てはまる |
表の右端を見ると、70点ちょうどの扱いが記号によって変わるのが分かります。「70点以上を合格」なら >=、「70点を超えたら合格」なら > です。社内の基準が「以上」と「超える」のどちらなのかを、数式を書く前に確かめておくと、境目の人の判定で揉めずに済みます。
≧ や ≦ は Excel の比較の記号として使えません。>= のように、> と = を半角で続けて書きます。順番を逆にした => も使えません。
数値は囲まず、文字は " " で囲む
条件の中でも、数値と文字で書き方が違います。数値と比べるときはそのまま書き、文字と比べるときはダブルクォーテーションで囲みます。たとえば、D列の判定が「合格」の人にだけ「修了証を発行」と表示するなら、空いている E列に次の式を入れます。
=IF(D2="合格","修了証を発行","")この式の最後の "" は、ダブルクォーテーションを2つ続けて間に何も書かない形で、空の文字(何も表示しない)を意味します。佐藤さん、高橋さん、伊藤さんの行に「修了証を発行」と出て、ほかの行は空白のままになります。
逆に、数値を "70" のように囲むと、Excel は数値と文字を比べることになり、点数がいくつでも思った結果になりません。ほかのシステムから貼り付けた点数が文字として保存されている場合も同じことが起きます。セルの左上に緑色の三角形が出ていたら、セルを選んで警告のアイコンから[数値に変換]を選んでください。文字を比べるときは、後ろに空白が付いた「合格 」は「合格」と一致しません。全角の「A」と半角の「A」のように、見た目が似ていても別の文字になる表記にも気をつけてください。入力の段階で表記を揃えたいときは、データの入力規則の記事で説明しているプルダウンを付けると、決めた言葉しか入らなくなります。
空欄を判定して、未入力の行を空白のままにする
最初の例で、未受験の田中さんにも「不合格」と出ていました。空欄のセルは、数値と比べると0として扱われるためです。未受験と不合格を区別したいときは、先に空欄かどうかを判定し、空欄でなければ点数の判定に進むように書きます。
=IF(B2="","未受験",IF(B2>=70,"合格","不合格"))この式を D2 に入れて D6 までコピーすると、田中さんの行は「未受験」になり、ほかの4人の判定は変わりません。B2="" は「B2 が空の文字と等しい」、つまり何も入っていないという意味です。未入力の行に空白を表示したいなら、"未受験" の部分を "" にします。
=IF(B2="","",IF(B2>=70,"合格","不合格"))受注表や勤怠表のように、行を先に用意して後から数値を入れる表でも使えます。D列に数式を100行分入れておいても、点数を入れていない行は空白のままです。計算の式でも同じ書き方が使えます。たとえば =B21.1 は B2 が空欄だと0を表示しますが、=IF(B2="","",B21.1) なら空欄の行は空白のままになります。
空欄かどうかは、ISBLANK 関数でも調べられます。Microsoft のヘルプによると、ISBLANK は「テストの対象が空白セルを参照するとき TRUE を返します」と説明されています。=IF(ISBLANK(B2),"未受験",…) と書くこともできます。ただし、=IF(…,"",…) のような数式で空白を表示しているセルは、見た目は空でも数式が入っているので、ISBLANK では空欄と判定されません。迷ったら B2="" の書き方を使えば、どちらの場合も空として扱えます。
3段階以上に分けるときは、IFの入れ子かIFS
合格と不合格の2つより細かく、A、B、C、D の4段階で評価したいときは、IF関数の中に IF関数を入れます。この書き方をと呼びます。筆記の点数が90点以上なら A、80点以上なら B、70点以上なら C、それ以外は D にする式は次のとおりです。
=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C","D")))
図のとおり、Excel は1つ目の条件から順に調べ、当てはまったところで値を返して終わります。佐藤さんの82点は90以上には当てはまらず、80以上に当てはまるので B です。そのため、条件は大きい値(厳しい条件)から書きます。順番を逆にして =IF(B2>=70,"C",IF(B2>=80,"B",…)) と書くと、93点の伊藤さんも最初の70以上に当てはまって C になります。Microsoft の入れ子のヘルプも、手数料の段階を小さい値から書いた例を挙げ、最初の比較で止まってしまう誤りを指摘しています。
IFS関数なら、かっこが1組で済む
Excel 2019 以降と Microsoft 365 では、IFS 関数で同じ判定を書けます。条件と返す値を組にして、順に並べる書き方です。
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"D")IFS には IF の3つ目の引数にあたる「それ以外」がありません。IFS のヘルプには「TRUE 条件が見つからない場合、この関数は #N/A エラーを返します」とあり、どの条件にも当てはまらないときの結果を決めるには、最後の条件に TRUE を入れるよう書かれています。TRUE は常に当てはまる条件なので、上のどれにも当てはまらなかった行はここで D になります。
| 比べる点 | IF の入れ子 | IFS |
|---|---|---|
| 使えるバージョン | どのバージョンでも使える | Excel 2019 以降と Microsoft 365 |
| 条件の数の上限 | 入れ子は64まで | 127 の条件まで |
| それ以外のとき | 最後の IF の3つ目に書く | 最後に TRUE と値を書く。書かないと #N/A |
| 読みやすさ | 段が増えると閉じかっこが増える | 条件と値が横に並ぶ |
表の上限の数は Microsoft のヘルプの記載ですが、同じヘルプは、多くの条件を入れ子にすることを勧めていません。Excel 2016 以前の人とファイルをやり取りするなら、IFS を使うと相手の画面で #NAME? になるので、IF の入れ子のほうが無難です。
段階が5つ、6つと増えてきたら、数式で書くより、点数と評価の対応を別の表にして VLOOKUP関数 の近似一致で引くほうが管理しやすくなります。Microsoft の入れ子のヘルプも、12段階の IF の代わりに参照用の表と VLOOKUP を使う方法を案内しています。基準が変わっても表の数字を直すだけで済み、数式を書き換える必要はありません。新しい Excel なら XLOOKUP関数 でも同じことができます。
複数の条件はAND・OR・NOTで組み合わせる
「目標を達成していて、しかも新規の契約が3件以上」のように、条件を2つ以上組み合わせるときは、IF関数の1つ目の引数に AND 関数や OR 関数を入れます。ここでは、次の営業の表を使います。金額の単位は万円です。
| 行 | A列 担当 | B列 目標(万円) | C列 実績(万円) | D列 新規件数 |
|---|---|---|---|---|
| 2 | 山本 | 500 | 560 | 4 |
| 3 | 中村 | 400 | 410 | 2 |
| 4 | 小林 | 600 | 480 | 5 |
| 5 | 加藤 | 300 | 320 | 1 |
この表の C列と B列を比べると目標の達成が、D列を見ると新規の契約の数が分かります。AND は「すべて当てはまる」、OR は「どれか1つでも当てはまる」、NOT は「当てはまらない」を表します。Microsoft のヘルプによると、AND と OR には最大255の条件を入れられ、NOT に入れられる条件は1つだけです。
AND関数は、すべての条件に当てはまるとき
=IF(AND(C2>=B2,D2>=3),"表彰候補","")この式を4人の行にコピーすると、「表彰候補」と出るのは山本さんだけです。中村さんは目標を達成していますが新規が2件、小林さんは新規が5件ありますが実績が目標に届いていないので、どちらも空白です。AND は、1つでも外れると当てはまらない扱いになります。
OR関数は、どれか1つに当てはまるとき
=IF(OR(C2<B2,D2<2),"面談","")この式では、目標に届かない小林さんと、新規が1件の加藤さんに「面談」と出ます。中村さんの新規は2件で、2未満には当てはまらないので空白です。OR は入力漏れの確認にも使えます。研修テストの表で、筆記と実技のどちらかが空欄の行に印を付けるなら、=IF(OR(B2="",C2=""),"未入力あり","") と書くと田中さんの行に「未入力あり」と出ます。
NOT関数は、条件を逆にする
NOT は、当てはまるかどうかの結果を反対にします。NOT のヘルプには「論理式が FALSE の場合、NOT は TRUE を返します」とあります。たとえば、後の節で使う請求書の表(C列が入金日)で =IF(NOT(C2=""),"入金済","未入金") と書くと、C2 が空欄でなければ「入金済」です。同じことは =IF(C2<>"","入金済","未入金") とも書けるので、NOT は条件が長くなったときや、AND と組み合わせて「〜でない」を表したいときに使えます。
言葉で書いた条件に「かつ」が入っていれば AND、「または」が入っていれば OR です。数式を書く前に、条件を日本語で1文にしてみると、どちらを使うか決めやすくなります。
業務での使用例(売上目標の達成判定と請求の期日判定)
ここまでの書き方を、営業と経理の表に当てはめます。まず、営業の表の E列に達成か未達かを出し、F列にはもう1段細かく、目標の110%以上を「大きく達成」として3段階で出します。
E2 =IF(C2>=B2,"達成","未達")
F2 =IFS(C2>=B2*1.1,"大きく達成",C2>=B2,"達成",TRUE,"未達")2つの式を4人の行にコピーした結果は次のとおりです。
| 担当 | 目標 | 実績 | E列の結果 | F列の結果 |
|---|---|---|---|---|
| 山本 | 500 | 560 | 達成 | 大きく達成(560は550以上) |
| 中村 | 400 | 410 | 達成 | 達成(410は400以上、440未満) |
| 小林 | 600 | 480 | 未達 | 未達 |
| 加藤 | 300 | 320 | 達成 | 達成(320は300以上、330未満) |
F列は、目標に1.1を掛けた額と実績を比べています。達成率の列を別に作らなくても、条件の中で掛け算ができます。基準を120%に変えるなら、1.1 を 1.2 に直します。
請求書の入金状況と期日を判定する
経理では、請求書ごとに入金済みか、支払期日を過ぎていないかを毎日確かめます。次の表で、今日が2026年10月19日だとします。
| 行 | A列 請求番号 | B列 支払期日 | C列 入金日 |
|---|---|---|---|
| 2 | No.101 | 2026/9/30 | 2026/9/29 |
| 3 | No.102 | 2026/10/10 | (空欄) |
| 4 | No.103 | 2026/10/31 | (空欄) |
| 5 | No.104 | 2026/10/23 | (空欄) |
D列に、入金日が入っていれば「入金済」、空欄で期日を過ぎていれば「期日超過」、期日まで7日以内なら「期日間近」、それ以外は「未入金」と出します。今日の日付は TODAY 関数で取れます。
=IF(C2<>"","入金済",IF(B2<TODAY(),"期日超過",IF(B2-TODAY()<=7,"期日間近","未入金")))2026年10月19日に開くと、No.101 は入金日があるので「入金済」、No.102 は10月10日を過ぎているので「期日超過」、No.104 は期日まで4日なので「期日間近」、No.103 は12日あるので「未入金」になります。TODAY 関数はファイルを開いたときや再計算のたびに今日の日付に変わるので、翌日に開けば判定も1日分進みます。最初に入金済みかどうかを調べているのは、入金済みの請求書に「期日超過」と出ないようにするためです。条件の順番が判定の結果を決める点は、点数の入れ子と同じです。
IF関数を使った判定を一覧の右端に置いておくと、フィルターで「期日超過」の行だけを絞り込んで、督促の連絡先を拾えます。判定の列は、手で書き換えずに数式のまま残しておいてください。
COUNTIF・SUMIF・IFERRORと組み合わせる
IF関数で判定を出した後は、合格者の人数や、達成した人の実績の合計も数えられます。条件に合うセルを数えるのが COUNTIF、条件に合う行の数値を足すのが SUMIF です。
=COUNTIF(B2:B6,">=70")
=COUNTIF(E2:E5,"達成")
=SUMIF(E2:E5,"達成",C2:C5)1行目は筆記が70点以上の人数で、82点、70点、93点の3人なので3になります。2行目は E列が「達成」の人数を数えて3になり、3行目は E列が「達成」の行の実績を足して、560、410、320 の合計 1,290 を返します。
ここで気をつけたいのは、条件の書き方の違いです。IF関数では B2>=70 と書きましたが、COUNTIF では ">=70" のように記号ごとダブルクォーテーションで囲みます。COUNTIF のヘルプにも、比較の条件の例として ">32" が挙げられています。SUMIF のヘルプの例も =SUMIF(B2:B25,">5") の形です。条件を2つ以上使う SUMIFS や COUNTIFS、ピボットテーブルとの使い分けは、データ分析の記事で扱っています。
IFERRORでエラーの表示を変える
営業の表に達成率の列を作り、=C2/B2 と書いたとします。新しく入った人の行で目標がまだ空欄だと、0で割ることになり #DIV/0! と表示されます。IF関数で先に目標が空欄かどうかを調べるか、IFERROR 関数でエラーのときの表示を決めます。
=IF(B2="","",C2/B2)
=IFERROR(C2/B2,"")IFERROR のヘルプによると、IFERROR は #N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL! のどれでも、2つ目の引数の値に置き換えます。手軽な反面、数式の打ち間違いで出た #NAME? や、参照先を消したときの #REF! まで見えなくなります。原因が1つに決まっているなら、上の1行目のように IF関数で先に調べるほうが、ほかの誤りに気づけます。
セルに色を付けるなら、IF関数でなく条件付き書式を使う
「不合格の行を赤くしたい」「期日超過のセルを目立たせたい」と考えて、IF関数で色を変えようとする人がいます。IF関数が返せるのは文字や数値などの値で、セルの色や文字の太さは変えられません。条件によって見た目を変えるには、条件付き書式を使います。
条件付き書式でも、IF関数と同じ考え方の条件を使えます。研修テストの表で、D列が「不合格」の行全体に色を付ける手順は次のとおりです。
- 色を付けたい範囲 A2:D6 を選びます。
- [ホーム]タブの[条件付き書式]から[新しいルール]を選びます。
- [数式を使用して、書式設定するセルを決定]を選びます。
- 数式の欄に =$D2="不合格" と入力します。
- [書式]を選び、[塗りつぶし]で色を決めて[OK]を押します。
=$D2="不合格"この式は、選んだ範囲の各行で D列が「不合格」かどうかを調べます。D の前に $ を付けているので、B列や C列のセルでも D列を見て判定され、行全体に色が付きます。Microsoft のヘルプは、条件付き書式では IF関数を省略して AND、OR、NOT を単独で使えると書いています。また、先頭の = を付け忘れると式が文字として扱われるので、必ず = から入力します。
判定の文字を IF関数で出し、色は条件付き書式で付ける形にしておくと、表を印刷しても、色を判別しにくい人が見ても、判定の内容が伝わります。データバーやアイコンを使った見せ方は、条件付き書式の記事にまとめています。
IF関数が思った結果にならない・反映されないとき
数式を入れたのに結果がおかしい、値を変えても判定が変わらない、という相談はよくあります。まず、セルに何が表示されているかで原因を探します。

図の左の列から、いま見えている症状に近いものを探し、原因と直し方を順に確かめてください。
#NAME? が出る、FALSE や 0 が出る
#NAME? は、文字を " " で囲み忘れたときや、関数名のつづりを間違えたときに出ます。=IF(B2>=70,合格,不合格) のように書くと、Excel は「合格」を名前として探して見つけられず、#NAME? を返します。壊れた数式のヘルプにも、テキストを二重引用符で囲まないと #NAME? が返る場合があると書かれています。
条件に当てはまらない行に FALSE と出るのは、3つ目の引数を省略したときです。=IF(B2>=70,"合格") と書くと、70点未満の行には論理値の FALSE が表示されます。=IF(B2>=70,"合格",) のようにカンマの後を空にすると、今度は0が表示されます。Microsoft のヘルプも、セルの内容が0になる原因として引数が空の場合を挙げています。何も表示したくないなら、3つ目に "" と書きます。
全角の記号と、かっこの数
日本語入力がオンのまま「>=」や「,」を打つと、全角の記号になります。Excel が半角に直してくれる場合もありますが、直らないとエラーになったり、式として受け付けられなかったりします。数式がうまく入らないときは、日本語入力をオフにして打ち直してください。
入れ子にした式では、閉じかっこの数がずれやすくなります。開きかっこと閉じかっこは同じ数が必要です。Excel は数式を編集している間、対応するかっこを同じ色で表示するので、色を手がかりに数を合わせます。長い式は、数式バーの中で Alt キーを押しながら Enter キーを押すと途中で改行でき、読みやすくなります。
数式がそのまま表示される、結果が更新されない
セルに =IF(B2>=70,"合格","不合格") という文字がそのまま見えている場合は、2つの原因が考えられます。1つは、シート全体で数式を表示する設定がオンになっている場合です。[数式]タブの[数式の表示]を押すか、Ctrl キーを押しながら (グレーブ アクセント)キーを押すと、結果の表示に戻ります(ヘルプ)。日本語配列のキーボードでは は Shift + @ で入力するので、Ctrl + Shift + @ キーです。もう1つは、セルの表示形式が文字列になっている場合で、セルを右クリックして[セルの書式設定]で[標準]を選び、F2 キー、Enter キーの順に押すと計算されます(ヘルプ)。
点数を書き換えても判定が変わらない場合は、計算方法が手動になっていないかを確かめます。再計算のヘルプによると、[ファイル]、[オプション]、[数式]の順に開き、[ブックの計算]で[自動]を選ぶのが既定の設定です。[数式]タブの[計算方法の設定]からも[自動]に戻せます。手動のままにしておく理由があるなら、F9 キーで再計算できます。この設定は開いているすべてのブックに影響するので、手動計算のファイルを開いたあとに、ほかのファイルまで計算されなくなることがあります。F4 キーや F9 キーなど、数式を扱うときに使うキーはExcelショートカットキーの記事にまとめています。
GoogleスプレッドシートのIF関数も書き方は同じ
Google スプレッドシートの IF関数も、=IF(論理式, TRUE値, FALSE値) と同じ順に3つの値を入れます。Excel で書いた =IF(B2>=70,"合格","不合格") は、そのまま貼り付けて使えます。IFS、AND、OR、NOT、IFERROR、COUNTIF、SUMIF も同じ名前で使えます。
小さな違いもあります。Google のIF のヘルプでは、3つ目の FALSE値は「省略可 - デフォルトは空白」と書かれています。Excel のヘルプには既定の値の記載がなく、Excel で3つ目を省略すると FALSE と表示されます。ファイルを Excel とやり取りするなら、どちらで開いても同じ結果になるよう、3つ目まで書いておくのが確実です。IFS のヘルプには、すべての条件が FALSE の場合は #N/A が返るとあり、ここは Excel と同じです。
結果が更新されないときは、[ファイル]、[設定]、[計算]の順に開き、[計算モード]が[自動]になっているかを見ます(ヘルプ)。セルに色を付けるときは、[表示形式]、[条件付き書式]を開き、[セルの書式設定の条件]で[カスタム数式]を選んで、Excel と同じように =$D2="不合格" と入れます(ヘルプ)。Excel とスプレッドシートのそのほかの違いは、比較の記事にまとめています。
よくある質問
IF関数に入れられる条件はいくつまでですか
Microsoft のヘルプによると、IF は64まで入れ子にでき、IFS は127の条件まで、AND と OR は255の条件まで入れられます。ただ、どのヘルプも、多くの条件を1つの式に詰め込むことは勧めていません。4段階を超えるなら、判定の基準を別の表にして VLOOKUP などで引くほうが、後から直す人にとって分かりやすくなります。
「〇〇を含む」という条件は書けますか
IF関数の = は、セルの中身がまったく同じかどうかを比べるので、「東京を含む」は B2="東京" とは書けません。部分一致を使える COUNTIF と組み合わせて、=IF(COUNTIF(B2,"東京")>0,"都内","") のように書きます。* は任意の文字列を表す記号で、COUNTIF のヘルプにも使い方が載っています。
IFS関数を使ったら #NAME? になりました
IFS は Excel 2019 以降と Microsoft 365 の関数です。Excel 2016 以前では関数として認識されず、#NAME? になります。Excel 2016 以前を使っている人とファイルを共有するなら、IF の入れ子で書いてください。
判定の結果を、数式を消して値だけ残せますか
結果のセルをコピーし、同じ場所に[値の貼り付け]をすると、数式が値に置き換わります。TODAY 関数を使った期日の判定は日が変わると結果も変わるので、月末時点の状況を残したいときは、この方法で値にしてから保存してください。
IF関数で迷ったら、まず条件を「70点以上なら合格、そうでなければ不合格」のような日本語の1文にしてみてください。その文の「70点以上」が1つ目、「合格」が2つ目、「不合格」が3つ目の引数です。文字は " " で囲み、空欄の行は先に判定し、段階が増えたら上の条件から順に並べれば、業務で使う判定の多くはこの関数で書けます。
社内の表を題材にした Excel 研修を行っています
IF や VLOOKUP などの関数、条件付き書式、ピボットテーブルを、受講する方の業務に近い表で練習します。判定や転記の手作業を減らしたい、関数を使える人を社内に増やしたい、という段階からご相談いただけます。