「エクセルの関数である条件で結果を変更させたい!」
このように思ったことはありませんか?

・条件を指定して、セルの値を変化させたい!
・複数の条件を使ってデータを分類したい!
・特定の条件に一致するデータだけを抽出したい!



その場合は、ワークシート関数の「IF関数」を
使用すると解決します!
そんな場合に便利なのが「IF関数」です!
この記事では、エクセルを使って「IF関数」を利用する方法を詳しくご紹介します。
基本的な使い方から応用的なテクニックまで、初心者でもすぐに実践できる内容です。
ぜひ最後までお読みください。
【 この記事の概要 】
よく使う度 | |
難しさ | |
覚えておくと安心度 |
関数を使いこなせれば、エクセル作業が何倍も速くなり、ミスも激減します。
でも、どこから始めればいいか迷いますよね?
初心者でもわかりやすくステップアップできる本があれば、効率的にスキルを伸ばせますよ!




この記事を見て「できるようになる」こと
- IF関数の引数の使い方を理解し、適切な設定方法を学べる。
- 複数の条件を組み合わせた処理方法を習得できる。
- IF関数を使用してデータを抽出する方法を理解できる。
IF関数の基本
まずは、「IF関数」について説明します。
IF関数は何ができる?
IF関数は、条件付きのデータ処理を行うことができます。
例えば、A1セルに「100」が入力されているとします。
条件が一致した場合は「A」を返し、条件が一致しなかった場合は「B」を返す。
このように、条件によって別の値を返すという処理を行うことができます。


IF関数の構成


- 論理式 (必須)
- 評価する条件を指定します。
- 値が真の場合 (必須)
- 論理式が、一致(TRUE)の場合に返す値を指定します。
- 値が偽の場合 (任意)
- 論理式が、不一致(FALSE)の場合に返す値を指定します。
より詳しい情報は、Microsoft公式 – IF関数についてを参照してみてください。
論理式の比較方法について
論理式の入力は、次のように記載を行います。
- 以上、 A>=B
- A >= B と指定すると、AはB以上の場合を対象にします。
- 以下、 A<=B
- A <= B と指定すると、AはB以下の場合を対象にします。
- より大きい、A>B
- A > B と指定すると、AはBより大きい場合を対象にします。
- より小さい、A<B
- A < B と指定すると、AはBより小さい場合を対象にします。
- 等しい、A=B
- A = B と指定すると、AとBが等しい場合を対象にします。
- 一致しない、A<>B
- A <> B と指定すると、AとBが等しくない場合を対象にします。
IF関数の使用例
それでは、IF関数の使用例を4つ紹介します。
使用例1: 基本的なIF関数
IF関数を使用して、条件分岐を行う方法を紹介します。
例えば、このようなエクセルデータがあるとします。


B列の点数が60点以上の場合に「合格」、それ以外の場合は「不合格」とC列のセルに表示する場合、
まず、C2セルに次のように記述します。
=IF($B2>=60,"合格","不合格")
引数の解説
この例では、引数を下記の通り設定しています。
- 論理式 ⇒ $B2>=60
- B2の値が60以上かどうかを評価します。
※ この場合、オートフィルを使用して他のセルにコピーするため、
行方向には相対参照・列方向には絶対参照($記号)を使用しています。
これにより、列が固定され、コピー先でも正しく評価されます。
- B2の値が60以上かどうかを評価します。
- 値が真の場合 ⇒ “合格”
- 条件が60点以上の場合(真の場合)に「合格」と表示します。
- 値が偽の場合 ⇒ “不合格”
- 条件が60点以上ではなかった場合(偽の場合)に「不合格」と表示します。
こちらが、IF関数を使用した結果です。
C2セルに60点以上の場合、合格と表示させることができました。


次に、C6セルまでオートフィル機能を使用して、計算式を一括で反映させます。
C2セルの右下にカーソルを合わせて表示される「⁺」を、C6セルまでドラッグアンドドロップします。


C6セルまでドラッグアンドドロップすることで、全てのセルに計算式を反映することができました。


このように、IF関数を使うことで、条件に基づいた値を表示することができます。
使用例2: 条件に一致したら値を表示し、一致しなければ空白にする
条件に一致した場合に値を表示し、一致しない場合は空白を表示する方法を紹介します。


例えば、B列の点数が60点以上の場合に「合格」と表示し、それ以下の場合は空白を表示したい場合
まずC2セルに次のように記述します。
=IF($B2>=60,"合格","")
引数の解説
この例では、引数を下記の通り設定しています。
- 論理式 ⇒ $B2>=60
- B2の値と、B2~B6の平均値を比較して、どちらが大きいか?評価しています。
※ この場合、オートフィルを使用して他のセルにコピーするため、
行方向には相対参照・列方向には絶対参照($記号)を使用しています。
これにより、列が固定され、コピー先でも正しく評価されます。
- B2の値と、B2~B6の平均値を比較して、どちらが大きいか?評価しています。
- 値が真の場合 ⇒ “合格”
- 条件が60点以上の場合(真の場合)に「合格」と表示します。
- 値が偽の場合 ⇒ “”
- 条件が60点未満の場合(偽の場合)に空白を表示します。
※ダブルクォーテーション(“)で囲うことで空白を入力することができます。
- 条件が60点未満の場合(偽の場合)に空白を表示します。
こちらが、IF関数を使用した結果です。
C2セルに60点以上の場合、合格と表示し、それ以下の場合は空白が表示されました。


次に、C6セルまでオートフィル機能を使用して、計算式を一括で反映させます。
C2セルの右下にカーソルを合わせて表示される「⁺」を、C6セルまでドラッグアンドドロップします。


