メインコンテンツへスキップ

ExcelのIF関数

Author: Xiaoyang Last Modified: 2025-08-06

IF関数は、Excelワークブックで最もシンプルで有用な関数の1つです。これは簡単な論理テストを実行し、比較結果に基づいてTRUEの場合には1つの値を、FALSEの場合には別の値を返します。


 構文:

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

=IF(論理式, [真の場合], [偽の場合])

doc if function 2


 引数:

  • 論理式: 必須です。テストしたい条件を指定します。
  • 真の場合: オプションです。論理式の結果がTRUEの場合に返される特定の値を指定します。
  • 偽の場合: オプションです。論理式の結果がFALSEの場合に返される値を指定します。

注意:

1. 真の場合が省略された場合:

  • IF関数で真の場合の引数が省略された場合(例えば、論理式の後にカンマのみがある場合)、条件が満たされたときにゼロが返されます。例: =IF(C2>100,, "Low ")
  • 条件が満たされた場合にゼロの代わりに空白セルを使用したい場合は、二重引用符""を第2パラメータに入力する必要があります。例: =IF(C2>100, "", "Low")
doc if function 3 doc if function 4

2. 偽の場合が省略された場合:

  • IF関数で偽の場合の引数が省略された場合、指定された条件が満たされなかったときにFALSEが返されます。例: =IF(C2>100, "High")
  • 真の場合の引数の後にカンマを入れると、指定された条件が満たされなかったときにゼロが返されます。例: =IF(C2>100, "High" ,)
  • 第3パラメータに二重引用符""を入力すると、条件が満たされなかった場合に空白セルが返されます。例: =IF(C2>100, "High" , "").
doc if function 5 doc if function 6 doc if function 7

 戻り値:

特定の条件をテストし、TRUEまたはFALSEに対応する値を返します。


 例:

例1: 数値に対する単純なIF関数の使用

例えば、一連の値をテストし、その値が特定の値100より大きい場合、「Good」というテキストを表示し、そうでない場合は「Bad」を返したいとします。

以下の数式を入力すると、必要な結果が得られます。

=IF(B2>100,"Good","Bad")

doc if function 8


例2: テキスト値に対するIF関数の使用

ケース1: 大文字小文字を区別しないテキスト値に対するIF関数:

ここでは、タスクと完了状況の一覧を持つテーブルがあります。どのタスクが進行中で、どれが必要ないかを知りたいとします。列Cのテキストが「completed」の場合、「No」が表示され、それ以外の場合は「Yes」が返されます。

次の数式を適用すると、列Cのテキストが「completed」(大文字小文字に関係なく)の場合、「No」が返されます。他のテキストの場合は「Yes」が返されます。スクリーンショットをご覧ください:

=IF(C2="completed", "No", "Yes")

doc if function 9

ケース2: 大文字小文字を区別するテキスト値に対するIF関数:

テキスト値の大文字小文字を区別してテストするには、IF関数をEXACT関数と組み合わせる必要があります。以下の数式を適用すると、完全一致するテキストのみが認識され、希望する結果が得られます:

=IF(EXACT(C2,"COMPLETED"), "No", "Yes")

doc if function 10

ケース3: 部分一致のテキスト値に対するIF関数:

場合によっては、部分的なテキストに基づいてセル値をチェックする必要があります。この場合、IF、ISNUMBER、SEARCH関数を一緒に使用します。

例えば、「comp」というテキストを含むセルをチェックし、対応する値を返したい場合は、以下の数式を適用してください。以下のような結果が得られます:

=IF(ISNUMBER(SEARCH("comp",C2)), "No", "Yes")

doc if function 11

注意:

  • 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」が返されます。スクリーンショットをご覧ください:

=IF(D4>DATEVALUE("4/15/2019"), "Yes", "No")

doc if function 12

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

doc if function 13

ケース2: 30日以上前または後の日付をチェックするためのIF関数:

現在の日付から30日以上前または後の日付を識別したい場合は、TODAY関数をIF関数と組み合わせて使用します。

次の数式を入力してください:

30日以上前の日付を識別する: =IF(TODAY()-C4>30,"Older date","")

30日以降の日付を識別する: =IF(C4-TODAY()>30, "Future date", "")

doc if function 14 doc if function 15

注意: 両方の結果を1つの列にまとめたい場合は、次のようにネストされたIF関数を使用する必要があります:

=IF(C4-TODAY()>30, "Future date", IF(TODAY()-C4>30, "Older date", ""))

doc if function 16


例4: AND、OR関数と組み合わせたIF関数の使用

ExcelでIF、AND、OR関数を組み合わせて使用することは一般的です。

ケース1: すべての条件が真であることを確認するためのIFとAND関数の使用:

設定したすべての条件が満たされているかどうかを確認したいとします。例えば、B4が「Red」、C4が「Small」、D4>200の場合、すべての条件がTRUEであれば「Yes」をマークし、いずれかの条件がFALSEであれば「No」を返します。

次の数式を適用すると、以下のスクリーンショットのような結果が得られます:

=IF(AND(B4="Red",C4="Small", D4>200),"Yes","No")

doc if function 17

ケース2: いずれかの条件が真であることを確認するためのIFとOR関数の使用:

また、IFとOR関数を使用して、いずれかの条件が真であるかどうかを確認することもできます。例えば、列Bに「Blue」または「Red」のテキストが含まれているかどうかを識別し、該当するテキストがあれば「Yes」を表示し、それ以外の場合は「No」を返します。

ここで、次の数式を適用すると、以下の結果が表示されます:

