ExcelのIF関数を使いこなす方法!基本構文からAND・OR、ネストまで徹底解説
Excelは非常に強力な表計算ソフトであり、その全機能を完璧に把握している人はまず存在しないと言っても過言ではありません。膨大な機能が、驚くほどシンプルなインターフェースの中に凝縮されています。この記事では、Excel作業の頻度が高い方なら必ず押さえておきたい「IF関数」の書き方を、基本から順番に解説していきます。
IFステートメント(条件分岐)を書けるようになることは、日々大量の数値を扱う人にとって不可欠なスキルです。マクロほど複雑ではなく、かといって単純な合計計算のように直感的とは言い切れない——まさに中間的な存在ですが、一度覚えてしまえば作業効率が格段に向上します。
IFステートメントの基本構造
まず、すべてのIFステートメントに共通する基本構造を理解しましょう。
IF 条件 THEN 真の場合の値 ELSE 偽の場合の値
Excelでは実際に次のような形式で記述します。
=IF(条件式, 真の場合の値, 偽の場合の値)
つまり「もし〇〇ならAを返し、そうでなければBを返す」というシンプルな仕組みです。条件には通常、数値や文字列の比較が使われます。ここからは、基本的な数値の比較から始めて、文字列、AND/OR演算子など、段階的に見ていきましょう。
数値の比較:最初の一歩
最もシンプルな例から始めます。A列とB列にそれぞれ25と35という数値が入力されている状態で、C列に「A2が10より大きければ『Yes』、そうでなければ『No』」と表示させたい場合です。
=IF((A2>10), "Yes", "No")
このとき、いくつか注意点があります。
1. 比較式を括弧で囲むのは任意だが、習慣にしておくと安心
比較部分を括弧で囲む必要はありませんが、条件が複雑になったときのミス防止のため、囲んでおくのが良い習慣です。
2. 文字列を出力するときは必ずダブルクォーテーションで囲む
「Yes」「No」などのテキストを返したい場合は二重引用符(" ")で囲みます。忘れると、Excelが名前付き範囲への参照だと誤認識してしまいます。
条件式の中で計算を行う
比較セクションでは、四則演算も組み合わせられます。たとえば次のように書けます。
=IF((A2*10)>10, "Yes", "No")
これは「A2の値に10を掛けた結果が10より大きければ『Yes』、そうでなければ『No』」という意味になります。とても直感的ですね。
戻り値として数値や他のセルを返す
出力するのが文字列だけとは限りません。数値を返すこともできます。
=IF(A2>10, A2*2, A2*5)
この例では、A2が10より大きければその値の2倍を、そうでなければ5倍を返します。実用性はともかく、仕組みはこれでバッチリ理解できるはずです。
さらに、数式内で他のセルの値を使うことも可能です。
=IF(A2>10, B2*10, B2*5)
これは「A2が10より大きければB2×10、そうでなければB2×5をC2に出力する」という処理になります。
AND・ORで複数条件を組み合わせる
ここから少し発展させて、「A2とB2の両方が10より大きい場合にのみ『Yes』を表示したい」場合はどうすればよいでしょうか。
=IF(AND(A2>10, B2>10), "Yes", "No")
ここで登場するのがAND関数です。AND関数は複数の比較条件(A2>10 など)を受け取り、そのすべてがTRUEのときにのみTRUEを返します。3つでも4つでも、必要なだけ条件を追加できます。
逆に「どちらか一方でも満たしていればよい」というOR条件にしたい場合は、ANDをORに置き換えるだけでOKです。
=IF(OR(A2>10, B2>10), "Yes", "No")
別シートの値を参照・返却する
戻り値として、別のワークシート上のセルの値を返したいこともあるでしょう。その場合は次のように書きます。
=IF(A2>10, Sheet2!A1, "No")
この例では、条件がTRUEのときに「Sheet2」のA1セルの値を返します。同様に、比較条件側でも別シートの値を使えます(例:Sheet2!A1 > 10)。シート間でのデータ連携がとても簡単に行えるのです。
データの種類を判定する:ISTEXT・ISNUMBER
セルに入っている値の種類(数値、文字列、空白など)に応じて処理を分岐させたい場合は、IS系関数が便利です。
=IF(ISBLANK(A2), "空欄です", "値があります")
文字列かどうかの判定にはISTEXT、数値かどうかの判定にはISNUMBERを使用します。これらの関数はIF数式を書く際に本当に重宝します。
さらに重要なポイントとして、Excelのほとんどの関数はIFステートメントの中で使用できるということです。SUM、MAX、MINなどを自由に組み合わせて、柔軟な条件分岐を作れます。
セル範囲全体を判定する
これまでは単一のセルを扱ってきましたが、セルのグループ(範囲)を対象にすることもできます。たとえば「A2〜A4の範囲内の数値がすべて10より大きければTRUE、そうでなければFALSE」という判定です。
=IF(AND(A2:A4>10), TRUE, FALSE)
コロン(:)を使ってA2:A4と指定するだけで、範囲内の各値が順番にチェックされ、すべてが条件を満たした場合にTRUEが返されます。
IF文のネスト(入れ子)構造
最後に、IFステートメントの中にさらにIFステートメントを入れる「ネスト(入れ子)」を見てみましょう。
=IF(A2>10, "Aは10超", IF(B2>10, "Bは10超", "どちらも該当なし"))
これは「まずA2が10より大きいか確認し、大きければ1つ目の値を返す。そうでなければ、今度はB2が10より大きいかを別のIFで判定し、結果に応じた値を返す」という処理です。
ExcelではIF文を最大64階層までネストできます。実際にそこまで深く使うことはまずありませんが、2〜3階層程度の入れ子は実務で意外と役立つ場面があります。
まとめ
今回はIFステートメントの基礎的な紹介でしたが、これで第一歩を踏み出せたのではないでしょうか。IF関数は「条件式+真の値+偽の値」という骨格を押さえれば、あとはAND/OR、IS系関数、別シート参照、ネストなどを組み合わせることで、ほぼ無限の応用が利きます。
「こういうIF文を書きたいけど、うまくいかない」というケースがあれば、ぜひコメントで状況を教えてください。適切なIF数式の書き方を一緒に考えましょう!
-
Excelで数式をトレースする方法|初心者にもわかる3つの効果的なテクニック
この記事では、Excelで数式をトレース(追跡)する方法を詳しく解説します。数式の監査は、エラーの修正や参照関係の確認を行う上で欠かせない作業です。Excelのトレース機能を活用すれば、複雑な数式の構造も一目で把握できるようになります。 数式のトレースにおいて重要な概念となるのが「参照元(プレシーデンツ)」と「参照先(ディペンデンツ)」という2つの用語です。参照元とは、数式の中で参照されているセルのことです。一方、参照先とは、その数式の計算結果に依存しているセルを指します。Excelでは、これらの参照元・参照先の関係を矢印で視覚的に表示することができ、任意の数式やセルに対して確認できます。以下
-
Excelで特定の値を超えないようにする数式の使い方6選
このチュートリアルでは、Excelの数式を使って「特定の値を超えないようにする」方法を解説します。大量のデータを扱う際、データが一定の範囲を超えないように上限を設定する必要が生じることがよくあります。企業や教育機関では、優秀度の測定基準や利益率の上限などにこのような閾値を設定することが一般的です。本記事では、データの入力規則(Data Validation)、MAX関数、MIN関数、RANDBETWEEN関数、IF関数など、さまざまな数式・機能を使って「超えてはならない値」を設定する方法を紹介します。 練習用ワークブックはこちらからダウンロードできます。 Excelで特定の値を超えないようにす