【Excel】IF関数を総まとめ!基本の使い方から条件分岐まで全部紹介

400以上もの種類があると言われるExcelの関数ですが、なかでも頻繁に利用されるのが「IF関数」です。今回は、IF関数の基本的な使い方はもちろん、「IFS関数」「COUNTIF関数」「IFERROR関数」のような応用的な関数の使い方についても解説していきます。

【Excel】今さら聞けない? IF関数の使い方を覚えよう! IFを含む6つの関数も一挙紹介

Microsoft Excel(以下、Excel)でよく使われるIF関数は、条件を指定できる便利な関数です。知名度のある関数ですが、ちゃんと使える人は意外と多くありません。

「IF関数の仕組みは知っているけど、あまり使ったことがない」
「IF関数は使えるけど、条件が少し複雑になると混乱する」
「IFがつく関数っていろいろあるけど、その違いって何?」

というお悩み・疑問をお持ちの方に向けて、IF関数についていろいろと解説していきます。

IF関数とは? 基本的な使い方を解説

まずはIF関数の式を確認しておきましょう。

【式】
=IF(論理式 , 真の場合の値 , 偽の場合の値)

f:id:okazaki0810:20190919193151p:plain


IF関数は基本的に、「論理式」「真の場合の値」「偽の場合の値」の3要素で構成されます。

「論理式」は条件のことで、その条件に合っていれば「真の場合の値」を表示して、異なれば「偽の場合の値」を表示させることができます。

そして、「論理式」においては「<(しょうなり)」「>(だいなり)」「=(イコール)」を使って条件を指定します。

「A1=1」:A1セルが1と等しい
「A1<1」:A1セルが1より小さい(未満)
「A1<=1」:A1セルが1、もしくは1より小さい(以下)
「A1>1」:A1セルが1より大きい
「A1>=1」:A1セルが1、もしくは1より大きい(以上)
「A1<>1」:A1セルが1でない

ここでは「どの日が夏日だったのかを表示させる」以下の例を挙げて考えてみたいと思います。

夏日は25°C以上なので、C2セルに入力するIF関数の条件式は以下の通りです。

=IF(B2>=25,"夏日","―")

この式をC3セルにも入力してみるとこのように表示されます。

f:id:okazaki0810:20190919193206p:plain

 
注意点としては、「論理式」「真の場合の値」「偽の場合の値」の3つの要素の間は「,(カンマ)」で区切ることです。また、「真の場合の値」「偽の場合の値」を文字列にしたい場合は、上記例のように「“ ”」(半角ダブルクオーテーション)で挟みます。値が数値の場合は、そのまま入力してしまって大丈夫です。

IF関数のエラー値! エラーが出た時の対処法

IF関数を使っているとエラー表示がされることもあります。ここではIF関数使用時によく発生する3種類のエラーとその原因について解説します。

・セルに「#VALUE!」と表示される

IF関数の式のなかで「#VALUE!」となっているセルを参照している場合、IF関数の結果も「#VALUE!」となってしまいます。IF関数の返り値が#VALUE!となる場合は、参照先にエラーが生じていないかを確認しましょう。

また、参照先が「内容は正しいけど、便宜上エラーになっている場合」は、IFERROR関数を使うのもおすすめです。以下の記事ではExcelのエラー値についてより詳しく解説しているので、あわせてチェックしてみてください。(本記事の後半でもIFERROR関数の使い方を紹介しています)

<関連>
【図解】Excelのエラー表示の徹底対策!エラーの種類と原因も解説

・セルの内容が 0 (ゼロ)になる

「=IF(A1>6,,)」のように、IF関数の式で「真の場合の値」と「偽の場合の値」が指定されていないと「0(ゼロ)」という結果が表示されます。値を返すようにしたいのであれば、真と偽の場合の因数を指定してあげましょう。

 

・セルに「#NAME?」と表示される

「#NAME?」と表示される主な原因はスペルミスです。たとえば、「=IF(○○…)」とすべきところを「=IG(○○…)」としてしまうと、セルの内容が「#NAME?」と表示されます。

 

「関数の挿入」を使ってIF関数を入力してみよう

それではここからもう少し実践的なIF関数の使い方を紹介していきます。

Excelでは直接入力するだけでなく、「数式」タブ→「関数の挿入」からでも関数を使うことができます。「関数の挿入」 のウィンドウが現れたら、「IF」を選択して「OK」をクリック。するとIF関数に必要な項目が表示されるので、それぞれに必要な情報を入力しましょう。上記の例であれば、以下のようになります。

