【Excel(エクセル)初心者向け】IF関数を基本から応用まで徹底解説

エクセルで、条件によって表示する値を変えたい場合などに使うのがIF(イフ)関数。

初めは少し難しくても、コツを覚えれば便利なこと間違いなしです。今回は、IF関数の基本の使い方から応用まで、今すぐ使えるポイントを紹介します。

*この記事ではOffice2013を例に解説しています

【EXCEL初心者向け】IF関数を基本から応用まで徹底解説_OGP

IF関数について~基本編~

ifとは英語で「もし~」という意味ですが、関数で使う場合には「ある条件が成立するときは○○をする、成立しないときは××をする」というように、指定した条件に合うか合わないかで処理を変更したいときに用います。

IF関数の構文:「=IF(論理式,真の場合の処理,偽の場合の処理)」

真や偽を難しく考える必要はありません。真の場合は条件に合った場合、偽の場合は、条件に合わなかった場合という意味です。

下記の例(テストの点数を評価するケース)で考えてみましょう。

【EXCEL初心者向け】IF関数を基本から応用まで分かりやすく解説_テストの点数を評価するケース

ここでは、「英語の点数が80点以上のときに○、80点未満のときに×」を表示させるようにしてみましょう。

論理式には条件であるB3>=80を入力します。論理式は、必ず「●=▲」という比較演算子が間に入る書式となります。比較演算子には以下の6種類あります。

  • A = B →AとBは等しい
  • A > B →AはBより大きい
  • A < B →AはBより小さい
  • A >= B → AはB以上
  • A <= B → AはB以下
  • A <> B → AはBと等しくない

・真の場合…真の場合の処理(TRUE)には「”○”」を入力します。

・偽の場合の処理…偽の場合の処理(FALSE)には「”×”」を入力します。そしてセルD4以降にも反映させるためにコピーして貼り付けましょう。

真の場合の処理・偽の場合の処理には数値や数式または文字列を入れることができますが、文字列を挿入する場合には二重引用符(“)で囲う必要があります。逆に数式を入れるときに二重引用符(“)は必要ありません。二重引用符を使用すると囲われた中にあるものを文字列として認識し、計算が行われず、数式などがそのままセルに表示されるので注意しましょう。

なお、「文字列」とは、一般的には図形や写真と区別するための文字全般のことをいいますが、エクセルで文字列という場合、数値や数式以外のかな文字や漢字、英字のことを指します。

通常IF関数では、判定条件は1つしか設定できませんが、ANDやORという関数を併用することで複数条件を指定できます。

テストの点数の例を使って説明します。「fx(関数の挿入)」でIFを選択した場合、1つの条件のみを指定することになるので「=IF(B3>=80,”○”,”×”)」となりましたが、数式バーにマウスポインターを合わせると、AND、OR関数を手動で入れることができます。ここでは「英語の点数が80点以上、もしくは数学の点数が80点以上の場合は○、そうでなければ×」という条件を指定するとしましょう。この場合、構文は「=IF(OR(B3>=80,C3>=80),”○”,”×”)」となります。ANDを使用する場合も同様の方法です。

このIF関数内での関数の併用が理解できれば、3つ以上の条件を指定する複雑な構文も作ることができます。再度、テストの例で「英語の点数が80点以上ならば優、70点以上ならば良、それ以外ならば可」という条件を指定することにしましょう。この場合「=IF(B3>=80,”優”,IF(B3>=70,”良”,”可”))」とすれば3段階に表示を分けることができます。これを応用していけばいくつでも条件を指定できます。

8,568通り、あなたはどのタイプ?

IF関数について~応用編~

エクセルでは、空白処理をすることで無駄な作業やエラーを出さないようにすることができます。条件を指定したセルに値が入っていないとき、通常通りIF関数を使用するとエラーが出てしまうので適切な処理ができません。そこで、「指定したセルが空白の場合、結果を表示するセルも空白にする」という指定をしておくと正しい処理がされます。

【EXCEL初心者向け】IF関数を基本から応用まで分かりやすく解説_IF関数応用編

SUM(合計)で指定した範囲内に値が入っていないセルがある場合、構文をそのままコピーすると0(ゼロ)が表示されてしまいます。例えば、10人分のテストを行ない、各々3教科の合計点数を計算するとしましょう。1~5人目までは点数が入っていますが6人目以降は未記入の場合、6人目以降の合計のセルを空欄にしておきたいのに0と見なされ×が表示される、といった具合です。(左図)

