エラーの種類は、「エラー回避関数①」で解説した、対象となるセルになにもデータが入力されていないパターンとあともう一つあります。
関数を実行したときに初めて分かるエラーです。
例えば数式で、「=A1/B1」というとき、割る側、この場合「B1」が「0」だったりすると当然エラーになります。対比などを計算する場合、こういう数式は使いますよね。こういう計算式を多様する表などは、きちんとエラーの場合は「0」表示にするなどの対策が必要になります。
VLOOKUP関数の場合は、検索して一致するデータがない場合が考えられます。あとは完全に間違った検索値を入力してしまった等・・・。
やはりエラーを回避する対策を講じておくことが大事ですね。
下の図は、ISBLANK関数を使い、セル「D2」が空白ならばなにも表示しないという関数が入力されています。
※図をクリックすると大きく表示されます。

そこに、顧客データの表にない№「4」を入力してみます。

当然エラーになりました。
ISBLANKは、関数を実行した結果までは回避することはできません。
そこで実行結果の判定をしてくれる関数ISERROR関数を使いこのエラーを回避します。
引数です。
ISERROR(テスト対象)
ISERROR関数は、引数「テスト対象」に指定した関数または数式を実行し、エラーならば「TRUE」、正常ならば「FALSE」という値を返します。
IF関数と合わせて使います。
IF関数の引数です。
IF(①条件②条件を満たしたときの処理「TRUE」③それ以外のときの処理「FALSE」)
①条件にISERROR関数を当てはめます。
それでは、ISBLANKで作成した関数を修正します。
この関数を使うと、どうしても長くなります。図では見にくいので以下に記します。
=IF(①ISERROR(VLOOKUP(D2,A2:B4,2,FALSE)),②"",③VLOOKUP(D2,A2:B4,2,FALSE))
①条件で、ISERRORを使いVLOOKUP関数を実行します。②その結果エラーならばなにも表示しない(「""」は空白の意味)③エラーでなければVLOOKUP関数の実行という意味になります。

Enterキーを押します。

エラー表示が消えました。これで、セル「D2」の値が空白でも、間違った値でもエラーは表示されず、空白になります。
試しに正常な顧客№はだいじょうぶかチェックします。「3」と入力します。

だいじょうぶでした。(ホッ)
その他・・・・
数式を使う場合は、このように使います。
=IF(①ISERROR(A1/B1),②0,③A1/B1)
①「A1/B2」を実行し、②エラーならば、「0」を表示、③エラーでなければ、「A1/B1」を実行となります。
Office2007では、もっと簡単な関数が使えます。
IFERROR(①数式,②エラーの場合の処理)
上記でやったVLOOKUP関数の場合
=IFERROR(VLOOKUP(D2,A2:B4,2,FALSE),"")
なんとこれで済んじゃいます。
意味は、上記と同じ、①VLOOKUPを実行して正常ならばそのままOK。②エラーの場合なにも表示しない・・・になります。
便利になりましたね。
0 件のコメント:
コメントを投稿