エクセルのエラーの対処法をお探しですね。

広告

エクセルのエラー値(#N/A, #REF!)の意味と消し方&重い時の対処法

エクセルで作業していると、いきなり「#N/A」とか「#REF!」みたいな謎の記号がセルに出てきて、「えっ、何これ!?」ってなったことありませんか?見た目も良くないし、そのまま放っておくと計算がおかしくなったり、ファイルが重くなって動作がカクカクしたりと、いいことなしです。

でも安心してください。

こういうエラーが出るのにはちゃんと理由があって、原因さえわかれば、関数を使ってキレイに消したり、根本から直したりするのはそんなに難しくありません。

この記事では、よく見かけるエラーの意味と具体的な消し方、それにエクセルが重くなったときの対処法まで、わかりやすく説明していきます。

エラー値って何?よく見る「#N/A」「#REF!」の意味

エクセルで「#」から始まる変な文字がセルに表示されるのは、数式や関数がうまく計算できなかったときのサインです。

これって実はバグじゃなくて、「ここがダメでしたよ」って教えてくれる親切なメッセージなんです。

エラーの種類によって意味が違うので、それを理解しておくと、「数式が間違ってるのか」「元のデータに問題があるのか」がすぐわかるようになります。

特に仕事でよく出てくるのが「#N/A」と「#REF!」の2つ。

この2つは全然違う原因で起こるので、まずはそれぞれの意味をしっかり押さえておきましょう。

「#N/A」は「Not Available(利用できません)」の略で、簡単に言うと「探してるデータが見つかりませんでした」っていう意味です。

これは主にVLOOKUP関数とかMATCH関数みたいな、データを検索する関数を使ったときによく出てきます。

たとえば、商品コードから商品名を引っ張ってこようとしたけど、そのコードがリストの中になかった場合、エクセルは「探したけど見つからなかったよ」ってことでこのエラーを返すんです。

つまり、数式自体は間違ってないけど、データがないときに出るのがこのエラーの特徴。

あと、検索範囲の指定がズレてたり、数値と文字列が混ざってたりしても出ることがあります。

次に「#REF!」は「Reference(参照)」の略で、「セルの参照がおかしくなってますよ」って意味です。

これはけっこう危険なエラーで、数式が見ていたセルを削除しちゃったときによく起こります。

たとえば、A1とB1を足す式を作った後に、B列ごと消しちゃったら、数式は「足す相手がいなくなった!」ってなって「#REF!」を表示するわけです。

あとVLOOKUP関数で「3列目を取ってきて」って指定してるのに、範囲が2列しかないときも出ます。

「#N/A」がデータの問題なのに対して、「#REF!」は数式の構造そのものが壊れちゃってる状態なので、早めに直す必要があります。

IFERROR関数でエラーをスマートに消す方法

エラーが出る理由が「まだデータを入力してないから」とか「検索値がないのが正しい状態」みたいなときって、エラー表示自体は計算上正しいんだけど、見た目を整えるために非表示にしたいことがありますよね。

そういうとき、手作業でセルを消したり、白い文字にして見えなくしたりするのはおすすめしません。

データが更新されたときに正しい結果が出なくなっちゃう可能性があるからです。

そこで使いたいのが、エラーが出たときの表示を自由にコントロールできる「IFERROR(イフエラー)関数」。

これを使えば、エラーのときだけ「空白」とか「-(ハイフン)」を表示して、正常な結果が出たときはちゃんと数値を表示する、っていう処理ができるんです。

IFERROR関数の使い方はすごくシンプル。

「=IFERROR(数式, エラーのときに表示するもの)」っていう形で書くだけです。

たとえば、VLOOKUPの結果がエラーになるときに空白を表示したいなら、「=IFERROR(VLOOKUP(…), “”)」って感じで、元の数式をIFERRORで囲んで、2つ目の引数にダブルクォーテーション2つ(””)を入れます。

こうすると、計算結果がエラー(#N/Aでも#REF!でも全部)だったときだけ、セルには何も表示されず空白になります。

「データなし」とか「確認中」みたいな特定の文字を出したいときは、2つ目の引数に「”データなし”」って書けば、誰が見てもわかりやすい表示になります。

ただし、IFERROR関数を使うときに1つだけ気をつけたいことがあります。

それは「すべてのエラーをまとめて隠しちゃう」っていう性質です。

本当は数式の入力ミスとか参照範囲のズレで出てる「直すべきエラー(#REF!とか#NAME?とか)」まで、空白や指定した文字に変わっちゃうので、ミスに気づくのが遅れることがあるんです。

だから、数式を作ってる最中はIFERROR関数を使わずそのままにしておいて、数式がちゃんと動くことを確認してから、最後の仕上げとしてIFERROR関数で囲むのが安全なやり方です。

エラーを隠すのはあくまで「見た目の調整」であって、根本的な解決じゃないってことを忘れずに使い分けましょう。

エクセルが重くなる原因とエラーの関係

エクセルファイルを開くのに時間がかかったり、セルに入力するたびに「再計算中」って出てフリーズしたりする「重い」状態、めちゃくちゃストレスですよね。

実は、この「重さ」と「エラー値」って意外と関係があるんです。

エラー値そのものがファイルを重くすることは少ないんですが、エラーが出てる数式が大量にあると、エクセルの計算エンジンに無駄な負担がかかってる可能性があります。

特に、何万行もVLOOKUP関数とか配列数式が入ってて、そのほとんどがエラーを返してるようなシートだと、エクセルは常に無効な参照や検索を繰り返すことになって、動作が不安定になる原因になります。

あと、「#REF!」エラーがたくさん出てるファイルは、過去に大規模な行や列の削除があったり、外部ファイルへのリンクが切れたりしてる証拠でもあります。

特に外部ファイルへのリンク(外部参照)が切れた状態で数式が残ってると、エクセルはファイルを開くたびに存在しないファイルを探しに行こうとするので、起動にめちゃくちゃ時間がかかるようになります。

さらに、「循環参照」っていう、数式が自分自身のセルを参照して無限ループに陥ってる状態も、エラーの一種として警告が出るんですが、これはCPUに極端な負荷をかけるので、ファイルが操作できなくなるほど重くなる最大の原因の1つです。

エラー値以外でエクセルが重くなる原因として、目に見えない「オブジェクト」とか過剰な「書式設定」も疑ってみる必要があります。

Webサイトとかほかのシステムからデータをコピペしたときに、透明な図形やテキストボックスが大量に貼り付けられちゃって、それがファイルの容量を膨らませてるケースがあるんです。

また、データが入ってない空白のセルに対して、最下行まで罫線とか背景色が設定されてる場合も、エクセルはそこを「データがある範囲」として認識して、メモリを無駄遣いします。

エラー値の対処と合わせて、こういう「見えないゴミ」を掃除することが、快適な動作を取り戻すカギになります。

遅い・重いエクセルを軽くする具体的な対処法

エクセルが重くて仕事にならないとき、まず最初にやるべきなのが「数式を値に変換すること」です。

計算が終わって今後変更することのない過去のデータとか、マスタから引っ張ってきた確定情報は、数式のまま残しておく必要ないですよね。

範囲を選択してコピーして、「形式を選択して貼り付け」から「値」を選べば、数式を単なる文字や数値に変換できます。

これだけで、エクセルがやる再計算の処理が劇的に減って、ファイルサイズも軽くなります。

特にVLOOKUP関数みたいな検索系の関数をたくさん使ってるシートだと、この処理をするだけで動作が見違えるほど軽くなることが多いので、定期的に「値貼り付け」をする習慣をつけるといいですよ。

次に試したいのが、不要なオブジェクトと書式の削除です。

以下の手順で、目に見えない不要物を一括で削除できます。

**オブジェクトの削除:** 「ホーム」タブの「検索と選択」から「条件を選択してジャンプ」を選んで、「オブジェクト」にチェックを入れてOKを押します。

これでシート内の図形や画像が全部選択されるので、いらないものがあればDeleteキーで削除しましょう。

**不要な書式の削除:** データが入ってる最終行より下の行を全部選択して(行番号をクリックしてCtrl+Shift+↓)、「削除」を実行します。

列も同じようにやります(Ctrl+Shift+→)。

これで、無駄に広がっちゃった使用範囲をリセットできます。

最後に、ファイルの保存形式を見直すのも効果的です。

今よく使われてる「.xlsx」形式も圧縮されてるんですが、より軽くて速い「バイナリブック(.xlsb)」形式で保存し直すと、ファイルサイズが半分以下になって、開閉の速度が上がることがあります。

マクロを含まない普通のファイルでも.xlsb形式は使えますが、他の人と共有するときは互換性に注意が必要です。

あと、一時的な対処法として、「数式」タブの「計算方法の設定」を「自動」から「手動」に切り替えることで、入力のたびに走る再計算を止めて、作業が終わってからF9キーで一括計算させるっていう方法も、重いファイルを扱うときの必須テクニックとして覚えておくと便利ですよ。

広告