そんなときにはIF関数とAND関数を併用してみましょう。合計を表示したいセルをE3、SUMで計算したいセルの範囲をB3~D3(以降のセルはコピー)とします。このときの構文を「=IF(AND(B3=””,C3=””,D3=””),””,SUM(B3:D3))」とすれば合計に0が表示されなくなり、計算もしないという処理になります。(右図)

「IFERROR関数」でエラーを表示させないようにする

また、数式を利用した際にセルに「#N/A、#VALUE!」というようなエラー文が表示されてしまうときは、「IFERROR関数」を使うとエラーが表示されなくなります。たとえば「=IFERROR(A2/B2,”×”)」と入力した場合、A2÷B2を計算してエラーが出た場合には×が表示されることになります。

「COUNTIF関数」と「アスタリスク(*)」であいまいな条件を指定する

IF関数では「○○を含む」というあいまいな条件指定もできます。たとえば書籍タイトルが入力された表の中で「Excel」という単語が入っている書籍の数を数えたいとしましょう。そのとき「=COUNTIF(A2:A10,”*Excel*”)」とすれば「Excel」という単語が入っている冊数を数えられます。「COUNTIF関数」とは指定した条件に当てはまるセルの個数を数えたいときに使う関数です。アスタリスク(*)はワイルドカードとも呼ばれ、不特定かつ複数の文字を指定するときに使います。

「EXACT関数」で複数の文字列に違いがあるか確認する

文字列に関係する関数として「EXACT関数」があります。EXACT関数は似たような2つの文字列を比較して同じかどうかを調べる関数です。「=EXACT(A2,B2)」と入力するとセルA2とB2の文字列を比べて違いがあればFALSEが表示される関数です。

IF関数には関連する関数や同時に利用すると便利な関数がいくつかあります。先にも紹介したCOUNTIFとSUMの他にVLOOKUP関数もその1つです。VLOOKUPとは指定範囲から数値や文字列などを検索して表示する関数ですが、検索するセルに空欄があるとエラーになってしまいます。IF関数と組み合わせることで検索するセルが空欄の場合は何も表示しないという指定ができ、エラーを避けられます。

複数の条件を順に調べ、その結果に応じて異なる値を導く「IFS関数」

IFS関数とは複数の条件を順に調べ、その結果に応じて異なる値を導く関数です。基本の構文は「=IFS(論理式1,1が真の場合,論理式2,2が真の場合,論理式3,3が真の場合)」です。

【EXCEL初心者向け】IF関数を基本から応用まで分かりやすく解説_IFS関数について

IF関数では「=IF(論理式,真の場合,偽の場合)」というように1つずつ条件を指定していかなければならないので関数が複雑になりがちでしたが、IFS関数を使うことで簡潔化され4つ以上の条件を指定しやすくなりました。IFSはIFを簡略化したものと言ってもよいでしょう。

条件が3つの場合のIFとIFSの例

  •  =IF(C3>=80,”優”,IF(C3>=70,”良”,”可”))
  •  =IFS(C3>=80,”優”,C3>=70,”良”,C3<70,”可”)

条件が4つの場合のIFとIFSの例

  •  =IF(C3>=80,”優”,IF(C3>=70,”良”,IF(C3>=60,”可”,”不可”)))
  •  =IFS(C3>=80,”優”,C3>=70,”良”,C3>=60,”可”,C3<60,”不可”)

なお、IFS関数はOffice 2016以降でのみ使用可能になっています。

監修者:たくさがわつねあき(著者・インストラクター)

たくさがわつねあき氏

パソコン教室を運営する傍ら、初心者への直接の指導経験を元に執筆活動を行う。2008年「これからはじめるパソコン超入門の本」で著書デビュー。代表作に「これからはじめるエクセル超入門の本」の他、「たくさがわ先生が教える」シリーズ(技術評論社)、「大きな字だからスグ分かる」シリーズ(マイナビ)がある。指導経験と自筆の漫画を活かした執筆が得意で、「たくさがわ先生が教えるパソコン超入門の本 Windows10 & Excel & Word対応版」など、初心者向け入門書やビジネス向け文庫本、計20冊を刊行。内容はiPad、Excel、ショートカット、困ったを解決、デジカメ、安全対策など多岐にわたる。いずれもメディアで紹介され、好調に売上を伸ばしている。寄稿に、「孫育てのツボ – デジタル機器を使う」(毎日新聞)、「どうしてる?パスワード&暗証番号」(女性セブン)などもある。

文:リクナビネクストジャーナル編集部

あわせて読みたい

PC_goodpoint_banner2

Pagetop