「IF関数」は特に使用頻度が高い関数の為、Excelを使い始めた方でも一度は耳にしたことがあるかもしれません。
この記事では、意外と使いこなすのが難しい「IF関数」の基本から応用的な使い方まで詳しく解説していきます。
IF関数とは条件によって処理を分岐する関数である
IF関数とは、基本的には条件を決めて、その条件に当てはまっていた場合と、そうでない場合で処理を分岐させる為に使用する関数です。
基本的な式は以下の通り
=IF(倫理式,[値が真の場合],[値が偽の場合])
ただ、これでは初心者の方は覚えづらいので、言葉で覚えたほうがイメージしやすいかもしれません。
=IF(倫理式(ここが〇〇だったら),[真の場合(〇〇の時はこうする)],[偽の場合(××の時はこうする])
など、筆者が関数を覚える時には言葉で覚えるようにしてたので、後輩などにもおすすめしています。
皆さんの覚えやすい方法で計算式の記述方法を覚えておきましょう。
IF関数の基本の使い方
IF関数の基本的な使い方では、倫理式の部分は「>(大なり)」「<(小なり)」「=(イコール)」を使用して条件を決めます。
・A1=1→「A1」の値が「1」と等しい
・A1>1→「A1」の値が「1」より大きい
・A1>=1→「A1」の値が「1」以上
・A1<1→「A1」の値が「1」より小さい
・A1<=1→「A1」の値が「1」以下
・A1<>1→「A1」の値が「1」以外
基本的にはこのように、条件を指定し、その条件に合っていれば「真の場合」間違っていれば「偽の場合」の処理を行う事になります。
それでは、使い方の例を見てみましょう。
この条件式では、B2のセルにある合格点「以上」をそれぞれの生徒のテスト点数が越えているか判定する物になります。
合格点の「70点以上」の場合は「合格」
「70点」を下回っていれば「不合格」とセルに表示します。
※今回の例では、合格点は変わらずB2のセルを参照したい為「絶対参照($)」で行と列それぞれを固定。
※関数の計算結果に「文字列」を入れたい場合、「“ “(ダブルクォーテーション)」で表示させたい文字列を囲う。
このように、田中さんは70点を越えている為「合格」、佐藤さんは70点を越えていない為「不合格」、山田さんは70点「以上」の条件に当てはまる為「合格」となります。
IF関数の応用的な使い方
IF関数の使い方は様々で、先ほどの例のように「以上」「以下」などの使い方以外の使用方法を紹介します。
空白のセルにだけ(空白以外のセルにだけ)特定の処理をしたい
IF関数の使い方で意外と多いのがこの使い方。
今回の例では、個数が未入力の時に、合計金額に数字を反映させたくない場合に使用してみましょう。
個数がC列に入力される為、条件式には「空白以外」を指定したい為、「以外」を指定する時に使う「<>」と、文字列を指定する場合と同じく「“(ダブルクォーテーション)」を2回連続で入力します。
この時、ダブルクォーテーションの間にスペースの入力は必要なく、文字通り2回連続で入力してください。すると・・・
このように、個数が入力されていない「バナナ」の金額部分のみ「空白」にする事が出来ました。
また、空白の場合だけ処理を行いたい場合は「<>」の部分を「等しい」を表す「=(イコール)」を使用してください。
使用頻度は意外と多い為、この使い方も覚えておきましょう。
IF関数を入れ子構造(ネスト)にして、複数の条件で分岐する
実務であまり使う機会はありませんが「こんな使い方もあるよ!」という方法を紹介します。
IF関数の中に更にIF関数を入れる入れ子構造(ネスト)にしてフローチャートの様に複数回分岐して結果を表示してみましょう。
※入れ子構造とは、関数の計算式の中に関数を使用する方法の事を指します。
この表のように、男性で30歳「以上」の場合はパターン「A」、女性で30歳「未満」の場合はパターン「D」のように、複数のパターンで条件を分岐します。
実際の関数はこのようになります。
計算式の①~④それぞれの部分を言葉に置き換えると・・・
①男性かどうかを判定。
男性の場合→②へ
男性ではない場合→③へ
②年齢が30歳以上かどうかを判定
30歳以上の場合→パターン「A」
30歳未満の場合→パターン「B」
③性別が「女性」で年齢が30歳以上かどうかを判定
30歳以上の場合→パターン「C」
30歳未満の場合→④へ
④いずれにも当てはまらない
=「女性」かつ「30歳未満」の為→パターン「D」
という処理になります。
実際の計算結果はこちら
それぞれの条件に合わせてパターン分けが出来ました。
このように、入れ子構造(ネスト)を使用する事で、より複雑な条件分岐も可能です。
エラーが出る原因と対処法
IF関数で計算した際、エラーになってしまう場合があります。
主な原因は下記の通りですので、エラーが出てしまった場合は、対象の箇所を確認してみましょう。
計算結果に「#NAME?」と表示
原因:計算式の入力ミス
よくあるミスですが、先ほどの例のように、条件式に文字列を指定しているのに「“ “(ダブルクォーテーション)」で文字列を挟んでいない場合などにはこのエラーが発生してしまいます。
計算式が間違っていないか、一度確認してみましょう。
計算結果に「#VALUE!」と表示
原因:参照しているセルにエラーが発生している
計算式は合っているのに、このエラーが出る場合は、参照しているセルにエラーが発生している可能性があります。
これもよくありますが、先ほどの「合格点」ようにセルを固定する際に、絶対参照にするのを忘れて参照するセルが変わっていないかなど確認してみましょう。
IF関数の仲間3選(SUMIF(S) / COUNTIF(S) / IFERROR)
ここまで、IF関数の基本・応用の使い方を説明してきました。
ここからは、IF関数のように条件に一致する場合のみ処理を行う関数3選を紹介していきます。
いずれの関数も実務で使う頻度の高い関数となってますので、IF関数と合わせて使い方を覚えておきましょう。
SUMIF・SUMIFS |条件を満した(複数の)項目を合計する
条件を満たしている場合のみ指定した範囲の数値を合計するのがSUMIF・SUMIFS関数です。
それぞれの計算式はこちら
=SUMIF(範囲,検索条件,[合計範囲])
=SUMIFS(合計範囲,範囲1,検索条件1,範囲2,検索条件2…)
例として、下の表のように「くだもの」と「野菜」それぞれの合計金額を計算したい場合は、このようになります。
それぞれ、検索条件に「くだもの」もしくは「野菜」を指定して金額を合計しました。
また、SUMIFS関数を使えば、複数の条件を指定して、条件に当てはまる項目の数値のみ合計する事が可能です。
COUNTIF・COUNTIFS | 条件を満たした(複数の)項目の数を数える
条件を満たした項目の「個数」をカウントするのがCOUNTIF・COUNTIFS関数です。
それぞれの計算式はこちら
=COUNTIF(範囲,検索条件)
=COUNTIFS(範囲1,検索条件1,範囲2,検索条件2…)
例として、下の表のように「くだもの」と「野菜」それぞれの個数を数えたい場合は、このようになります。
それぞれ、検索条件の部分に「くだもの」または「野菜」を指定して個数をカウントしました。
計算結果はこちら
COUNTIFS関数を使用すれば、複数の条件に当てはまる項目の個数をカウントする事が可能です。
IFERROR | エラーが出た場合に指定の処理を行う
Excelでは、様々な要因でエラーが発生することがあります。
エラーを無視したい場合や、エラーの場合に別の文字列が表示されるようにしたい場合に使用するのがIFERROR関数です。
計算式はこの通り
=IFERROR(値,エラー値)
例として、下の表のように「合計金額」を「販売数」で割って、一つあたりの金額を出してみましょう。
この表では「ぶどう」の販売数が「0」。「バナナ」の販売数が「空白」になっています。
計算結果はこの通り。
「ぶどう」と「バナナ」の金額がエラー値になってしまいました。
エラーの状態を放っておくと、SUM関数で金額部分を集計した場合にも計算結果がエラーになってしまったり、後々面倒なことになるかもしれません。
こんな時に使用するのがIFERROR関数です。実際に使用してみましょう。
IFERRORの計算式「値」の部分には、実際の計算式を入力。
今回の例では「合計金額」を「販売数」で割りたいので「C列÷D列」の計算式をいれています。
次に「エラー値」の項目には、値に入れた計算式でエラーが発生した場合に行う処理を入力します。
今回の例では、エラーが発生した場合に「0」の数値を入れるようにしました。
計算結果はこちら。
このように、先ほどエラーが発生していた箇所に「0」が入りました。
今回は数値の「0」を入れましたが、数値のほかにも文字列を入れる事も出来るので、あとの処理がやりやすいように変更してください。
まとめ
今回はExcel初心者の方がつまづきやすい「IF関数」について解説してきました。
IF関数は、Excelに慣れてきても使用頻度が非常に高く、使い方次第で様々な処理が可能になる為、しっかりと理解しておきたい関数の一つです。
その他、SUMIF,COUNTIF,IFERROR関数についても表計算を行う際に非常に役に立つため、合わせて覚えておきましょう。
Excel初心者に役立つ記事を投稿してるので、他の記事も是非ご覧になってくださいね!