こんにちは。ひとりで.comです。
今日は、ExcelのIF関数の応用的な使い方について紹介していきたいと思います。
IF関数で空白の時に空白と表示させる
Excel(エクセル)の関数処理で、IF関数の使い方については、以前その使用方法について説明をいたしました。以下の記事を参考にしてみてください。
IF関数の使い方おさらい
まずは、簡単にIF関数の使い方についておさらいしていきたいと思います。IF関数は一般的には”論理式”と呼ばれるもので
もし◯◯だったら、☓☓。そうでないならば▲▲
という論理に従って、表示させる数値や文字列を変更するものでしたね。また、この論理式は=で結ばなくても大なり小なり(>,<)といったものでも使う事ができました。例えば、
テストの得点が80点以上ならば、合格。そうでないならば不合格
といったような条件式を活用することもできます。その場合、実際のExcel(エクセル)上では、以下のようにIF関数を使って表示させます。
=IF(C3>=80,”合格”,”不合格”)
上記のように入力することによって、合否結果を表示することができます。これが一般的なIF関数の使い方となりあす。きちんと事前に論理式を考えておくことによって、数値でも文字列でも自由自在に操ることができます。
IF関数で空白の時、空白を表示させる
さて、上述のように便利なIF関数ですが、以下のような問い合わせを頂くことが多々あります。
IF関数を使って、空白の場合、特定の文字列を表示させたいのですが…空白のままだとエラーになってしまうのです。
例えば、数値と数値を使って率を割り出す際、空白のスペースで割ったりすると、エラーになってしまいます。以下のような形です。
上記のような場合、粗利率がどうしてもエラー表示になってしまいます。これでは、表としては大変みすぼらしいので、これをキレイに見せるために、以下のような論理式で考えてみたいと思います。
もし、売上のセルが、空白だったら…、粗利率は「-」と表示させる。
これだったら、キレイに見せられると思います。では実際に数式を考えてみましょう。上記数式では、論理式の”真”の部分は書いてありますが、”偽”の場合は記載されていません。ここを今一度考えて見る必要があります。
もし、売上のセルが、空白だったら…、粗利率は「-」と表示させる。
もし、売上のセルが、空白じゃなかったら、粗利÷売上で計算する。
このように考えることによって、粗利率が表示されている列全てに適用してくれそうです。では実際にどのように数式を入れていけばよいのか見ていきましょう。
以下の図を御覧ください。この図にて、上述のように売上が空白だったら、ハイフンを表示させる。もしそうでなかったら、粗利率を記載する。という論理式を入れようとしています。下の赤枠で囲った値2の部分について、空白を指定するために、何もいれずに数式を作りました。
*数式バーと数式パレットは同じ内容を示しています。
すると…以下のようなエラーが出てしまいます。これだけだと正直なにを言っているのか、またどうすればよいのかがよくわからないかと思います。が、要するに関数の入力値として間違っている、という事です。Excelの関数の基本ルールにおいて、数式内で文字列を扱いたい場合は、「””」ダブルクォーテーションで囲う…という(暗黙の?)ルールがあります。これが適用されていないので、エラーとなってしまったというわけです。
大事なことなので、再度言いますが、
Excelの関数の基本ルールにおいて、数式内で文字列を扱いたい場合は、「””」ダブルクォーテーションで囲う…という(暗黙の?)ルールがあります。
すなわち、先の例で考えると、空白を入れたい…という事に関してこのルールを適用すると、何も数値を入れない…のではなく、「””」ダブルクォーテーションで空白を囲ってあげる、ということをしてあげる必要があります。
では先の例について、その通り「””」ダブルクォーテーションを入れてみましょう。
さて、この結果はしっかり表示されるでしょうか??
表示されましたね。売上が空白の場合は、粗利率が「-」で表示され、それ以外の場合は、しっかり粗利率が計算されて表示されています。
IF関数を使って、空白を処理する場合、「””」ダブルクォーテーションを2つ使って囲んであげる必要があります。ちなみに、題名にあるようにIF関数を使って、空白を空白で表示するには、「-」の部分を同じく「””」ダブルクォーテーションにしてあげることによって、実現可能です。
この空白の場合の処理方法について、IF関数に限らず使う事が多いので是非覚えておいてください。