わかできブログ

blog

わかできブログ

「#N/A」「#DIV/0!」「#REF!」の意味、覚えてますか?

Excelを使っているとよく見かけるエラー値たち。代表的なエラーとしては

「#N/A」「#DIV/0!」「#REF!」などがありますね。

これらの意味や読み方を「なんとなくはわかっている」方は多いかと思いますが、「なぜこのエラーが出ているの?」「どうやったらエラーを回避できるの?」と困ってしまうときもあるはず!そんな時の為に、きちんとそれぞれのエラー値の意味を理解して正しくチェックや修正が出来るようにしておきましょう。

「#N/A」(ノーアサイン)=値がありませんよ

「#N/A」は「ノーアサイン」と読みます。だいたいVLOOKUP関数を使っていてよく見るエラーです。

例えば、以下のように、商品の一覧を参照し入力規則を使ってコードを選択するだけで、商品名と単価を自動的にひっぱってくる表を作成していたとします。

※多くの場合、他のシートに一覧を持っておいて引っ張ってくる事が多いと思いますが、わかりやすくする為にすぐ下に一覧を作成しています。

 

ここで、No.1~No.3までのように、きちんと商品コードを指定してあげれば正しく書籍一覧の検索範囲から「商品名」と「単価」を参照して数値を持ってくることができます。

しかし、No.4とNo.5の商品コードは選択されておらず、空欄になっています。よって、「値がありませんよ!だから商品名と単価にそれぞれの値を引っ張ってこれませんよ!」とエラーが出ているわけです。さらに、単価が出てない上に個数も入力されていないので合計金額にもエラーが出ていますね。

ここで「#N/A」(ノーアサイン)の意味がわかっていれば、「なるほど。商品コードを指定していないから出ているエラーだな」というのがわかりますので、すぐに対処をしたり、問題がないエラーだというのを確認できて安心できます。

「一方、コードを指定していない時にこの#N/Aエラーが出ているのはかっこ悪いなぁ」といった場合、IFERROR関数を使えば、エラーを回避する事ができます。ちなみに、IFERROR関数を使っていない状態のExcelファイルを突然渡され、特定の箇所をSUM関数などで集計する必要がある時には、AGGREGATE関数を使うと便利です。

 

IFFRROR関数を使ったエラー回避の方法については後述します。AGGREGATE関数についてはまた別の機会に。

 

「#DIV/0!」(ディバイド・パー・ゼロ)=0で割っていますよ!

「#DIV/0」は「ディバイド・パー・ゼロ」と読みます。単純なエラーなので詳細は割愛しますが…

0で割っていると怒られるので、同じく後述するIFERROR関数で回避するか、そもそも該当セルには計算式を入れずに「0」とするか、「N/M」(not meaningful=計算する意味がありません)と入力しておくとスマートかも知れませんね。

 

「#REF!」(リファレンス)とは?どんな時に表示される?

もしかしたら、このエラーが一番厄介かもしれません。「#REF!」は「リファレンス」と読みます。これは、主に関数や計算式で使用されているセルの値を削除してしまった時や参照先が無効な場合に表示されるエラーです。

このエラーが表示されている時は、”とにかく何か間違っています”。ので、エラーの原因を探るために色々と確認していくことが必要になりますね。計算式で指定している範囲が間違っていないか、参照先のセルを削除してしまっていないかなどを確認しましょう。

例えば以下のように、商品単価を記載したセル(10個以下は500円等)を参照して、販売個数に応じた単価をIF関数のネストで「単価」列に表示させているとします。

※わかりやすくする為、上の画像では「参照元のトレース」機能で参照セルを表示しています。

この状態で、商品単価が記載されている行をうっかり削除してしまうと…

「セルを参照出来ていませんよ!計算出来ませんよ!エラーですよ!」となるわけですね。

このような場合は「元に戻す」で削除してしまう前まで戻れば大丈夫です。ですので、「あれ、さっきまでちゃんと計算出来ていたのに急にリファレンスのエラーが出たな…」なんて時はまず「元に戻す」を使って誤った操作をしていないかを確認していくのが良いですね。

※参照先のシートやブックを削除してしまっているケースだと「元に戻す」では復元できないので注意が必要です。また他ブックの特定のシートを参照している場合は、ブックの保存場所を移動してしまって、パスが変わっていたりするとこのような形でエラーになるかと思います。

 

エラーが出た時にエラーコードを非表示にしたい・別の言葉で表示したい場合

さて、ここまで代表的なエラー値をご紹介してきましたが、冒頭の「#N/A」でも紹介した通り、エラー表示を回避したり(空白)、別の言葉で置き換えることができます。それを行う際は「IFERROR関数」を利用します。

以下では、先ほどの「#N/A」エラーの時の表の「No.5」の行の、「商品名」「単価」「金額」の式にそれぞれIFERROR関数をネスト(入れ子に)しました。

IFERROR関数の引数は、「=IFERROR(値,エラーの場合の値)」となっています。ここでは『値』に元々のVLOOKUP関数を挿入し、『エラーの場合の値』には「””」を入力することで、エラーが出た場合は空欄にするように設定してみました。一方、「単価」や「個数」では『エラーの場合の値』に「エラー」という文字列を入力し、エラーと表示させるように設定しています。

 

■簡単に記載すると…

「=IFERROR(A1*B1,””)」これでA1×B1の計算でエラーが出たときに何も表示されず空白となります。

「=IFERROR(A1*B1,”エラー”)」これでA1×B1の計算でエラーが出たときに、「エラー」と表示されます。

用途に合わせて設定できると綺麗な表になりますね。

 

もちろん「#REF!」のエラーが出ている式でもこれを使えばエラーを回避できます。とにかくエラーコードを回避したい場合はIFERROR関数を活用する!と覚えておきましょう!

 

エクセルでエラーが出ても、柔軟に対応できるようになろう!

このように、エクセルで表示されたエラーの意味を理解し、対応方法をきちんと把握することで、焦らずにファイルの作成や計算作業が出来るようになります。

まずはエクセルの仕組みや基礎的な部分を学習し、業務の効率化やさらなるスキルアップを目指しましょう!

 

パソコン教室わかるとできるでは、レベルや用途に応じた多くのエクセルに関する講座をご用意しています。

https://www.wakarutodekiru.com/course/excel.html

興味を持っていただけた方は、ぜひチェックしてみてくださいね。

 


「パソコン教室わかるとできる」は教室数トップクラスのパソコン教室なので安心して通っていただけます。全国に約200教室展開していますので、まずはお近くの教室までお気軽に無料体験をお申し込みください!
無料体験のお申し込みはこちら

パンフレットなどを無料で
送付いたします!

無料体験のお申し込みはこちら


« »

お気軽にお申込みください!