いまさら聞けないExcelの使い方講座
【Excel】「#N/A」エラーは意図通りなので非表示にしたい!データ入力の頼れる相棒VLOOKUP関数を使いこなすためのエラー処理2選
2018年5月16日 06:55
「#N/A」エラーが表示されるのはなぜ?
Excelの業務で、データ入力の効率化を手助けしてくれるVLOOKUP関数(指定したデータリストから検索条件に合うデータを探してきてくれる関数)は、頼れる相棒のような存在ですよね。しかしながら、このVLOOKUP関数を使って作成した資料に「#N/A」というエラーが表示されて困った経験はありませんか。
「#N/A」エラーは、数式の参照先に値が見つからない時などに表示されるエラーで、VLOOKUP関数を使った数式でよく見かけることがあります。
そこで今回は、VLOOKUP関数を使った表でよく見かける「#N/A」エラーが発生する理由とその対処法について解説します。VLOOKUP関数自体はとても便利な関数なので、エラー処理とセットで覚えておくと、よりスムーズに活用できますよ!
VLOOKUP関数で「#N/A」エラーが出る時とは?
どんな時に「#N/A」エラーが発生するのかを考える前に、まずVLOOKUP関数について解説します。例として、「請求書」のA列に入力された商品番号(①)を基に、右側の「商品カタログ」(②)から商品名を取り出してB列(③)に自動的に表示されるようにしてみましょう(わかりやすくするために、同一のシートに「請求書」と「商品カタログ」を作成していますが、「商品カタログ」のようなデータリストは別のシートで管理されていることもあります)。
VLOOKUP関数は、「=VLOOKUP(検索値,範囲,列番号,検索方法)」という書式で記述します。少し複雑ですが、実際にセルに入力しながら説明していきます。
セルB3に「=VLOOKUP(A3,$G$3:$I$10,2,FALSE)」(④)と入力します。この数式により、商品カタログ(セル範囲G3:I10)からセルA3の値に合致するデータを検索して、2番目の列の値(商品名)を取り出して表示することができます。最後の引数で指定した「FALSE」は、「完全に一致するデータを取り出す」という意味です。また、セルB3に入力した数式をコピペした時に参照範囲がずれないように、「$G$3:$I$10」のように絶対参照で指定しています。
[Enter]キーを押して数式を確定します。セルA3に入力されている商品番号「A101」に該当する商品名「クラフト封筒 長形3号 100枚セット」(⑤)が自動的に表示されました。
ここで、B列の他のセルにも数式をコピーしてみます。セルB3を選択してセルの右下にマウスポインターを合わせると、マウスポインターの形が変わるので(⑥)、そのままセルB7までドラッグします(⑦)。
すると「#N/A」エラーが出てしまいましたね(⑧)。
ここでセルB4をクリックして、数式を確認してみます。セルB4には、「=VLOOKUP(A4,$G$3:$I$10,2,FALSE)」(⑨)という数式が入力されていますが、数式で参照しているセルA4(⑩)には値がありません。そのため、このような「#N/A」エラーが発生しているのです。
しかしながら、実務ではA列にデータが入力されていなくてもB列だけには数式を入力しておきたいという場合がありますよね。以降の項では、こんな時に使えるエラー処理のテクニックを解説していきます。
対処法1:IFERROR関数を使う
まず1つ目は、IFERROR関数を使って対処する方法です。IFERROR関数は数式の結果にエラーが発生した場合にどのように表示するかを指定できる関数で、「=IFERROR(値,エラーの場合の値)」という書式で記述します。
セルB3に「=IFERROR(VLOOKUP(A3,$G$3:$I$10,2,FALSE),"")」(①)と入力します(セルB3にはエラーは出ていませんが、B列のすべてのセルに対してIFERROR関数を適用します)。この式は「『VLOOKUP(A3,$G$3:$I$10,2,FALSE)』の計算結果がエラーだった場合は何も表示しない」という意味です。
[Enter]キーを押して数式を確定すると、先ほどと同様に「クラフト封筒 長形3号 100枚セット」(②)という結果が表示されます。
B列の他のセルにもこの数式をコピーします。セルB3を選択してセルの右下にマウスポインターを合わせるとマウスポインターの形が変わるので(③)、そのままドラッグします(④)。
すると、先ほどのエラーが消えました(⑤)。
対処法2:IF関数を使う
2つ目は、IF関数を使って対処する方法です。IF関数は、条件によって表示する内容を変えたい時に使用する関数で、「IF(論理式,真の場合,偽の場合)」という書式で記述します。
先ほどと同じ例を使って、今度はセルB3に「=IF(A3="","",VLOOKUP(A3,$G$3:$I$10,2,FALSE))」(①)と入力します。この式は「セルA3が空欄なら何も表示せず、空欄でなければ『VLOOKUP(A3,$G$3:$I$10,2,FALSE)』を実行する」という意味です。
[Enter]キーを押して数式を確定すると、「クラフト封筒 長形3号 100枚セット」(②)という結果が表示されます。
この数式をB列の他のセルにも数式をコピーしてみます。セルB3を選択してセルの右下にマウスポインターを合わせるとマウスポインターの形が変わるので(③)、そのままドラッグします(④)。
すると、エラーが消えました(⑤)。
「#N/A」エラーに対処する
今回は、「#N/A」エラーが発生する理由とその対処法について解説しました。適切なエラー処理を記述できれば、より美しい資料に仕上がります。
また、今回の例で使ったVLOOKUP関数は、データ入力を効率化できるとても便利な関数なので、IF関数やIFERROR関数とセットで覚えておくと、よりスムーズに活用できますよ! ぜひトライしてみてくださいね。
今月のExcelTips
- 【Excel】アンケートの入力ルールを守って!エクセルでセルへのデータ入力をサポートする思いやりテク2選
- 【Excel】繰り返し使う部署名のリストを何度も入力したくない!エクセルで入力頻度の多い単語を一気に入力するテク
- 【Excel】入力を効率化するならすばやいセルの移動から!エクセルでキーボードから手を放さずに思った通りアクティブなセルを移動するテク
- 【Excel】一番左の列や行を非表示にしたらもとに戻せなくなった!エクセルでA列や1行目を再表示するテクニック
- 【Excel】注目すべきセルを目立たせたい!エクセルでマイナスの数値に色や記号を付けて強調するテクニック
- 【Excel】「#N/A」エラーは意図通りなので非表示にしたい!データ入力の頼れる相棒VLOOKUP関数を使いこなすためのエラー処理2選
- 【Excel】表から個人情報を除いて印刷したい!エクセルの表で印刷範囲を自在に設定できるテクニック2選
- 【Excel】プレゼンにイラストを使ったインパクトのあるグラフを使いたい!エクセルで絵グラフを作るテクニック
- 【Excel】アンケートの入力と集計を効率化!エクセルのドロップダウンリストを活用して回答しやすい入力フォームを作成するテク
- 【Excel】アンケート結果から年齢別・部署別の回答傾向を把握したい!エクセルの表で効率よく必要なデータを表示するテク
- 【Excel】行を追加するたびに集計範囲を指定し直すのは面倒!エクセルで将来のデータの増加を見込んだSUM関数の記述テク
- 【Excel】アンケート結果をすばやく集計したい!エクセルで条件を満たすデータをカウントするテク