linkAさん最近エクセルへ入力する際、社内でいろいろルールが増えてきて、いちいち自分の頭で判断するのが大変です。条件によって入力する内容がきちんとルール化されているのであれば、IF関数がおすすめですよ。IF関数を設定すれば、自分の頭でいちいち判断しなくてOKなので効率良いですし、何よりもストレスフリーですよ!では、詳細を解説していきますね。さいごにはじめに本題に入る前に、この記事がおすすめな人を挙げてみます。SUM関数が使えている」想定での記事となります。※自信がない方はこちらの記事で学んでください。→【超初心者向け】Excel(エクセル)の「数式」とはIF関数とは?読み方はイフ関数と読みます。関数名の”IF”は「もしも~」を意味する英単語から来ていると推測されます。(Microsoftの公式見解がないので)数式ライブラリ上のカテゴリは「論理」です。IF関数の具体的な機能は、英単語と同じく「もしも~の場合」という条件を設定し、その条件に該当した場合と該当しない場合にどの値を表示させるかを設定することができます。一言でいえば、「指定した条件に合わせてセルの値を変えてくれる関数」といえます。難易度は単体なら「初級」レベルだが、組み合わせて使うなら「中級」レベル実はIF関数は人によって評価が分かれる関数かもしれません。単体でみると、関数の中での難易度は初級レベルです。参考までにエクセルのもっとも有名な資格であるMOS(マイクロソフトオフィススペシャリスト)は一般レベルの「スタンダード」と上級レベルの「エキスパート」の2つの難易度がありますが、一般レベルの「スタンダード」から出題されます。IF関数は他の関数と組み合わせて使うことが多いため、複数の関数を同じ数式で扱えないと、IF関数の真の力は発揮できません。そのことを加味すると、習得難易度はだいたい真ん中ぐらいのレベルといえますね。ちなみに、エクセルを使う職場では「IF関数を使えるかどうか」で、おおよそのエクセルスキルを図る物差しになっています。事実、エクセルを使う事務の仕事の求人募集を探してみると、募集要項の中に「VLOOKUP関数とIF関数が使えること」が条件として掲載されていることがけっこうあります。私も事務の職場をマネジメントしていた際は、VLOOKUP関数とIF関数を使えるかどうかを採用基準の目安にしていました。IF関数が活躍する条件分岐の3ケースでは、実際にこのIF関数が活躍するシーンを確認していきましょう。それは「データの条件分岐」です。「データの条件分岐」といっても難しく考える必要はありません。天気によって傘がいる・いらないも条件分岐です。雨なら傘がないとびしょ濡れですので、持っていくと自分の脳内で判断しますね。この判断基準をエクセルで表現するのにIF関数を用いるというイメージです。実際に表現すると、以下のようになります。上記は、A2セルが雨なら”いる”、それ以外は”いらない”という判断をIF関数の数式にしたものですね。(細かい構造は後ほど説明します)このように、最初にIF関数を用いて条件に応じて表示する値を設定しておくと、いちいち頭で考えて入力する内容を変える、といった作業は不要になるのでおすすめですよ。IF関数を実務で使う際、大別して以下の3つの条件分岐に役立ちます。【ケース1】条件に応じて値を変える一番オーソドックスな使い方ですね。先ほどの「天気によって傘がいる・いらないの場合」と同じケースですね。IF関数に慣れるまでは、ひらすらこの使い方を反復すると良いですよ!なお、本記事では、こちらのケースの練習をするためのサンプルファイルを用意しています。【ケース2】条件に応じて計算を変える続いては、ちょっと難易度が上がりますが条件に応じて計算を変えるというケースです。こちらは、IF関数の条件に応じて、数式や関数を活用するという中級者向けな内容ですね。具体例として、目標値に対しての実績の達成率を算出したい場合などが挙げられます。「売上」と「利益」は目標値を上回っていれば良いもの、「原価」は目標値を下回っていれば良いものとすると、達成率を計算する式を変えた方がしっくりくる場合がありますね。わかりやすいように、それぞれ「UP」「DOWN」というように、目標値に対して実績がどうなっていれば良いかをB列にフラグを立て、達成率を示すE列はIF関数で条件分岐するように設定してみたのが次の内容です。B列が「UP」であれば「実績÷目標値」の数式、それ以外は「目標値÷実績」と、条件に応じて計算が変わるようにしたので、達成率のE列を見るだけで「原価」が目標値を下回っていることがわかりますね。このように、条件に応じて計算を変えたい場合にIF関数は有効なんです。表現として「計算」としていますが、計算以外にも関数で行なうことができる処理全般を設定することが可能ですよ。その他の具体例は、別記事で順次解説していく予定です。最後ですが、意外と使用頻度が高いケースですが、他の関数を使っている中で、何かしらのエラーが表示されてしまう場合に、そのエラー表示を回避することを指します。関数の引数となるデータを入力する前など、エラー表示になってしまうケースは多いです。先ほどの【ケース2】のサンプルでいえば、「実績」が未入力だと、E3セルの数式がエラーになってしまいます。このエラー表示を隠すために、もう1つIF関数を用いるとエラー表示を回避させることができます。こちらは、やや難しいかもしれませんが、IF関数の中にIF関数を入れ子状にすることを「ネストする」と表現します。この方法以外にもエラー回避する方法は複数ありますので、詳細は別記事で順次解説していく予定です。それでは、IF関数の活躍するケースを理解したところで、実際にIF関数を使っていくために必要な知識を学んでいきましょう!IF関数の構文を理解しよう!IF関数を記述する際の構文は次のとおりです。判断基準となる条件を指定します。”A4セルは○ですか?”というようなYES/NOでできる質問を設定するイメージです。※YES/NOがエクセルでいうTRUE/FALSEといえます。論理式の結果が真(TRUE)の場合に返す値を指定します。”A4セルは○ですか?”という質問にYESの場合に設定しておく値といえます。※未指定の場合、”0”が返ります。論理式の結果が偽(FALSE)の場合に返す値を指定します。”A4セルは○ですか?”という質問にNOの場合に設定しておく値といえます。※未指定の場合、”0”が返ります。「データ型」とは、その引数に指定できるデータの形式を指します。指定外のデータ形式を指定すると、関数の戻り値(返り値)はエラーとなりますのでご注意ください。この「データ型」を把握していると、不要なエラーを回避したり、他の関数と組み合わせる際に役立ちますよ。他の関数とどう組み合わせていくかは別記事でご紹介していきますね。ちなみに、IF関数自体の戻り値(返り値)は、引数「真の場合」「偽の場合」のいずれかのデータの形式に準じますので、文字列や数値、日付/時刻など、どのデータ型になるかはケースバイケースとなります。引数「論理式」を設定するためには「比較演算子」の理解が必要!IF関数の要点は引数「論理式」できちんと条件を表現できるかどうかです。本記事でもサンプルでさらっとお見せしてきた「A2=”雨”」や「B2=”UP”」の部分ですね。“A2”や”B2”などのセル番地(左辺)と”雨”と”UP”といった「定数」(右辺)の間に”=”[イコール]があるのはお気づきでしょうか?この”=”[イコール]が比較演算子のひとつになります。他にも比較演算子は複数ありますが、いずれも算数・数学で見慣れた記号のはずです。A1<>B1右辺と左辺の間に上記の比較演算子を用いて、ご自身で設定したい条件式をつくれば良いのです。慣れないうちは大変かもですが、何回もいろいろな式をつくってみると自ずと感覚的に理解できてきますよ。ちなみに、”>”や”<”は混乱しやすいですが、パックマンみたいに口が空いている方が大きいということになりますので迷ったら思い出してください。今回の題材は次のとおりです。「合格点」は80点のため、A2セルに”80”の値が入っており、「得点」は今回79点だったので、B2セルに”79”の値が入っています。上記の場合、合格なのか不合格なのかの「合否」をC2セルへIF関数の数式を入れてみましょう。実際に操作しよう!可能であれば、以下のサンプルファイルをダウンロードして実際に操作してみてください。※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。(上記リンクから登録フォームへ遷移します)ファイルを開いたら次の手順を実施してください。※赤字の部分をコピーして貼り付けてください。問題なく”不合格”という値がC2セルへ表示されたらOKです!B2セルの値を変えてみて、C2セルの値がどう変わるかもいろいろ試してみてくださいね。(関数あり)」シートもサンプルファイル内に用意していますので、必要に応じてご活用くださいね。IF関数の仕組みを理解しよう!なんとなくIF関数の機能がイメージできましたか?ここで、IF関数が裏側でどういう仕組みなのかも、きちんと理解しておきましょう。【STEP1】引数「論理式」の結果が”TRUE”なのか”FALSE”なのか判定エクセル側で数式中の引数「論理式」の結果、”TRUE”なのか”FALSE”なのか判定します。今回の例では、「B2>=A2」でしたが、セルの値を代入すると「79>=80」となり、残念ながら”79”は”80”よりも小さい数値なので条件式に当てはまらないため、結果は”FALSE”となります。続いて、エクセル側でSTEP1の結果に基づき、表示される値が変わります。結果が”TRUE”なら引数「真の場合」の値が、”FALSE”なら引数「偽の場合」の値になるということです。今回の例では、結果が”FALSE”なので、引数「偽の場合」に設定していた”不合格”という値がC2セルにセットしたIF関数の戻り値(返り値)になるわけですね。上記の基本的な使い方が十分にできるようになったら必要に応じてご覧ください。【エラー1】「この数式には問題があります~」・・・さいごにIF関数はまずは単体で使いこなせるように、本記事を参照しながら反復練習して、ぜひマスターしてほしい関数ですね。IF関数は単体でももちろん便利ですが、別の関数と組み合わせて使うことで、さまざまシチュエーションで活躍するポテンシャルを秘めているからです。IF関数は「組み合わせのために存在する関数」と言っても過言ではないほど、複数の関数といっしょに使うことで真価を発揮するいぶし銀な万能選手。私も実務で使用する頻度は全関数の中でも1・2位を争うほどです。難点は自由度が高い分、使いどころに個々のセンスや力量がもろに出てしまうところですね。よって、繰り返しになりますが、まずはIF関数単体をマスターすることを優先し、実際の作業で使い倒してください。それで物足りなくなった人には、さらにIF関数を便利に使うための応用テクニックを私の書籍で紹介しているので、こちらもご参考にしていただければと思います。_)m森田IF関数の考え方は、実はエクセルに限らずあらゆるプログラミング言語で共通です。VBAなどのプログラミングも学びたい方は、早めに理解しておくとお得ですよ。プログラミング以外でも、ちゃんとIF関数の数式などに条件を言語化できるようになると、ロジカルな思考方法も身につきやすいという副次的な効果もあるので、ビジネスパーソンはぜひ理解し、使い倒してほしい関数ですね。エクセル専門家のパラレルワーカー。運営ブログは「Excelを制する者は人生を制す」「パラレルキャリアで生きていく。関数(秀和システム)」の他、エクセル本2冊をKindle出版(KDP)。現在は講師業やコンサル業などの独自サービスを絶賛チャレンジ中。趣味は娘を愛でること、読書(主にビジネス書・漫画)、ラーメン食べ歩き。共有:TwitterFacebookPocket無料メルマガはじめました!(特典あり)メールアドレスを登録すればブログではお伝えできない情報を無料で受信できます。「【エクセル中級者向け】VLOOKUP関数で起きるエラー7種類の原因と解決策まとめ」コメントをどうぞ返信をキャンセルする。~作業効率を劇的に変えるExcelの使い方~」(秀和システム)著者。Excel関連の資格は以下を保有。スタンダード通信会社勤務の現役サラリーマン。心が安らぐ瞬間は2人の娘といちゃいちゃする時間。ビジネス書や漫画が大好き。好きな食べ物はラーメン。二郎や蒙古タンメンがお気に入り。Excelを10年間以上ほぼ毎日数時間触り続け、本業でも複数の業界・業種のバックオフィスの設計~運営に携わってきた森田が、業務効率・精度を高めるExcelの活用方法を発信していきます。詳細プロフィールはこちら!無料メルマガはじめました!(特典あり)メールアドレスを登録すればブログではお伝えできない情報を無料で受信できます。