Excel IF 関数
IF 関数は、Excel ワークブックで最もシンプルで便利な関数の一つです。この関数は単純な論理テストを実行し、比較結果が TRUE であればある値を、FALSE であれば別の値を返します。

構文:
Excel における IF 関数の構文は次のとおりです。

引数:
- logical_test 必須。テストしたい条件です。
- value_if_true: 任意。logical_test の結果が TRUE の場合に返される特定の値です。
- value_if_false: 任意。logical_test の結果が FALSE の場合に返される値です。
注記:
1。value_if_trueが省略された場合:
- IF 関数でvalue_if_true 引数を省略した場合(つまり、logical_test の後にカンマだけがある場合)、条件が満たされるとゼロが返されます。例:=IF(C2>100,, 「Low 」)。
- 条件が満たされたときにゼロではなく空白セルを表示したい場合は、第2 引数に二重引用符「」を入力してください。例:=IF(C2>100, 「」, 「Low」)。
![]() | ![]() |
2。value_if_falseが省略された場合:
- IF 関数でvalue_if_false 引数を省略すると、指定された条件が満たされない場合に FALSE が返されます。例:=IF(C2>100, 「High」)。
- value_if_true 引数の後にカンマを入力すると、指定された条件が満たされない場合にゼロが返されます。例:=IF(C2>100, 「High」 ,)。
- 第3 引数に二重引用符 「」 を入力すると、条件が満たされない場合に空のセルが返されます。例:=IF(C2>100, 「High」 , 「」).
![]() | ![]() | ![]() |
戻り値:
特定の条件をテストし、その結果に応じて TRUE または FALSE を返します。
例:
例 1: 数値に対して単純な IF 関数を使用する
たとえば、値のリストをテストして、その値が100 より大きく、かつ100 と一致する場合は「Good」と表示し、一致しない場合は「Bad」と返したいとします。
次の数式を入力すれば、必要な結果が得られます。

例 2: テキスト値に対して IF 関数を使用する
ケース 1: 大文字小文字を区別しないテキスト値に対する IF 関数:
ここには、タスクとその完了ステータスを示したリストがテーブル形式で表示されています。どのタスクを継続すべきか、またどのタスクが不要かを把握したいとします。列 C のテキストが「completed」であれば「No」を表示し、それ以外の場合は「Yes」を返します。
次の数式を適用してください。これにより、列 C のテキストが「completed」(大文字・小文字を区別しない)と一致する場合は「No」を返し、それ以外のテキストが含まれる場合は「Yes」を返します。スクリーンショットをご参照ください。

ケース 2: 大文字と小文字を区別でのテキスト値に対する IF 関数:
大文字と小文字を区別してテキスト値を判定するには、IF 関数と EXACT 関数を組み合わせましょう。以下の数式を適用すれば、完全一致するテキストのみが認識され、期待通りの結果が得られます。

ケース 3: 部分一致でのテキスト値に対する IF 関数:
場合によっては、部分的なテキストに基づいてセルの値をチェックする必要があります。その際は、IF 関数、ISNUMBER 関数、および SEARCH 関数を組み合わせてご活用ください。
たとえば、「comp」というテキストを含むセルをチェックし、対応する値を返したい場合は、以下の数式をご利用ください。下のスクリーンショットのように結果が表示されます。

注記:
- 1。SEARCH 関数は大文字小文字を区別しないテキスト検索に使用されます。大文字と小文字を区別してテキストをチェックしたい場合は、SEARCH 関数を FIND 関数に置き換えてください。例:=IF(ISNUMBER(FIND(「comp」,C2)), 「No」, 「Yes」)
- 2。IF 関数の引数にテキスト値を指定する際は、必ず二重引用符 「」 で囲んでください。
例 3: 日付値に対して IF 関数を使用する
ケース 1: 特定の日付と比較するための日付に対する IF 関数:
特定の日付より大きいか小さいかを比較したい場合は、IF 関数でも対応可能です。ただし、IF 関数は日付形式を直接認識できないため、DATEVALUE 関数と組み合わせる必要があります。
この数式を適用すると、日付が2019 年4 月15 日より後の場合に「Yes」、それ以外の場合は「No」が返されます。スクリーンショットをご参照ください。

注記: 上記の数式では、DATEVALUE 関数を使わずにセル参照を直接使用することも可能です。例:=IF(D4>$D$1, 「Yes」, 「No」)。

ケース 2: 現在の日付から30 日以上前または後の日付をチェックするための日付に対する IF 関数:
現在の日付から30 日以上前または後の日付を識別したい場合は、TODAY 関数と IF 関数を組み合わせましょう。
この数式を入力してください:
30 日以上前の日付を識別する:=IF(TODAY()-C4>30,「Older date」,「」)
30 日以上後の日付を識別する:=IF(C4-TODAY()>30, 「Future date」, 「」)
![]() | ![]() |
注記:両方の結果を1 つの列に表示するには、次のように入れ子になった IF 関数を使う必要があります。

