GoogleスプレッドシートやMSエクセルで関数を使用していると、不本意ながらも現れるエラー表示。
もちろんエラーであることに意味を持たせて処理をすることもあるので、エラー=不本意というわけでもないですが、予期せぬエラーやエラーそのものの意味が違ってくると、求めたい結果が得られぬことも。
そんなエラー表示は7種類あり、それぞれに別の意味を持ちます。
ある程度エラーの意味や起こり得るパターンを知っていれば対処も早くなるはず。
今回はエラー表示の名称とその意味をまとめてみました。
エラーの種類と意味
エラー名称は7種類あり、それぞれの意味を持ちます。
早速ですが一覧でそれぞれを紹介します。
エラー表示名 | エラーの意味 |
---|---|
#N/A | 正しい結果が得られないときや、計算や処理の対象となるデータが無いとき。 |
#DIV/0! | 数式や関数でゼロで割っている(除算している)とき |
#REF! | 数式内で無効なセルが参照されているとき |
#NAME? | 存在しない関数名やセル範囲名など名前が正しくないとき |
#NULL! | セル範囲を指定したときに「 : 」や「 , 」が無いとき |
#VALUE! | セルに不適切な値が入っているとき。(数値であるべきなのに文字列とか) |
#NUM! | 数値の指定が不適切、または正当な結果が得られない |
あぁ見たことある!
何となくこんな意味なのかなぁとは思ってたけど・・・
そんな「エラー表示名」達です。
それぞれの意味を知って入れば、「何をどう間違っているのか?」がわかりますよね?
例えば、#DIV/0のエラーが出ている時は、0で割り算していることが問題なので、関数の書き方が間違っているわけでは無く、指定したセルの値(セルそのものの位置)が間違っていることが原因です。
関数の書き方を見直すよりも、どこの値を指定しているかをチェックすべきでしょう。
また、#NAME?のエラーが出ている時は、関数名称そのものが間違っていることがほとんどです。
関数内の引数や値の指定の仕方を疑っても解決しませんね!
ちょっとした事かもしれませんが、やはりある程度はエラー表示名ごとの意味を理解している方が余計な手間は減ると言えそうです。
ERROR.TYPE関数で対応するエラー値を知る
そんな7種類あるエラーですが、ERROR.TYPE関数でエラー値に対応した値を返してくれます。
ERROR.TYPE関数の構文は以下の通り
=ERROR.TYPE(参照)
引数に参照したいセル番地を入れるだけの簡単な関数です。
この関数は、単体で使うというよりは、IF関数やSWITCH関数などで、返ってきたエラー値によって「メッセージ表示を変える」などに使えます。
エラー値によって返す値は以下の通りです。
エラー値 | 返り値 |
---|---|
#NULL! | 1 |
#DIV/0! | 2 |
#VALUE! | 3 |
#REF! | 4 |
#NAME? | 5 |
#NUM! | 6 |
#N/A | 7 |
その他のエラー値 | 8 |
入力された値のよって、いろいろなエラーが想定される場合、例えば#DIV/0!(返り値が2)のときは「0は入力できません!」とか、#VALUE!(返り値が3)のときは「文字は入力できません!」とかメッセージを出すこともできますね。
実際にSWITCH関数で書くとこんな感じでしょうか。
=SWITCH(ERROR.TYPE(A2),2,”0は入力できません!”,3,”文字は入力できません!”)
SWITCH関数の使い方はこちらもご参考までに・・・
余談)コピーや行列の削除で起きがちなエラー#REF!
#REF!のエラーは不用意に起こってしまうエラー・・・
というか私の体験談で、一番かちゃくちゃねぇ!(イラっとするの意)と感じてしまうエラー・・・
関数は最初の一つさえ作ってしまえば、相対的な位置が変わらない限り、コピーすることで相対的にセルの参照位置が変わってくれるので多用することが多いと思います。
さらに少し直しが必要になって、不要な行を削除しても、自動的に関数内のセル番地も直ってくれたりもします。
しかし、削除する位置や順番を間違えると、たちまち#REF!の嵐になることも!
そんな時は冷静に、Ctrl+Zで手順を戻しましょう(笑)
まとめ
エラーには種類があって、それぞれに意味があるんだろうなぁくらいに思っているかとは思いますが、改めてそれぞれの意味を認識してみてはいかがでしょうか?
エラーに慣れていない人にとっては、不用意な混乱を避けられるうえに、エラーを解消する方法への気付きが早くなるのではないかと思います。
コメント