C6セルまでドラッグアンドドロップすることで、全てのセルに計算式を反映することができました。


このように、IF関数を使用することで、空白を入力することも可能です。
使用例3: 複数条件のIF関数
複数の条件を使用したIF関数の例を紹介します。


B列の点数を次のように条件分岐したい場合を考えます。
- 80点以上であった場合、「優」
- 60点以上であった場合、「良」
- 40点以上であった場合、「可」
- それ以外の場合、「不可」
このような条件分岐を行う場合、まずC2セルに次のように記述します。
=IF($B2>=80,"優",IF($B2>=60,"良",IF($B2>=40,"可","不可")))
引数の解説
この例では、引数を下記の通り設定しています。
- 論理式 ⇒ $B2>=80
- B2の値が80以上かどうかを評価します。
※ この場合、オートフィルを使用して他のセルにコピーするため、
行方向には相対参照・列方向には絶対参照($記号)を使用しています。
これにより、列が固定され、コピー先でも正しく評価されます。
- B2の値が80以上かどうかを評価します。
- 値が真の場合 ⇒ “優”
- 条件が80点以上の場合(真の場合)に「優」と表示します。
- 値が偽の場合 ⇒ IF($B2>=60,”良”,IF($B2>=40,”可”,”不可”)))
- 条件が偽の場合に、再度IF関数を使用して次の条件を評価します。
IF関数は、このように条件の中に再度条件を入れ込む(※1 ネスト)ことができます。
- 条件が偽の場合に、再度IF関数を使用して次の条件を評価します。
※1:ネストとは?
ネストとは、関数の中に別の関数を入れ込むことを指します。
複数の条件を評価する場合に便利で、例えばIF関数の中にさらにIF関数を入れることで、
条件が満たされた場合の処理をさらに細かく制御することができます。
こちらが、IF関数を使用した結果です。
C2セルに80点以上の、優を表示させることができました。


次に、C6セルまでオートフィル機能を使用して、計算式を一括で反映させます。
C2セルの右下にカーソルを合わせて表示される「⁺」を、C6セルまでドラッグアンドドロップします。


C6セルまでドラッグアンドドロップすることで、全てのセルに計算式を反映することができました。


このように、IF関数を複数組み合わせる(ネスト)することで、複雑な評価することができます。
IFS関数の導入について
しかし、先ほどの使用例のようにIF関数を複数組み合わせる(ネスト)と構文が複雑になり、可読性が低くなります。
この場合、よりシンプルに記述できる「IFS関数」を使用した方が便利です。
今回の計算式の場合、次のIFS関数を使用すると、次のようになります。
=IFS($B2>=80,"優",$B2>=60,"良",$B2>=40,"可",$B2<40,"不可")


IFS関数については、別の記事で解説を行っています。
合わせてご覧いただけたらと思います。
使用例4: IF関数と他の関数を組み合わせて使用する
IF関数を他の関数と組み合わせて使用することで、より高度な条件分岐が可能になります。


B列の点数が平均点以上の場合「平均以上」、それ以下の場合は「平均未満」とC列に表示したい場合、
まずC2セルに次のように記述します。次のように記述します。
=IF($B2>=AVERAGE($B$2:$B$6),"平均以上","平均以下")
引数の解説
この例では、引数を下記の通り設定しています。
- 論理式 ⇒ $B2>=AVERAGE($B$2:$B$6)
- B2の値と、B2~B6の平均値を比較して、どちらが大きいか?評価しています。
※ この場合、オートフィルを使用して他のセルにコピーするため、
行方向には相対参照・列方向には絶対参照($記号)を使用しています。
これにより、列が固定され、コピー先でも正しく評価されます。
- B2の値と、B2~B6の平均値を比較して、どちらが大きいか?評価しています。
- 値が真の場合 ⇒ “平均以上”
- 条件が平均点以上の場合(真の場合)に「平均以上」と表示します。
- 値が偽の場合 ⇒ “平均未満”
- 条件が平均点未満の場合(偽の場合)に「平均未満」と表示します。
こちらが、IF関数とAVERAGE関数を組み合わせた結果です。
C2セルに平均点以上と表示させることができました。


次に、C6セルまでオートフィル機能を使用して、計算式を一括で反映させます。
C2セルの右下にカーソルを合わせて表示される「⁺」を、C6セルまでドラッグアンドドロップします。


C6セルまでドラッグアンドドロップすることで、全てのセルに計算式を反映することができました。


このように、IF関数はその他の関数と組み合わせて使うことも可能です。
まとめ
エクセルでの条件付きデータ処理を行うIF関数は、非常に多くの場面で活用できます。基本的なIF関数の使い方から、条件の指定方法、応用までを理解することで、業務効率を大幅に向上させましょう。
ポイントのおさらい
ポイント | 説明 |
---|---|
IF関数の基本 | IF関数は、条件に基づいて異なる値を返すことができるエクセル関数です。 |
引数の使い方 | IF関数の引数には、論理式、値が真の場合の値、値が偽の場合の値を 指定します。 |
複数条件の処理 | IF関数をネストすることで、複数の条件を処理できます。 ただし、複雑になるため、可読性に注意が必要です。 |
他の関数との組み合わせ | IF関数を他の関数(AVERAGE関数など)と組み合わせることで、 より高度な条件分岐が可能です。 |
さらに学ぶために
また、VBA(Visual Basic for Applications)を使用することで、IF関数と同様の処理を自動化することも可能です。
関数からさらにステップアップしたい場合には、VBAを使用してみるのも良いかもしれません。
今回の記事で紹介したIF関数を活用することで、残業時間の削減や業務の効率化に役立ててください。