Excleで数式・関数を使えるようになった方からよくいただく質問に、「エラーを表示させないようにするにはどうすればいいのか」というものがあります。
C1セルに「=A1/B1」という数式が入力されていて、B1セルが「0」だったりすると、「#DIV/0!」というエラー表示になってしまいます。あるいはA1セルやB1セルに文字列が入力されれば「#VALUE!」エラーとなります。これを表示させないようにするにはどうすればいいのかという質問です。
あるいはVLOOKUP関数を覚えた方から、事前に該当セルにVLOOKUP関数を入力して、第1引数の検索値が入力されていない状態で「#N/A!」エラーが表示されるのを防ぐにはどうすればいいのか、という質問をいただくことも多いです。
そのワークシートがどう使われるかによっていろいろな回避策があるはずです。
例えば、使っているExcelのバージョンが2002以降で、画面上はエラーが表示されていても問題なく、印刷するときだけエラーが印刷されなければいいということだってあります。そんなときは[ページ設定]ダイアログでエラー値を印刷しない設定にするのが簡単でしょう。
先の「=A1/B1」のような場合なら、A1・B1セルに数値以外の値が入力されないように、B1セルには「0」を入力できないようにしておくという処理を入れ、エラーの状態にさせないようにするというのもありでしょう。
VLOOKUP関数で第1引数が未入力状態のエラーだけを回避したいのならば、IF関数で第1引数にあたるセルが入力されているかどうか判断するという方法が考えられるでしょう。
実務ではその利用目的によって、どのように回避するのがいいのかをしっかり考えていただくとして、ここでは単純にエラーのときにエラーを表示させない方法をご紹介しておきます。
▼操作方法:エラーを非表示にする
(C1セルに、「A1/B1」の結果をエラーでないときだけ表示させる例)
C1セルに、「=IF(ISERROR(A1/B1)=TRUE,"",A1/B1)」と入力
エラーが発生しているとTRUEとなるISERROR(there IS an ERROR)関数を、IF関数に組み合わせるわけです。
「A1/B1」がエラーだったら「""」を表示(空白を表示=何も表示されていないように見せかける)、「A1/B1」がエラーでなければ「A1/B1」の結果を表示すると記述しているわけです。
「=TRUE」を省略して、「=IF(ISERROR(A1/B1),"",A1/B1)」と記述することもできます。
ISERROR関数の引数と、実際に表示をさせるためのIF関数の第3引数に、まったく同じ記述をしなければいけないところが冗長で、あんまりカッコイイとは言えない気もしますが、この記述をしておけばエラーが発生したときは何も表示されなくなります。
また、ISERROR関数とよく似た関数にISERR関数というのがありますが、ISERRの方は「#N/A」エラー以外のエラーのときにTRUEとなる関数です。
トラックバック:7
- TrackBack URL
- 条件付き書式でエラーを非表示に from インストラクターのネタ帳
- 対象:Excel IF関数とISERROR関数を使ってエラーを表示させない方法をご紹介しました。 いろいろなエラーに対応できる方法なのですが、ISERROR関数の引数と、実際に値を表示させるためのIF関数の第3引数に、まったく同じ記述をしなければならないところが、難点でしょう...
- エラー表示をしないように−ユーザー定義関数 from インストラクターのネタ帳
- 対象:Excel 97,2000,2002,2003 エラー表示をしないようにするために、 ・ISERROR関数とIF関数を利用する ・条件付き書式を利用する という2種類の方法をご紹介しました。 VBA(Visual Basic for Applications)のわかる方なら、エラー表示をさせないように、ワークシー...
- Excel 2007の新しい関数 from インストラクターのネタ帳
- 対象:Excel 2007 Office 2007関連のブログの一つ「Microsoft Excel 12」に、Excel 2007で実装される新しいワークシート関数についてのエントリーがありました。...
- VLOOKUP関数で#N/Aエラーを表示させない−入力規則 from インストラクターのネタ帳
- 対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 IF関数を使って、VLOOKUP関数の第1引数:検...
- ISERROR関数でVLOOKUP関数のエラー回避 from インストラクターのネタ帳
- 対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007 このサイトで、 「ISERROR関数 VLOOKU...
- 数式かどうかを調べる from インストラクターのネタ帳
- 対象:Excel2002, Excel2003, Excel2007, Excel2010 条件付き書式を設定しているようなときなどに、数式が入力されて...
- 0以外のときに除算するには・#DIV/0!エラーが表示されないようにするには−IF関数 from インストラクターのネタ帳
- 対象:Excel2002, Excel2003, Excel2007, Excel2010 このサイト・インストラクターのネタ帳で、同じIPアドレスから...
- Newer: 配布資料の用紙を横向きにしたい
- Older: 表の中の文字を縦書きにする

