- セルがエラー表示されているけど何なのかな・・・
- エラーを非表示にする方法はあるのかな?
- 具体的な使用例で知りたい!
こんな悩みを解決します。
最後まで読んで頂き、実践して、ここへ来なくなった頃には、
あなたはスキルアップしている事でしょう。
さて、この記事の題目は
このサイトを運営している私は、
製造業での設計歴20年以上のエンジニアです。
Excelを使って業務効率化もしています。
「ISERROR関数・IFERROR関数」って何?
セルの内容がエラー値の場合に、TRUEを返す場合は
「ISERROR関数」を使用します。
式の書き方は
「=ISERROR(テストの対象)」
となります。
又、似ている関数として
式がエラーの場合は、エラーの場合の値を返す。エラーでない場合は、式の値自体を返す場合は
「IFERROR関数」を使用します。
式の書き方は
「=IFERROR(値,エラーの場合の値)」
となります。
早速ですが、使い方を紹介させて頂きます!
1時限目「エラー」とは何なのか?
数式が成立していない、無効な参照である等の不具合がある場合に
これをエラーとして「#~」の様な表示になる場合があります。
の解説では、番歌の数値を1~100という制限をかけましたが
空白に対しての規制がかかっていません。
つまり、空白にする事が可能である為、このセルを空白にしてしまうと
「VLOOKUP関数」で参照していた、このセルの入力値が空白となり
参照する条件が無くなってしまう為、#N/Aというエラーが表示されてしまいます。
この他にもあるエラーについては割愛しますが
エラーの場合には、セルの左に!マークで黄色い標識の様なアイコンが表示されますので
これをクリックして、このエラーに関するヘルプで内容を確認する事が可能なので
修正出来る様にしておきましょう。
2時限目「ISERROR関数・IFERROR関数」使用上の注意
なぜ「ISERROR関数」と「IFERROR関数」は
微妙な違いなのに、2つ存在するのでしょうか?
それは「ISERROR関数」はExcelのバージョンが2003以前の関数で
「IFERROR関数」はExcelのバージョンが2007以降の関数という事であるからです。
という事は「ISERROR関数」を使っている場合は
Excelのバージョンは気にせず使用可能でありますが
「IFERROR関数」を使っている場合は
パソコンにインストールされたExcelのバージョンが
2003以前の場合には機能しないという事になります。
ちなみに私の職場では、Excelのバージョンが混在している為
「ISERROR関数」を使って関数式を作っていますが
Excelのバージョンを考慮の上、どちらの関数を使用するか決めましょう。
3時限目「ISERROR関数」使い方:式の書き方
では「ISERROR関数」関数の式の書き方について
百人一首のエラーを例にしますが、この式を言葉で表現してみます。
もし、VLOOKUP関数の式がエラーであれば空白
そうでなければ、VLOOKUP関数の式の結果を表示。
という事で、もし~なので「IF関数」と組合せる方法を考える事が出来ます。
これを関数式に置き換えます。
「=IF(ISERROR(」までを入力し、次の(テストの対象)となる
「VLOOKUP関数」の式が、エラーであるか、つまり「=TRUE」であるかを判定する式として
「=IF(ISERROR(VLOOKUP($B2,’DB1′!$A$3:$E$102,’DB1′!B$1,0)=TRUE)」となります。
(テストの対象)を括ったら「,」(カンマ)で区切り「=TRUE」であれば空白を返す為に
「=IF(ISERROR(VLOOKUP($B2,’DB1′!$A$3:$E$102,’DB1′!B$1,0)=TRUE),””」
さらに「,」(カンマ)で区切り、そうでなければ「VLOOKUP関数」の式の結果を返す為に
「=IF(ISERROR(VLOOKUP($B2,’DB1′!$A$3:$E$102,’DB1′!B$1,0)
=TRUE),””,VLOOKUP($B2,’DB1′!$A$3:$E$102,’DB1′!B$1,0))」
と入力して、式は完成です。
セルの表示は、エラーが「=TRUE」判定なので空白になりました。
百人一首の例では、式が非常に長くなってしまいましたが
「=IF(ISERROR(テストの対象)=TRUE),””,(テストの対象)」
という形を覚えておけば(テストの対象)を差替えするだけで流用可能です。
4時限目「IFERROR関数」使い方:式の書き方
次に「IFERROR関数」関数の式の書き方について
「ISERROR関数」の様な、もし~という式の考えではなく
通常の値とエラーの場合の値を書くだけです。
「=IFERROR(」までを入力し、次に通常の値となる「VLOOKUP関数」を入力して
「=IFERROR(VLOOKUP($B2,’DB1′!$A$3:$E$102,’DB1′!B$1,0)」となります。
「,」(カンマ)で区切り、次はエラーの場合の値となる空白を返す為「,””)」を追記し
「=IFERROR(VLOOKUP($B2,’DB1′!$A$3:$E$102,’DB1′!B$1,0),””)」
となり、以上で式の完成です。
「ISERROR関数」よりもシンプルですね!
セルのコピー貼り付けを想定して「$」を組込んでいるので
どちらの関数式の作り方でも、一気にコピー&貼り付けをすれば完成となります。
番歌を全て空白にしたら、詠み人、歌、歌(読み)は全て空白になりました。
Excel関数「ISERROR関数・IFERROR関数」まとめ
「ISERROR関数」や「ISERROR関数」を使う事で
エラー時の表示を制御する事が可能となります。
個人的には、式が長く、Excelのバージョンで使える使えないがあるので
使わないのが望ましいですが、どうしてもという場合に、思い出して頂ければ幸いです。
エラー表示だらけじゃ見栄えも良くないから使ってみて!
実際のところ、エラーのままでも使えるけど
この方法でやってみるね。
ありがとう!
これで悩みが解決し、一つ成長しました。
最後までご観覧頂きありがとうございました!
コメント