経理・総務・営業事務を問わず、Excelで最も使用頻度が高い関数のひとつがIFです。「達成率が100%以上なら○、未満なら×」のような単純な分岐であれば迷うことはありませんが、判定条件が3つ、4つと増えてくると、IFの中にIFを入れ子にする「ネストIF」がどんどん複雑になり、後から見た自分自身でも数式の意味が分からなくなることがあります。この記事では、IFの基本からIFS・IFERRORとの使い分け、ネストIFが崩壊する原因までを実務目線で整理します。
IF関数の基本と、ネストが増える理由
IF関数は「条件」「条件が真の場合の値」「条件が偽の場合の値」の3つの引数を取るシンプルな関数です。
例:達成率(A1)が100%以上なら「達成」、それ未満なら「未達」と表示する
=IF(A1>=1,"達成","未達")
判定を「達成/未達」の2択ではなく「A評価/B評価/C評価/D評価」のように3段階以上に分けたい場合、偽の場合の引数にさらにIFを入れ子にする書き方が広く使われてきました。しかし4段階、5段階と条件が増えるたびに括弧がネストし、「)))」が並ぶ数式は書いた本人以外はもちろん、数ヶ月後の自分でも解読が困難になります。
IFS関数でネストを解消する
Excel 2019・Microsoft 365で使えるIFS関数を使うと、複数の条件を1つのIF入れ子ではなく、条件と結果のペアを横に並べる形で書けるため、可読性が大きく向上します。
例:達成率(A1)を4段階評価する場合
=IFS(A1>=1.2,"S",A1>=1,"A",A1>=0.8,"B",TRUE,"C")
ポイントは条件を上から順に評価し、最初にTRUEになった時点の結果を返す点です。そのため条件は必ず範囲が狭いもの・厳しいものから先に書く必要があります。逆順に書くと、本来「S」評価になるべきデータが先に緩い条件に引っかかってしまい、常に同じ評価しか出なくなるというミスが起こります。
実務でのよくある使用シーン
総務担当者であれば、勤怠データから遅刻・早退・欠勤の状況を判定して表示する場面や、人事評価シートで点数に応じたランク分けを自動化する場面でIF・IFSがよく使われます。営業事務担当者であれば、受注金額に応じた値引き率の自動判定、達成率に応じたインセンティブ区分の表示などが典型例です。経理担当者であれば、取引先ごとの与信枠を超えていないかの判定、消費税率が複数存在する取引の税区分判定などにIFを組み合わせます。条件が2〜3個ならIF、4個以上ならIFSと使い分けると数式全体がすっきりします。
IF・IFS・IFERRORでよくあるエラー・トラブルと対処法
ネストしたIFの括弧の対応が崩れているときに出やすいエラーです。
- 閉じ括弧の数が足りない、または多い
- カンマの数え間違いで意図しない位置に引数が入ってしまっている
対処法として、数式バーで括弧をクリックすると対応する括弧が色分けされて表示されるので、ペアが揃っているか目視確認しましょう。ネストが3段階を超える場合は、素直にIFSへの書き換えを検討した方が事故が減ります。
IFSはIFと違い「それ以外」を自動で拾ってくれない仕様のため、想定漏れがあるとエラーになります。
対処法は、最後の条件に必ずTRUEを指定し「それ以外の場合」の結果を明示しておくことです。=IFS(A1>=1,"達成",A1>=0.5,"一部達成",TRUE,"未達")のように書けば、どの条件にも当てはまらないデータが来てもエラーになりません。
IFERRORでエラーを一律に「-」や空欄に置き換えると、本来直すべき入力ミスまで見えなくなってしまうことがあります。
対処法として、IFERRORは「エラーが出ても仕方がない・想定内」の場合にだけ使い、原因不明のエラーが多発する数式にはまず生のエラー表示のまま原因を特定してから導入するのが安全です。
初心者がつまずきやすいポイントとコツ
- 文字列を条件や結果に使うときは必ずダブルクォーテーションで囲む。"達成"のようにクォーテーションを忘れると、セル参照や名前として認識されエラーになります。
- IFSの条件は必ず「厳しい条件」から先に書く。順番を間違えると、緩い条件に先に引っかかってしまい正しい評価が出ません。
- IFERRORは数式全体を包む。=IFERROR(数式全体,代替値)のように、エラーが出る可能性のある数式全体をIFERRORでくるむのが基本形です。数式の一部分だけを囲んでも意味がありません。
- TRUE/FALSEは文字列ではない。IF(A1="TRUE",...)のように""で囲むと正しく判定できないことがあるため、論理値として比較する場合は""を付けません。
まとめ
IFはシンプルな2択判定に、IFSは3段階以上の判定に、IFERRORはエラー時の代替表示にと、それぞれ役割が異なります。ネストしたIFが読みにくくなってきたら無理に1つの数式に詰め込まず、IFSへの書き換えを検討しましょう。IFSを使う際は条件の順番と「それ以外」の受け皿(TRUE)を忘れないこと、IFERRORはエラーの原因を握りつぶしすぎないことがポイントです。数式を一から組み立てるのが不安な方は、下のツールで日本語の空欄を埋めるだけで数式を作成できます。