いまさら聞けないExcelの使い方講座

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 Excel(エクセル)は、仕事や普段の生活で使う機会の多い、最も身近なアプリケーションのひとつです。しかし、「イマイチよくわからないまま使っている」「実は少し苦手……」という人も多いのではないでしょうか? この連載では、いまさら人に聞けないけど、知っていれば必ず役に立つ、Excelを使いこなすためのノウハウを紹介します。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

空欄処理に使えるIF関数

 Excelを使って見積書や請求書を作成することはよくあると思いますが、未入力の明細の金額の欄に「¥0」と表示されたり(①)、エラーが表示されたりして見栄えが悪く、何とかしたいと思った経験はありませんか。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 これは、入力してある数式の計算対象のセルにまだ値が入力されていないために、起こる事象です。このような時にIF関数を使うと、対象のセルに値が入力されていない場合には処理は行わず、ただ空欄を表示させることができます。

 今回は、このようなIF関数の便利な使い方について解説します。まずは、IF関数の概要と基本的な使い方を解説したあと、具体的な使用方法について解説します。

IF関数とは

 IF関数は、条件によって表示する内容を変えたい時に使用する関数で、「IF(論理式,真の場合,偽の場合)」という書式で記述します。このように書くと難しく感じるかもしれないので、簡単な例を挙げてみましょう。英語のテストの得点が70点以上だったら「合格」、70点に達していない場合は「不合格」と表示したいとしましょう。この場合は、「=IF(得点>=70,"合格","不合格")」と記述します。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 最初の引数には「英語のテストの得点が70点以上だったら」のような条件式を記述し、2番目の引数にはその条件に当てはまる時の処理を、3番目の引数には条件が当てはまらない時の処理を書きます。

 IF関数の書式について大まかに理解できたでしょうか。次項では、実際の使用例について解説していきます。

基本テク:目標が達成できたかどうかを判定する

 毎日の売上が目標値に達しているかどうかを判定して、売り上げ記録に表示する例を考えてみます。この例では、毎日10万円以上の売上を目標にしているものとします。売上が10万円に達していたら、売上記録のD列(①)に「目標達成」と表示し、達していなければ「達成できず」と表示してみましょう。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 「売上が10万円に達したら」という条件なので、条件式は「売上高>=100000」となります。10万円も含まれるので、条件式には「>=」のようにイコールも入れます。2つ目の引数には「目標達成」、3つ目の引数には「達成できず」と記述します。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 では、実際に数式を入力してみましょう。まずは10月23日の売上高(セルB4)の評価をするので、セルD4に「=IF(B4>=100000,"目標達成","達成できず")」(②)と入力します。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 数式の中に文字列を記入する時は、「"目標達成"」のように必ずダブルクオーテーションで囲みます。これを忘れているとエラーになるので注意してくださいね。

 数式が確定すると、判定結果が表示されます。10月23日(月)の売上高は100,783円で10万円を超えているので、セルD4には「目標達成」(③)と表示されています。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 オートフィル機能を使って、D列の他のセルにも同じように数式を入力します。セルD4をクリックした状態でマウススポインターをセルの右下に合わせると、マウスポインターの形が変わります(④)。そのままセルD10までドラッグ(⑤)します。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 D列のすべてのセルの判定結果が表示されました(⑥)。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 売上高が10万円に達している日には「目標達成」、達していない日には「達成できず」と表示されました。

応用テク:未入力の明細の金額欄に「¥0」を表示させない

 ではこの基本テクを応用して、未入力の明細の金額欄に「¥0」を表示させないようにする方法を考えてみましょう。今度は請求書(①)の例で考えてみます。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 この請求書のE列(②)には金額を計算するための数式(数量×単価)が入力されています。例えば、セルE3(③)には「=D3*C3」と入力されています。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 6行目以降にはまだ明細データがありませんが、E列には数式はすでに入力されています。例えば、6行目の単価や数量などはまだ何も入力されていない状態(④)ですが、セルE6には数式が入力されているため、計算結果が「¥0」と表示されています(⑤)。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 明細行が1件増えるたびに数式をいちいちコピーするのは面倒なので、最初からE列には数式を入力しておきたいところですが、未入力明細の欄に「¥0」と表示されてしまうのは見栄えがよくないので、IF関数を使って対処します。「数量のセルが空欄なら金額のセルには何も表示せず、空欄でなければ、金額(単価×数量)を計算する」という記述すればよいのです。

 では、「金額」のセルE3に記述する数式を考えてみましょう。「数量のセルが空欄なら」という条件なので、条件式には「D3=""」(⑥)と記述します。「""」は空欄であることを指し、ダブルクオーテーションを2つ続けて入力します。条件に当てはまる場合は空欄を表示するので、2つ目の引数には「""」(⑦)と記述します。当てはまらない場合は、金額を計算するので「D3*C3」(⑧)と記述し、完了です(⑨)。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク
【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 ここでは、セルD3に数量が入力されているので、そのまま金額が表示されました(⑩)。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 オートフィル機能を使って、E列の「金額」のセルに数式をコピーします(⑪)。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 すると、「数量」が未入力の場合、「¥0」は表示されなくなりました(⑫)。

【Excel】明細の未入力の金額欄に「¥0」と表示されるのを防ぐ!エクセルのIF関数の応用テク

 これで見栄えがよくなり、請求書としての品質が向上しましたね。あらかじめ、数式を入力しておきたいけれど、「¥0」と表示させたくないような場合には、このテクニックを応用できます。

IF関数で空欄に対処しよう

 今回は、IF関数を使って、数式の計算対象のセルにまだ値が入力されていない場合の処理について解説しました。

 今回のようなシンプルな請求書のほかにもさまざまな用途で使えます。例えばVLOOKUP関数を使った数式を入力している場合に、IF関数を使用して空欄の処理をしておくと、「#VALUE」などとエラーメッセージが表示されることを防げます。ぜひ使ってみてくださいね。