セルの値を調べる情報関数を使って
エラー値の表示に対処する


 情報関数を利用するとセルの情報を知ることができるので、さまざまなデータに対処することが可能です。たとえば、データを作成するのに必ず生じてしまうエラー値に対しても簡単に情報関数を利用すれば対処することができます。まずひとつはISBLANK関数。この関数は、セルの値が空白かどうか調べてくれるので、エラー値を防げます。エラー値に対してコメントをつけることもできます。また、セルの値がエラー値かどうか調べてくれる、ISERROR、ISNA、ISERR関数を利用します。ISERROR関数はセルの値がエラー値か、ISNA関数はエラー値#N/Aか、ISERR関数は#N/A以外のエラー値であるかどうかを調べます。
 これらの関数「条件付き書式」を利用し、条件に設定すればエラーの文字列に対して書式を設定することができるので、文字列を白色にしてエラー値を非表示にしたり、赤色にしてエラーを目立たせたりすることができます。数式が長い場合は、IF関数をネストするよりも簡単に利用することができるので用途に応じて効率的に利用してみましょう。

今月の関数





対象のセルの値がエラー値かどうかを調べる
情報関数
イズエラー
ISERROR
書式 =ISERROR(テストの対象 )
エラー値かどうか調べる関数。エラー値のうち#N/A(VLOOKUP関数などで参照できない場合に表示)かどうかを調べるには、ISNA関数。ここではB12が未入力で、C12がエラー値ならば上のように表示するよう設定。


対象となるセルの値が空白かどうかを調べる
情報関数
イズブランク
ISBLANK
書式 =ISBLANK(テストの対象 )
対象となるセルの値が空白かどうか調べる関数。ここではIF関数と組み合わせ、B12noセルが空白(そのためC12がエラー値となる)の場合に、「コード番号を入力してください」と表示されるように設定している。



1 エラー値を非表示にする


A.IF関数を使う場合

▼表に関数を設定する場合、あらかじめ空白のセルにも関数を設定しておいたほうが数値を入力するだけで、自動的に計算が行われるので便利。しかし、VLOOKUP関数で、別シートからデータを参照している式を立てているような場合、検査値が空白のセルに式をあらかじめ設定しておこうとすると、値が見つからないためエラー値が表示されるケースも出てくる。その際には、IFと情報関数を使い、値が空白だった場合、セルに空白と表示させるように式をたてる。
 (1)氏名を求めたいセルC5を選択、(2)ボタンを押し、[関数の貼り付けダイアログから[IF]]関数を選択し、(3)[論理式]を選択。(4)を押し、関数名ボックスの[その他の関数]を選択し、情報関数から[ISBLANK]関数を選択する。




▼「テストの対象」には、空白かどうかを調べていセルの値を入力するのでB5をクリック。




▼数式バーをクリック。[IF]関数へ戻り、(5)「論理式」にはセルの値が空白であった場合という条件が設定されているのを確認。「真の場合」には、空白であった場合セルに表示させる値を入力するので(6)ダブルクォーテーションを2つ(空白を表す)入力、「偽の場合」には、空白でない場合、コード番号をもとに(A)別シートに作成しておいた[個人情報]シートから氏名を入力したいので再び関数名ボックスの[その他の関数]から[VLOOKUP]関数を選択。




(7)「検査値」にB5をクリック(横へ式をコピーすることを考え列番号だけ固定するため[F4]キーを3回押して複合参照をかけておく)、(8)「範囲」は個人情報の一覧であるB5からE12を範囲選択し、[F4]キーを1回押して絶対指定。(9)「列番号」は氏名は2列目なので2、(10)「検索の型」は完全一致なので0と入力、(11)[OK]で確定。




C5に入った式は
=IF(ISBLANK($B5),"",VLOOKUP(B5,個人情報!$B$5:$E$12,2,0)


B.[条件付き書式]を使う場合

▼IF関数で条件をつけられない場合は、セルの値がエラー値だった場合という条件をつけ、条件にあった文字を白色に設定すれば文字が表示上、見えなくなる。条件付き書式を設定したいC5からE13までを範囲選択し、書式メニューから(12)[条件付き書式]を選択。




(13)を押し、[数式が]を選択、(14)にに条件をつける数式を入力するので、[=ISNA(C5:E13))]という式を手入力(ISERROR関数でもOK。頭の「=」は忘れないこと)。(15)[書式]ボタンをクリック、白色を選択。




2 エラー値の場合にコメントを表示させる

▼エラー値を調べる情報関数とIF関数と組み合わせることで、セルの値がエラー値であった場合という条件をつけてエラー値であった場合にセルにコメントを表示できる。コード番号を入力してもエラーが出てしまう場合、自動的にセルに「未登録です」と表示。コード番号を入力していない場合、「コード番号を入力してください」と表示させる。まず、I5ををクリック、IF関数を選択。「論理式」で、[AND]関数をネスト。(1)「論理式1」に[=ISBLANK(B5)]と、(2)「論理式2」では[=ISNA(C5)](ISERRORでもOK)と設定。




▼IF関数に戻り、(3)「真の場合」に条件が満たされている場合のコメントを表示するので[コード番号を入力してください]と入力。




(4)「偽の場合」のボックスをクリックし、IF関数を再びネストし、(5)先程の条件に満たされていない場合のなかでB5は空白でないがC5はエラー値という条件を設定、(6)該当の場合は[未登録です]とさせ、(7)そうでない場合、(B5とC5空白でもエラー血が出ない場合)、空白と表示させるため[""」と入力。




I5入った式は
=IF(AND(ISBLANK(B5)),ISNA(C5)),"コード番号を入力してください",IF(ISNA(C5)),"未登録です",""))