論理式:B2>=25
値が真の場合:"夏日"
値が偽の場合:"―"

 

IF関数の結果の値を空白にする方法

IF関数で返す結果の値を空白にしたい場合は、半角ダブルクオーテーションを2つ入力します。先ほどの例で、夏日ではない日(25℃以下の日)を空白にする場合は以下のような式になります。

=IF(B2>=25,”夏日","")

<関連>
ダウンロード可能:PCスキルシートのサンプル(doda)

IF関数とAND・OR関数を組み合わせて複数条件を指定する

IF関数とAND・OR関数を組み合わせると、さらに複雑な条件指定も可能です。それぞれの関数の使い方は以下の通り。

【AND関数】
式:AND(条件1,条件2,条件3,…)
意味:条件1かつ、条件2かつ、条件3かつ…


【OR関数】
式:OR(条件1,条件2,条件3,…)
意味:条件1または、条件2または、条件3または…

たとえば、「気温が25℃未満の土曜日・日曜日」を「行楽日和」と定義したい場合は、「気温25℃未満」という条件と「土曜日・日曜日」という条件をANDでつなぎます。

さらに「土曜日・日曜日」はORを使って以下のように表現しましょう。

f:id:okazaki0810:20190919193254p:plain


上記のようにANDとORを駆使すれば、より高度な条件式をつくることができます。少々複雑ですが、一つひとつの意味を読み解いていけば決して難しくないので、少しずつ慣れていきましょう。

 

3つ以上の複数条件を指定したい時はIFS関数が便利

複数の条件を付ける方法は、ANDやORだけではありません。IF関数の仲間である「IFS関数」を使えば、もっとシンプルに複数の条件を指定できます(Excel2016以降のバージョンで使用可能)。使い方は簡単で、論理式と真の場合の値を1セットとして指定したい条件を書いていきます。ちなみに、条件は最大で127個まで指定できます。

【IFS関数の式】
=IFS(
論理式1 , 真の場合の値1 ,論理式2 , 真の場合の値2…,TRUE,どれにも当てはまらない場合の値 )

さきほどの例をもう一度使って、具体的なIFS関数の使い方をみていきましょう。たとえばIFS関数を使って「25℃以上を夏日にする」という条件に、「30℃以上は真夏日」「35℃以上は猛暑日」という条件を追加してみます。その場合のIFS関数の条件式は以下のようになります。

=IFS(B2>=35,"猛暑日",B2>=30,"真夏日",B2>=25,"夏日", TRUE,"-")

最後の「TRUE,"-"」はどこにも当てはまらない場合の条件式で、論理式には「TRUE」を指定します。

また、IFS関数の注意点ですが、論理式の順番に気をつけなくてはいけません。「猛暑日→真夏日→夏日」のように基準の厳しい順に指定しましょう。

これを逆にしてしまうと、25℃以上がすべて「夏日」として表示されてしまいます。IFS関数を使用する場合は必ず、「範囲の狭い条件(厳しい条件)」から順に指定していくようにしましょう。

IF関数を複数回使って複数条件を指定する(ネスト・入れ子構造)

IFS関数を使わずに、IF関数のなかにIF関数を入れて条件分岐をすることも可能です。そのような構造は「入れ子構造」「ネスト」などと呼ばれ、IFS関数同様より複雑な条件判断をしたいときに利用されます。

それでは先ほどの例(以下の3条件)について、IF関数だけを使って表現してみましょう。

25℃以上30℃未満=夏日
30℃以上35℃未満=真夏日
35℃以上     =猛暑日

この場合の式は以下のようになります。最初に登場するIF関数の「偽の場合の引数」にさらにIF関数が入っているのがおわかりいただけると思います。

=IF(B2>=35,"猛暑日",IF(B2>=30,"真夏日",IF(B2>=25,"夏日","-")))

 

それではもうひとつ、別の例をみてみましょう。以下のような評価基準をもとに3 段階の成績をつけるケースを考えてみます。


【評価基準】
優:80点以上
良:60点以上
可:60点未満

この評価基準をIF関数のネストで表現すると以下のような式になります。

=IF(B2>=80,"優",IF(B2>=60,"良","可"))

また、C2セルの式を3行目以降にもコピーしたい場合は、「オートフィル」という機能を使うと便利です。C2セルの右下にカーソルを置き、黒い十字マークが出たらダブルクリックをします。そうするとオートフィルが実行され、3~7行目にも同じ内容がコピーされます。

 

<関連>
【図解付き】エクセルのオートフィルとは?もっと便利なフラッシュフィルも解説

 

IF関数でセルの色付けは不可!条件に合わせてセルに色付けをするには「条件付き書式」を使う

「条件に合致するセルに色を塗りたい」、そんな時にはどうすればいいのでしょうか。

結論から言うと、IF関数が使えそうですが、IF関数では色付けはできません。IF関数はあくまで真偽の判定のみ可能で、真・偽それぞれの値を返すことしかできません。

条件次第でセルの色付けをするのであれば、「条件付き書式」を使うのがおすすめです。詳しい使い方は以下の記事で紹介しているので、こちらもぜひチェックしてみてください。

<関連>
【Excel】一瞬でデータを見やすくできる!「条件付き書式」ってなに?

IFを含む関数の違いを一挙に解説

最後にIFを含む関数を紹介します。


それぞれの使い方を簡単にご紹介していきます。どれもIF関数の基本がわかっていればすぐに使えるようになりますよ。

条件に合う値の合計・平均・個数を算出する関数|SUMIF・AVERAGEIF・COUNTIFの使い方


この3つは、式がとても似ているのでセットで覚えておきましょう。

【式】
=SUMIF(範囲 , 検索条件 , 合計範囲)
=AVERAGEIF(範囲 , 検索条件 , 平均対象範囲)
=COUNTIF(範囲 , 条件)


日付・曜日・客数が並んでいる表から、月曜日の集客について知りたい場合、下の図のように関数を使えば自動でデータを拾い上げることができます。

f:id:okazaki0810:20190919193320p:plain


それぞれの関数が意味するところは、次のようになります。

SUMIF:月曜日に訪れた客数の合計(上の図では400)
AVERAGEIF:月曜日に訪れた客数の平均値(上の図では80)
COUNTIF:月曜日の日数(上の図では5)


SUMIFSやAVERAGEIFSなど末尾にSがつくと、IFS関数同様、複数の条件指定をできるようになります。あわせて覚えておきましょう。

 

条件に合う値の最大値・最小値を抽出する関数|MAXIFS・MINIFSの使い方


MAXIFS・MINIFSはそれぞれ、指定条件に合致する値の中から最大値・最小値を抽出してくれる関数です。こちらも使い方は簡単なので、さくっといきましょう。

【式】
=MAXIFS(最大範囲, 条件範囲1, 条件1, 条件範囲2, 条件2…)
=MINIFS(最小範囲, 条件範囲1, 条件1, 条件範囲2, 条件2…)

f:id:okazaki0810:20190919193332p:plain


それぞれの関数が意味するところは、次のようになります。

MAXIFS:月曜日に訪れた客数の最大値(上の図では98)
MINIFS:月曜日に訪れた客数の最小値(上の図では62)

 

エラー時に表示させる値を指定できる関数|IFERRORの使い方


IFERRORは「#VALUE!」「#DIV/0!」など、エラーの値を別の文字列に置き換えられる関数

エラーのままだと計算やデータ集計がうまくいかないケースがあるため、そんな時に活用してみましょう。

【式】
=IFERROR(値 , エラーの場合の値)

 

期間内の年数、月数、日数を求める関数|DATEDIFの使い方

DATEDIF関数は2つの日付をもとに、その間に含まれる「年数」「月数」「日数」を算出できる関数です。

【式】
=DATEDIF(開始日,終了日,単位)

上記の図のように、単位に「Y」を入れると「2つの日付の間の年数」を求められます。そして、単位を「M」とすれば「2つの日付の間の月数」、「D」とすれば「2つの日付の間の日数」といった具合です。

なお、単位には「MD(月数と年数を無視した日数)」や「YM(日付と年数を無視した月数)」などの種類もあります。また、この関数は「関数の挿入」からは入力できないので、使う際にはセルに直接「=DATEDIF(~」と入力しましょう。

 

IF関数を使えると、できることの幅が大きく広がる

IF関数の仕組みは簡単ですが、意外と奥が深い関数です。ご紹介してきたようにほかの関数と組み合わせることで、できることの幅が大きく広がります。

そして、IF関数の仕組みがわかれば、それに関連するSUMIF・COUNTIFなどの関数も使いやすくなるので、積極的に活用してみてはいかがでしょうか。

 

【関連記事】
Excel(エクセル)記事まとめ
覚えておけば残業知らず!Excel時短記事まとめ
見づらい資料からサヨナラ!Excel資料作成記事まとめ
覚えて仕事を効率化!Excel関数記事まとめ
PowerPoint(パワーポイント)記事まとめ
Word(ワード)記事まとめ

page top