Excel(エクセル)で使用できるIF関数は、対象の条件に応じて、表示内容や処理方法を変更する便利な関数です。使いこなすことで、業務の効率化につながります。本記事では、すぐに使える基本編から、知っていると役に立つ応用編まで幅広く解説していきます。
ExcelのIF関数とは?何ができるの?
IF関数は、論理式の条件結果に応じて設定された値を返す関数です。条件による処理の分岐が可能となります。論理式により、『もしAならばa、Aでなければb』といった結果を瞬時に表示できます。具体例として、『75点以上で合格、それ未満であれば再試験が必要となる試験』について考えてみましょう。この場合、IF関数を使い『もし、75点以上であれば合格、75点未満であれば再試験』という式を入力すると、対象セルに点数を入れるだけで『合格』『再試験』の文字が自動表示可能です。
ExcelのIF関数の基本の使い方
基本的な使い方を解説します。今回の例は先ほど挙げた試験内容からみていきましょう。『もし、75点以上であれば合格、75点未満であれば再試験』としました。IF関数式の基本形は、『=IF(論理式,真の場合,偽の場合)』です。値が条件に合うことを『真の場合(TRUE)』、合わないことを『偽の場合(FALSE)』といいます。『75点以上であれば合格、それ以外は再試験』を、論理式にすると『=IF(B2>=75,”合格”,”再試験”)』です。
一つずつ入力したい場合は、下記の手順となります。
- セルC2を選択し、fx(関数の挿入)をクリック
- IFを選択
- 論理式『B2>=75』、真の場合『”合格”』、偽の場合『”再試験”』と入力の上、OKを選択
C3以下はオートフィルでコピーし、完成です。
ExcelのIF関数の条件指定の方法
条件指定の方法は次のとおりです。
IF関数で使う文字列の意味
ここでの文字列とは、数値や数式として機能するもの以外を指します。具体的には、かな文字や漢字、英字などが該当します。また、文字列を入力する際は、『”(ダブルクォーテーション)』で囲みましょう。数式や数字であっても、ダブルクォーテーションを使って囲むことで、文字列と認識し、表示できます。
ポイント
- 文字列は「” ”」ダブルクォーテーションで囲む
複数条件を指定する方法
IF関数の中に、さらにIF関数を入れることで、条件を複数指定することが可能です。これを入れ子、あるいはネストと呼びます。具体的な方法は次のとおりです。
3つの複数条件を指定する方法
先ほどあげたテスト結果を三段階のランク分けに変更します。「もし、75点以上であればA、50点以上75点未満であればB、50点未満であればC」としました。C2に入力する式は次のとおりです。
4つ以上の複数条件を指定する方法
4つ以上の複数条件でも同じように指定できます。ただし、条件が増加すると入れ子)が続き、式が煩雑になってくるという問題が生じます。後述するIFS関数を利用すると、式が簡潔になるため必要に応じて利用するとよいでしょう。
今回は、具体例として「もし、75点以上であればA、50点以上75点未満であればB、30点以上50点未満であればC、30点未満であればD」とします。C2に入力する式は次のとおりです。
ExcelのIF関数がもっと便利になる5つの使い方
ExcelのIF関数処理をもっと便利にする使い方を紹介します。
空白処理
『もし、75点以上であれば合格、75点未満であれば再試験』をIF関数で表した場合、セルに数字が未入力の場合は自動で0点と判断され、『再試験』と表示されます。このような場合や指定セルが空白の場合に、空白表示にしておきたい場面もIF関数を利用した空白処理が使用可能です。
同様な処理は、請求書などの数式利用時をはじめ、幅広い状況で使えるため重宝します。事前に数式を入れておきたい場合や対象セルが空白の場合、該当セルも一緒に空白にしたい場合などに便利です。空白はダブルクォーテーション二つで表します。式は次のとおりです。
IFS関数
先ほど、IF関数で入れ子が続くと式が煩雑になる、と解説しました。ここでは、その問題を解消するため、IFS関数を用いてシンプルにしていきます。IFS関数は『複数の条件を判定し、結果に応じた値を返す関数』のことです。
たとえば、「もし、75点以上であればA、50点以上75点未満であればB、30点以上50点未満であればC、30点未満であればD」とした場合、IF関数では次の式になります。『=IF(B2>=75,”A”,IF(B2>=50,”B”,IF(B2>=30,”C”,”D”)))』対して、IFS関数を用いると、同内容の式が『=IFS(B2>=75,”A”,B2>=50,”B”,B2>=30,”C”,TRUE,”D”)』と、シンプルに表せます。
特に、条件数が増えた場合、IFS関数を用いた方がわかりやすくなるのでおすすめです。ただし、IFS関数が利用できるのはOffice 2016以降であるため、注意が必要です。
AND関数
IF関数では、『Aの場合はa、Bの場合はb』というふうに、単独の条件しか選べませんでした。さらに複雑な条件下、たとえば『AとB、二つの条件をどちらも備えたもの』や、『三つ以上の複数条件すべてに合致するもの』を洗い出したい時には、AND関数と組み合わせます。今回は『筆記試験で75点以上』かつ『面接試験で80点以上』の人だけを、『合格』とする表を作成します。式は次のとおりです。
『=IF(AND(B2>=75,C2>=80),”合格”,”不合格”)』二つの条件を同時に満たす必要があるため、どちらか片方だけが合格点に達していても『不合格』と表示されます。
OR関数
OR関数も、IF関数と組み合わせて利用します。AND関数同様、複雑な条件に対応でき、『複数の条件の内どれか一つに合致する場合』を表すことが可能です。今回は『筆記試験で75点以上』または『面接試験で80点以上』のどちらか片方を満たしていれば、『合格』とする表を作成します。
式は次のとおりです。『=IF(OR(B2>=75,C2>=80),”合格”,”不合格”)』どちらか一つの条件を満たしておけばよいため、どちらか片方だけが合格点に達している場合『合格』と表示されます。
あいまい条件
IF関数でも工夫すれば、特定の文字列を含む場合は処理a、特定の文字列を含まない場合は処理b、とすることが可能です。たとえば、図のように「東京都渋谷区」「千葉県千葉市」「神奈川県横浜市」「東京都足立区」など、複数の住所がある中から、東京都の人だけを抜き出す、というような状況です。
エクセルにはワイルドカードと呼ばれるあいまいな文字を検索するのに便利な機能があります。”*”(アスタリスク)や、”?”(クエスチョンマーク)の利用による検索です。しかし、そのワイルドカードは、IF関数の論理式では利用できません。そのため、残念ながら、IF関数単独ではこのようなあいまいな条件下での処理はできないのです。
あいまい条件を利用したい場合は、COUNTIF関数と合わせて使うことが必要になります。具体的な式は次のとおりです。『=IF(COUNTIF(B6,”東京都*”)=1,”○”,”×”)』今回は、「東京都」が文字列の最初につくことが確定しているため、アスタリスクは文字列の後ろにだけ置いています。これが、商品番号など文の途中に来る文字列を検索する場合は、二つのアスタリスクで文字列を挟む必要があります。たとえば、商品番号にZAがつくものだけを抜き出すことが可能です。具体的な式は次のとおりです。『=IF(COUNTIF(E2,”*ZA*”),”○”,”×”)』
まとめ:ExcelのIF関数を使いこなして、集計や分析を自動化しよう
IF関数は幅広く活用できる便利な関数です。集計や分析の自動化はもちろんのこと用途に応じて表示を調整できるスマートさも魅力です。ぜひ、本記事を参考に、使いこなして集計や分析の自動化に役立てましょう。
商品管理表や名簿など、Excel(エクセル)で表を作るときに入力する言葉の種類が限定されている場合があります。このような場合は、プルダウン機能を使うことで、入力ミスを防ぎ、業務の効率化につながります。プルダウン機能の作成方法や編集方法につい[…]
「Excelで改行できたら見た目が良くなるのに」と頭を悩ませたことはありませんか?『Enter』を押してもセルが移動するだけのため、改行できないと思っている人も多いでしょう。しかし実際は簡単に行えます。本記事では、Excelで改行や削除の手[…]