=IF(OR(B4="Red",B4="Blue"),"Yes","No")

doc if function 18

ケース3: ANDおよびOR関数と組み合わせたIF関数の使用:

この例では、IF関数をANDおよびOR関数の両方と同時に組み合わせます。次の条件を確認する必要があるとします:

  • 条件1: 列B = 「Red」かつ列D > 300;
  • 条件2: 列B = 「Blue」かつ列D > 300.

上記のいずれかの条件が満たされた場合、「Match」が返され、それ以外の場合は「No」が返されます。

次の数式を使用すると、必要な結果が得られます:

=IF(AND(OR(B4="Red",B4= "Blue"), D4>300), "Match", "No")

doc if function 19


例5: ネストされたIF関数の使用

IF関数は、条件をテストし、条件が満たされた場合に1つの値を返し、満たされなかった場合に別の値を返します。しかし、時には複数の条件を同時にチェックし、異なる値を返す必要がある場合があり、そのような場合にはネストされたIFを使用して解決できます。

ネストされたIFステートメントは、複数のIF条件を組み合わせたもので、IFステートメントの中にさらにIFステートメントを入れ、それを複数回繰り返すことを意味します。

ExcelにおけるネストされたIF関数の構文は次の通りです:

=IF (条件1, 結果1, IF (条件2, 結果2, IF (条件3, 結果3,…)))

注意: Excel 2007以降では、1つの数式に最大64個のIF関数をネストでき、Excel 2003以前では7個のネストされたIF関数しか使用できません。

ケース1: 複数の条件をチェックするためのネストされたIF関数:

ネストされたIF関数の典型的な使用例は、学生の成績に基づいて評価を割り当てることです。例えば、生徒と試験の点数が記載された表があり、以下の条件に基づいて点数を分類したいとします:

doc if function 20

次の数式を適用すると、点数が90以上の場合「Excellent」、80以上の場合「Good」、60以上の場合「Medium」、それ以外の場合「Poor」という結果が得られます。

=IF(C2>=90, "Excellent", IF(C2>=80, "Good", IF(C2>=60, "Medium", "Poor")))

doc if function 21

上記の数式の説明:

doc if function 22
  • IF(C2>=90の場合、真なら"Excellent"を返し、そうでなければ
  • IF(C2>=80の場合、真なら"Good"を返し、そうでなければ
  • IF(C2>=60の場合、真なら"Medium"を返し、偽なら"Poor"を返す)))

ケース2: 数量に基づく価格計算のためのネストされたIF関数:

ネストされたIF関数は、数量に基づいて製品価格を計算するためにも使用できます。

例えば、顧客に数量に基づいた価格割引を提供したい場合、購入数量が多いほど割引が大きくなります(下のスクリーンショットを参照)。

doc if function 23

総価格は数量×価格なので、指定された数量にネストされたIFが返す値を掛ける必要があります。次の数式を使用してください:

=D2*IF(D2>=101,16, IF(D2>=50, 21, IF(D2>=25, 26, IF( D2>=11, 30, IF(D2>=1, 39, "")))))

doc if function 24

注意: スタティックな価格の数字の代わりにセル参照を使用することもできます。元データが変更された場合、数式を更新する必要はありません。次の数式を使用してください: =D2*IF(D2>=101, B6, IF(D2>=50, B5, IF(D2>=25, B4, IF( D2>=11, B3, IF(D2>=1, B2, "")))))

doc if function 25

ヒント: 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"が返されます。

最高のオフィス生産性ツール

Kutools for Excel - 群衆から一歩抜け出すためのお手伝い

🤖 KUTOOLS AI アシスタント: 次の基盤でデータ分析を革新: スマート実行   |  コード生成  |  カスタム数式を作成  |  データを分析しチャートを生成  |  Kutools 機能を呼び出し
人気機能: 重複を検索、ハイライト、または特定  |  空白行を削除  |  データを失うことなく列やセルを結合  |  数式を使わずに丸める ...
スーパーVLookup: 複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト: 簡単ドロップダウンリスト  |  依存ドロップダウンリスト  |  複数選択ドロップダウンリスト...
列マネージャー: 特定の数の列を追加 |  列を移動 |  非表示列の可視性ステータスを切り替え 列を比較して同じおよび異なるセルを選択 ...
注目機能: グリッドフォーカス |  デザインビュー |  強化された数式バー |  ワークブックとシートマネージャー | リソースライブラリ (オートテキスト) |  日付ピッカー |  ワークシートを統合 |  セルの暗号化/復号化 |  リストによるメール送信 |  スーパーフィルター |  特殊フィルタ(太字、斜体、取り消し線のフィルタリング...) ...
上位15のツールセット12個の テキストツールテキストの追加特定の文字を削除 ...) |  50以上の チャート タイプガントチャート ...) |  40以上の実用的な 数式誕生日に基づいて年齢を計算 ...) |  19個の 挿入ツールQRコードの挿入パスからの画像挿入 ...) |  12個の 変換ツール単語に変換する通貨変換 ...) |  7つの マージ&分割ツール高度な行のマージExcelセルの分割 ...) |  ... など
お好みの言語でKutoolsを使用できます。英語、スペイン語、ドイツ語、フランス語、中国語、その他の40以上の言語に対応!

Kutools for Excelは300以上の機能を誇り、必要なものがクリック一つで利用可能です...


Office Tab - Microsoft Office(Excel含む)でタブ形式の読み書きを可能に

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス疲れとはおさらば!
  • 複数の文書を閲覧・編集する際の作業効率を50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。