例 4: IF 関数を AND 関数および OR 関数と組み合わせて使用する
Excel では、IF 関数と AND 関数、OR 関数を組み合わせて使うのが一般的です。
ケース 1: AND 関数と IF 関数を組み合わせて、すべての条件が TRUE かどうかをチェックする:
設定したすべての条件(例:B4 が「赤」、C4 が「小」、D4>200)を満たしているかどうかを確認し、すべて TRUE なら「Yes」、いずれかが FALSE なら「No」と表示します。
この数式を適用すると、以下のスクリーンショットのように結果が表示されます。

ケース2:OR 関数と IF 関数を組み合わせて、いずれか1 つの条件が TRUE かどうかをチェックする場合:
IF 関数と OR 関数を組み合わせれば、複数の条件のうちいずれか1 つが TRUE かどうかを簡単にチェックできます。たとえば、B 列のセルに「Blue」または「Red」のテキストが含まれているかを判定し、いずれかが含まれていれば「Yes」、そうでなければ「No」を表示するといった使い方が可能です。
ここでは、この数式を適用すると、次のような結果が表示されます。

ケース3:IF 関数を AND 関数と OR 関数と同時に使用する場合:
この例では、IF 関数を AND 関数および OR 関数と組み合わせて、以下の条件をチェックします。
- Condition 1: Column B = “Red” and Column D > 300;
- Condition 2: Column B = “Blue” and Column D > 300.
上記の条件のいずれかが満たされた場合、「Match」を返し、それ以外の場合は「No」を返します。
この数式をご利用いただくと、以下に必要な結果が得られます。

例5:ネストされた IF 関数の使用
IF 関数は、ある条件をテストし、その条件が満たされる場合は指定した値を、満たされない場合は別の値を返すために使用されます。ただし、複数の条件を同時にチェックして、それぞれに応じた異なる値を返したい場合もあります。そんなときは、IF 関数をネスト(入れ子)することで対応できます。
ネストされた IF 文とは、ある IF 文の中に別の IF 文を組み込み、さらにその中に IF 文を入れるなど、複数の IF 条件を階層的に組み合わせたものです。
Excel におけるネストされた IF 関数の構文は、次のとおりです。
注記: Excel 2007 以降では、1 つの数式に最大64 個の IF 関数をネストできます。一方、Excel 2003 以前のバージョンでは、ネストできる IF 関数は7 個までです。
ケース1:複数の条件をチェックするためのネストされた IF 関数:
ネストされた IF 関数の代表的な使い方として、学生の得点に基づいて成績(アルファベットグレード)を割り当てる方法があります。たとえば、学生とその試験の得点を含む表があり、次のような条件に基づいて得点を分類したい場合です。

この数式を適用すると、次のように評価が表示されます:得点が90 以上なら「Excellent」、80 以上なら「Good」、60 以上なら「Medium」、それ以外は「Poor」です。

上記の数式の説明:
![]() |
|
ケース2:数量に基づいて価格を計算するためのネストされた IF 関数:
ネストされた IF 関数を使えば、数量に応じて製品の価格を自動計算することも可能です。
たとえば、お客様に数量に応じた価格割引をご提供したい場合を考えてみましょう。下のスクリーンショットのように、購入数量が多ければ多いほど、より大きな割引が適用されます。

合計金額は数量×単価で求められるため、指定された数量にネストされた IF 関数が返す値を掛け合わせる必要があります。以下の数式をご利用ください。

注:静的な価格数値の代わりにセル参照を使うこともできます。ソースデータが変更されても、数式を手動で更新する必要はありません。以下の数式をご利用ください:=D2*IF(D2>=101, B6, IF(D2>=50, B5, IF(D2>=25, B4, IF(D2>=11, B3, IF(D2>=1, B2, 「」)))))

ヒント:IF 関数で条件式を作成する際は、以下の論理演算子が使えます。
| 演算子 | 意味 | 例 | 説明 |
| > | より大きい | =IF(A1>10, 「OK」,) | セル A1 の数値が10 より大きい場合は「OK」を、それ以外の場合は0 を返します。 |
| < | より小さい | =IF(A1<10, 「OK」, 「」) | セル A1 の数値が10 より小さい場合、「OK」を返します。それ以外の場合は、空のセルを返します。 |
| >= | 次以上 | =IF(A1>=10, 「OK」, 「Bad」) | セル A1 の数値が10 以上の場合、「OK」が返されます。それ以外の場合は「Bad」が表示されます。 |
| <= | 次以下 | =IF(A1<=10, 「OK」, 「No」) | セル A1 の数値が10 以下の場合、「OK」が返されます。それ以外の場合は「No」が返されます。 |
| = | 等しい | =IF(A1=10, 「OK」, 「No」) | セル A1 の数値が10 と等しい場合は「OK」を返し、それ以外の場合は「No」を表示します。 |
| <> | 等しくない | =IF(A1<>10, 「No」, 「OK」) | セル A1 の数値が10 と等しくない場合は「No」を返し、それ以外の場合は「OK」を返します。 |
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。







