📖 このページでわかること
- IF関数の構文「=IF(条件, 真の場合, 偽の場合)」
- 条件で使う比較演算子(=・>・< など)の意味
- 文字列や空欄を結果にするときの書き方
- 点数で「合格/不合格」を自動表示する具体例
- 3段階以上を判定するネストIFとIFS関数
- 複数の条件をまとめるAND・OR・NOT
- エラーをやさしく処理するIFERROR
- つまずきやすい間違いと、その直し方
IF関数は「分かれ道の標識」
IF(イフ)関数は、ある条件が成り立つかどうかを判定して、成り立つときと成り立たないときで、ちがう結果を表示する関数です。「イフ」は英語の「もし〜なら」という意味で、まさにその通りのはたらきをします。
歩いていて分かれ道に立ったとき、「雨なら右、晴れなら左」という標識があれば、迷わず進めますよね。IF関数は、その標識をエクセルの中に置いてあげるイメージです。条件を見て、エクセルが自動で「右」か「左」かを選んでくれます。
手作業で「この人は合格、この人は不合格…」と一人ずつ書いていくのは大変ですし、見落としもあります。IF関数なら、一度ルールを決めて数式にしておけば、何百件あっても一瞬で正しく振り分けてくれます。
IF関数の構文
IF関数は、カッコの中に3つの情報を順番に書きます。引数と引数のあいだは、半角のカンマ「,」で区切ります。
例)=IF(A1>=80, "合格", "不合格")
| 引数 | 意味 |
|---|---|
| ① 条件 | 成り立つかどうかを判定する式。例:A1が80以上か。 |
| ② 真の場合 | 条件が成り立つときに表示する内容。 |
| ③ 偽の場合 | 条件が成り立たないときに表示する内容。 |
「条件」は、必ず「成り立つ/成り立たない」のどちらかになる式を書きます。たとえば A1>=80 は、A1が80以上なら成り立ち(真)、79以下なら成り立たない(偽)、というふうにハッキリ分かれます。
条件で使う「比較演算子」
条件は、2つの値をくらべる「比較演算子」で書きます。「比較演算子」とは、大小や等しいかどうかを判定する記号のことです。よく使うのは次の6つです。
| 記号 | 意味 | 例 | 読み方 |
|---|---|---|---|
| = | 等しい | A1=100 | A1は100と等しい |
| > | より大きい | A1>80 | A1は80より大きい(81以上) |
| < | より小さい(未満) | A1<60 | A1は60より小さい(59以下) |
| >= | 以上 | A1>=80 | A1は80以上(80もふくむ) |
| <= | 以下 | A1<=50 | A1は50以下(50もふくむ) |
| <> | 等しくない | A1<>0 | A1は0ではない |
条件に文字列や空欄を使うとき
条件は数字だけでなく、文字でもくらべられます。たとえば「B1が『東京』なら…」という条件は、文字を "" で囲んで次のように書きます。
B1が「東京」なら「首都圏」、ちがえば「地方」と表示
「セルが空欄かどうか」を判定したいときは、何も入っていないことを表す ""(空文字)を使います。
A1が空欄なら「未入力」、何か入っていれば「入力済み」と表示
具体例1:点数で合格・不合格を出す
セル A1 にテストの点数が入っているとします。「80点以上なら合格、それ未満なら不合格」と自動で表示してみましょう。
A1が90なら「合格」、A1が72なら「不合格」と表示される
| A | B | |
|---|---|---|
| 1 | 点数 | 判定 |
| 2 | 90 | 合格 |
| 3 | 72 | 不合格 |
A2が90なので「80以上」が成り立ち、B2に「合格」と表示されます(緑枠が数式のセル)。
エクセルが行う判定の流れは、こうです。
- A1の値が「80以上か?」を確かめます。
- 成り立てば(90など)、真の場合の "合格" を表示します。
- 成り立たなければ(72など)、偽の場合の "不合格" を表示します。
- 下の行にも同じ判定をしたいときは、この数式を下にコピーします。
IFを実際に入力してみよう(手順)
では、上の合格・不合格の例を、実際に手を動かしながら入力してみましょう。1ステップごとに画面がどう変わるかをモックで見せます。式が長く見えても、左から順に足していくだけなので大丈夫ですよ。
- 判定したいデータを用意し、結果を出すセルを選びます。A列に点数、B列に判定を出すとして、まずB2をクリックして選びます。A2には点数「90」が入っているとします。
| A | B | |
|---|---|---|
| 1 | 点数 | 判定 |
| 2 | 90 |
答えを出すB2を選択(緑枠)。判定のもとになる点数はA2にあります。
- 「=IF(」と入力します。半角で =IF( まで打つと、「次は条件だよ」とヒントが出ます。先頭の「=」も半角です。
| A | B | |
|---|---|---|
| 1 | 点数 | 判定 |
| 2 | 90 | =IF( |
数式バーに「=IF(」と表示。ここから条件を足していきます。
- 条件「A2>=80」を入力し、カンマを打ちます。A2をクリックして >=80 と続け、区切りのカンマ「,」を打ちます。これで「A2が80以上か?」という条件になります。
| A | B | |
|---|---|---|
| 1 | 点数 | 判定 |
| 2 | 90 | =IF(A2>=80, |
条件「A2>=80」を入力。「80以上か?」をエクセルに尋ねた状態です。
- 真の場合「"合格"」を入力し、カンマを打ちます。条件が成り立ったときに出す文字を、半角の "" で囲んで "合格" と入力し、カンマ「,」を打ちます。文字は必ず "" で囲むのを忘れずに。
| A | B | |
|---|---|---|
| 1 | 点数 | 判定 |
| 2 | 90 | =IF(A2>=80,"合格", |
真の場合「"合格"」を入力。条件が成り立ったらこの文字が出ます。
- 偽の場合「"不合格"」を入力し、「)」で閉じてEnterを押します。成り立たなかったときの文字 "不合格" を入力し、最後にカッコ「)」を閉じてEnterキーを押します。これで完成です。
| A | B | |
|---|---|---|
| 1 | 点数 | 判定 |
| 2 | 90 | 合格 |
Enterを押すと、A2が90=80以上なので「合格」と表示されます。点数を変えれば判定も自動で変わります。
IF関数は「条件で自動的に振り分けたい」場面ならどこでも使えます。実務ではこんなときに大活躍します。
・合否・達成判定:テストの点数、ノルマの達成率、健康診断の数値などを「合格/不合格」「達成/未達」に自動で振り分ける。
・在庫の発注要否:在庫数が基準を下回ったら「発注」、足りていれば「OK」と表示。=IF(A1<=10, "発注", "OK") のように使い、補充のタイミングを見える化できます。
・割引・送料の判定:購入金額に応じて「割引あり/なし」「送料無料/有料」を自動表示。請求書や見積書づくりが楽になります。
具体例2:購入金額で送料無料を判定する
ネットショップでよくある「○円以上で送料無料」も、IF関数で表せます。セル A1 に購入金額が入っていて、「5000円以上なら送料0円、未満なら送料500円」としてみましょう。
A1が5000以上なら送料0、未満なら500を表示
| A | B | |
|---|---|---|
| 1 | 購入金額 | 送料 |
| 2 | 6000 | 0 |
| 3 | 3000 | 500 |
6000円は5000以上なので送料0、3000円は未満なので送料500。金額で自動判定します。
「送料無料」「送料500円」と文字で出したいなら、結果を "" で囲みます。
金額に応じて、文字でわかりやすく表示
具体例3:点数をA・B・Cランクに分ける
2段階(合格・不合格)ではなく、「80以上はA、60以上はB、それ未満はC」のように3段階で判定したいこともあります。このときは、IFの中にIFを入れる「入れ子(ネスト)」を使います。次の見出しでくわしく見ていきましょう。
複数の条件を扱う
IFの入れ子(ネスト)
判定を3段階以上にしたいときは、IFの中にIFを入れる「入れ子(ネスト)」を使います。先ほどのA・B・Cランクは、こう書きます。
80以上ならA、そうでなく60以上ならB、どちらでもなければC
| A | B | |
|---|---|---|
| 1 | 点数 | ランク |
| 2 | 85 | A |
| 3 | 72 | B |
| 4 | 50 | C |
85→A、72→B、50→C。入れ子のIFで3段階に振り分けた結果です。
読み解き方はこうです。まず「A1は80以上か?」を判定し、成り立てば「A」。成り立たなければ、偽の場所に置いた2つめのIF「A1は60以上か?」へ進みます。そこで成り立てば「B」、成り立たなければ「C」。このように「偽の場合」の場所に、次のIFをそのまま書くのがコツです。
- A1が80以上か判定する → 成り立てば「A」で終わり。
- 成り立たなければ、次のIFへ。A1が60以上か判定する → 成り立てば「B」。
- どちらも成り立たなければ「C」。
ただし入れ子が増えると読みづらく、まちがいの元になります。実用上は3段階くらいまでにしておくのがおすすめです。それより多いときは、次のIFS関数やVLOOKUPの表引きに切り替えるとすっきりします。
IFS関数ですっきり書く
新しめのExcel(Microsoft 365 など)には、入れ子をしなくても複数条件を並べて書ける IFS関数 があります。「条件1, 結果1, 条件2, 結果2…」とペアで並べるだけなので、ネストよりずっと読みやすくなります。
条件と結果をペアで並べる。最後の TRUE は「どれにも当てはまらない場合」
条件は上から順に判定され、最初に成り立ったところで止まります。だから「80以上」を「60以上」より先に書くのが大事です。最後の TRUE は「ここまでのどれにも当てはまらなかったら」という、いわば受け皿の役割です。
AND・OR・NOTとの組み合わせ
「2つの条件を両方満たす」「どちらか一方を満たす」を判定したいときは、IFの条件部分に AND(すべて満たす)や OR(どれか満たす)を入れます。
| 関数 | 意味 | 成り立つとき |
|---|---|---|
| AND | かつ(すべて満たす) | 並べた条件が全部成り立つとき |
| OR | または(どれか満たす) | 並べた条件のどれか1つでも成り立つとき |
| NOT | 〜でない(反対にする) | 条件が成り立たないとき |
たとえば「国語も数学も両方80点以上なら合格」は、ANDを使ってこう書きます。
A1とB1が両方とも80以上のときだけ「両方合格」
「どちらか一方でも80点以上ならよい」場合は、ANDのかわりに OR を使います。
A1かB1のどちらか一方でも80以上なら「どちらか合格」
NOTは条件の結果をひっくり返します。たとえば =IF(NOT(A1=""), "入力あり", "未入力") は「A1が空欄でないなら」という意味になります。
IFERRORでエラーを回避する
計算の結果がエラーになることがあります。たとえば割り算で割る数が0だと #DIV/0! が出ます。こうしたエラーをやさしいメッセージに置きかえるのが IFERROR(イフ・エラー)関数です。
A1÷B1が計算できればその結果を、エラーになれば「計算できません」と表示
IFERRORは「もしエラーなら、こう表示して」という専用の関数で、IF関数と兄弟のような存在です。空欄に見せたいときは、メッセージのかわりに "" を指定します。VLOOKUPなどと組み合わせて使うことも多い、覚えておくと便利な関数です。
つまずきやすい間違い
IF関数でよくある間違いを、先に知っておきましょう。
| 間違い | 直し方 |
|---|---|
| 演算子を全角で入力(> や =) | 比較演算子は半角で入力する |
| 文字を "" で囲み忘れた | "合格" のように半角の "" で囲む |
| "" を全角(” ”)で入力した | ダブルクォーテーションも半角で |
| カッコの数が合わない | IFを増やしたら閉じカッコも同じ数だけ |
| 条件の範囲がダブっている | 「80以上」を先、「60以上」を後の順に書く |
よくある失敗と直し方
IF関数でつまずいたとき、画面にどんなエラーが出て、どう直せばよいかを具体的に見ていきましょう。エラーは「どこを直せばいいか」のヒントだと思えば、こわくありません。
失敗1:文字を "" で囲み忘れて #NAME?
合格という文字を、ダブルクォーテーションで囲まずに =IF(A2>=80, 合格, 不合格) と書いてしまうと、エクセルは「合格」を関数名か何かと勘違いして #NAME? エラーを出します。
| A | B | |
|---|---|---|
| 1 | 点数 | 判定 |
| 2 | 90 | #NAME? |
文字を "" で囲み忘れたため #NAME? に。
原因:結果の文字を "" で囲んでいない。直し方:"合格""不合格" のように、半角の "" でそれぞれ囲みます。=IF(A2>=80, "合格", "不合格") とすれば直ります。
失敗2:「>=」を「=>」と逆に書いてエラー
「以上」は >= ですが、うっかり => と逆に書くと、エクセルが式として認識できずエラーになります。<=(以下)を =< と書くのも同じ失敗です。
原因:等号(=)と不等号の順番が逆。直し方:等号はあとです。「以上」は >=、「以下」は <= と覚えましょう。読み方も「だい・なり・いこーる(>=)」と、不等号→等号の順です。
失敗3:入れ子で閉じカッコが足りない
IFを入れ子にしたとき、=IF(A2>=80, "A", IF(A2>=60, "B", "C") のように最後の「)」を1つ忘れると、「カッコの数が合いません」と注意され、Enterが通りません。
原因:開いたカッコ「(」の数だけ「)」で閉じていない。直し方:IFを2つ使ったら「)」も2つ。末尾を "C")) と2つにします。Excelが「修正候補」を出したら、内容を確認してから受け入れると安心です。
複数条件をネストからIFSへ(実演)
最後に、3段階以上の判定を「IFの入れ子」と「IFS」の両方で組み立て、画面でくらべてみましょう。どちらも結果は同じですが、IFSのほうが読みやすいのがわかります。
まずはIFの入れ子。点数を「80以上A/60以上B/それ未満C」に振り分けます。
| A | B | |
|---|---|---|
| 1 | 点数 | ランク |
| 2 | 72 | B |
入れ子のIF。72は「80以上」では止まらず、次の「60以上」で止まって「B」になります。
同じことをIFSで書くと、条件と結果をペアで並べるだけになり、閉じカッコの数に悩まなくてすみます。
| A | B | |
|---|---|---|
| 1 | 点数 | ランク |
| 2 | 72 | B |
IFSでも結果は同じ「B」。最後の TRUE,"C" が「どれにも当てはまらないとき」の受け皿です。
Mac版・バージョンによる違い
IF関数・AND・OR・NOT・IFERRORは、Windows版・Mac版・古いバージョンを問わず、ほぼ同じように使えます。違いが出やすいのはIFS関数で、これは新しめのExcel(Microsoft 365 など)でないと使えないことがあります。手元のExcelで使えるかどうかは、実際に入力して試すのが確実です。
条件に当てはまらないとき、何も表示したくありません。どうすれば?
「#NAME?」というエラーが出ました。なぜ?
IFの入れ子は何個までできますか?
ANDとORは、どう使い分けるの?
「以上」は >= ですが、= はあとですか先ですか?
IFとIFSは、どちらを使えばいいですか?
条件にセル範囲を指定したら、うまくいきません。
結果に別のセルの値をそのまま表示できますか?
「合格」と入力したのに、なぜか「0合格」のように余計な文字が出ます。
3段階の判定で、なぜか全員が同じランクになってしまいます。
Mac版でもIFやIFSは同じように使えますか?
📌 このページのまとめ
- IF関数は「条件・真の場合・偽の場合」の3つで、答えを振り分ける。
- 条件は =・>・<・>=・<=・<> の比較演算子で書く(半角)。
- 「以上(>=)」と「より大きい(>)」は1つの違いに注意。
- 文字を結果や条件にするときは、必ず半角の "" で囲む。
- 3段階以上の判定はIFの入れ子か、新しいIFS関数を使う。
- 「両方満たす」はAND、「どちらか満たす」はOR、反対はNOT。
- エラーをやさしく表示したいときはIFERRORを使う。
- 全角の記号・"" 忘れ・カッコの数が、よくあるエラーの原因。