公認会計士や税理士を目指す方は、数字に明るいことに加えて、データを見やすくまとめるスキルも身に着けておきたいものです。
このコラムでは一歩先へ進みたい会計業界の人を対象にExcelの知識を提供いたします。
今回は見積書や請求書などの雛形作成に役立つ「IF関数で#N/Aを非表示にする方法」についてお伝えいたします。
どんな時に#N/Aの表示がされるのか?
前回の記事では、取引先情報を一発で表示させるための「入力規制とVLOOKUP関数の合わせ技」について説明しました。そして記事の最後に「請求書や見積書の商品名を入力規制で設定し、型番や単価をVLOOKUP関数で設定するなどの使い方ができますよ」といった案内をしました。
見積書や請求書などの場合、取引先情報が空欄になることはまずありえませんが、商品情報の場合は空欄になるケースがあります。VLOOKUP関数の「検索値」に指定したセルが空欄の場合、【図1】のように「#N/A」というエラーが表示されてしまいます。
たとえば、セルC10には「=VLOOKUP(B10,$B$17:$D$19,2,0)」と入力されています。この場合、検索値はセルB10となりますが、肝心のセルB10は空欄です。範囲に指定したB17:D19のどれにも該当しないという結果になり、エラーが表示されます。
VLOOKUP関数の検索値に限らず、参照先にデータがない場合には「#N/A(Not Available:利用できませんよ)」とエラーが表示される仕組みになっています。
IF関数を使って#N/Aを非表示にする
【図1】で示したようなケースであれば、「IF関数とVLOOKUP関数の合わせ技」を使うことで#N/Aを非表示にできます。
先ほどのセルC10の場合、「=IF(B10=””,””, VLOOKUP(B10,$B$17:$D$19,2,0))」と入力します。絶対参照の$は、なくても問題ありませんが、あるとコピーの際に便利です。
この式は、
もし、セルB10が空欄なら、空欄を表示しなさい。
そうじゃなければVLOOKUP関数の結果を表示しなさい。
という意味です。
「そうじゃなければ」とは、今回の場合「もしセルB10に数字や文字など、何かしら入力されていれば」という意味になります。
実際にセルC10にこの式を入力すると【図2】のようになります。
#N/Aが非表示になりましたね。C7:C12およびE7:E12にもIF関数を設定すると、随分スッキリします。
金額欄はIF関数とISNUMBER関数の合わせ技
C列やE列はスッキリしましたが、F列の金額欄がまだお困りではないでしょうか。
F列を計算するには、E列のTAX欄を意識しなければなりません。今回の場合は、下記の3通りが考えられます。
この3通りの条件を一つの式にまとめてF列の各セルに入力しなければなりません。式は少し長くなりますが、IF関数は優秀ですから3つの条件ぐらいすぐに処理してくれます。たとえばセルF10の場合、下記のように入力します。
「=IF(ISNUMBER(E10),C10*D10*1.08,IF(E10=””,””,C10*D10))」
この式は、
もしセルE10が数値なら、単価×数量×1.08を表示しなさい。
そうではなくもし、セルE10が空欄なら、空欄を表示しなさい。
どちらでもなければ、単価×数量を表示しなさい。
という意味です。最後の「どちらでもなければ」とは「数値でも空欄でもない状態」つまり今回の例では「文字列の場合」を意味します。
「もしセル●●が文字列なら、~」と設定したい時には「=IF(ISTEXT(●●),~)」を使いましょう。
IF関数とISNUMBER関数の合わせ技を実際にF7:F12に設定すると【図3】のようになります。
#N/Aなどのエラーは画面で見たときだけではなく、印刷をした場合でもばっちり表示されてしまいます。エラーが印刷された状態の見積書や請求書は格好悪いですよね。だからと言って一つ一つエラーを削除していくのは効率が悪いと評価されてしまいます。きちんとした雛形を作っておくだけで作業効率がグンと上がります。是非、試してみてください。
【この記事を読んだ方におすすめのサービス】
◆≪会計業界の転職はプロにおまかせ!≫無料転職サポートサービスとは?
◆≪転職で譲れないポイントを相談&発見!≫無料転職相談会・無料転職セミナー