Home » Excel(エクセル)の関数・数式の使い方 » 論理・情報 » IF関数でVLOOKUP関数の#N/Aエラー回避

IF関数でVLOOKUP関数の#N/Aエラー回避

対象:Excel97,Excel2000,Excel2002,Excel2003,Excel2007

このサイトでは、以下のようにVLOOKUP関数について何度かご紹介してきましたが、

VLOOKUP関数を実務で使おうとしている方から、とてもよくいただく質問があります。

「VLOOKUP関数を使ったら#N/Aと表示されるのですが...?」
「VLOOKUP関数の入力されているセルに#N/Aエラーが表示されたのですが、どうすればいいのでしょうか?」
といったご質問です。

[スポンサードリンク]

例えば、見積書や請求書の明細欄を作成するような場合に、VLOOKUP関数が利用されます。

商品コード・商品名・単価の各データを持った商品マスタを作成しておき、見積書や請求書の明細欄では商品コードが入力されたら、商品名や単価が表示されるようにする、といったときにVLOOKUP関数を利用します。

そして、見積書や請求書のテンプレートを作成している場合、事前に計算式をすべて入力しておくわけですが、この時商品コードが入力されていない場合に、VLOOKUP関数だけを入力したセルでは、商品コードが入力されないときに「#N/A」エラーがずらっと表示されてしまいます。

その「#N/A」エラーが表示された状態から、先のようなご質問をいただくわけです。

▼サンプルファイル(002606.xls 41KByte)ダウンロード

サンプルファイルには3枚のシートが作成してあり、「1_エラー回避前」シートが、「#N/A」エラーの表示された状態です。

エラー回避の方法についてはこのサイトでもいろいろとご紹介してきていますが、まず最初にしっかり理解・習得すべきは、必要なデータが入力されていないときに表示される「#N/A」エラーの回避方法です。

▼操作方法:VLOOKUP関数で検索値が未入力時に#N/Aエラーが表示されないようにする

※「=VLOOKUP(B5,$H$5:$J$13,2,FALSE)」という数式で、B5セルが空欄のときに#N/Aエラーが表示されないようにする例

計算式「=VLOOKUP(B5,$H$5:$J$13,2,FALSE)」を、
「=IF(B5="","",VLOOKUP(B5,$H$5:$J$13,2,FALSE))」に修正する

IF関数を使って空白かどうかチェックして、空白でないときだけVLOOKUP関数で実際に必要なデータを取得します。

上記の例の場合、IF関数の第1引数:論理式を「B5=""」とすることで、B5セルが未入力かどうかをチェックします。

「B5=""」が真(TRUE)の場合(B5セルが空白の場合)
IF関数の第2引数「""」で空白となり、
「B5=""」が偽(FALSE)の場合(B5セルが空白でない場合)
IF関数の第3引数「VLOOKUP(B5,$H$5:$J$13,2,FALSE)」で、$H$5:$J$13の2列目から該当する値(商品名)が取得されます。

サンプルファイルでは「2_VLOOKUP関数のエラー回避後」シートが、VLOOKUP関数で検索値が未入力のときに「#N/A」エラーと表示されないようにした状態です。

C5:C19セルに上記のような
「=IF(B5="","",VLOOKUP(B5,$H$5:$J$13,2,FALSE))」
という数式が入力してあり、
D5:D19セルには商品マスタから単価を取得するように
「=IF(B5="","",VLOOKUP(B5,$H$5:$J$13,3,FALSE))」
という数式が入力してあります。

また、
VLOOKUP関数ではありませんが、金額計算をするF5:F19セルでも、単純に「=D5*E5」という掛け算が入力されているときに単価か数量が未入力であれば「#VALUE!」エラーが表示されます。

サンプルファイルの「3_掛け算のエラー回避後」シートでは「=IF(E5="","",D5*E5)」として、数量が空白のときに空白、空白でないときに「D5*E5」の計算をするようにしています。

空白のときにエラーとならないようにするだけでは、エラー回避として実務上は決して十分とは言えませんが、この考え方が理解できていないと、その他のエラー回避についても理解できませんから、まずはIF関数を使った、参照セルが空白のときに空白にして、空白でないときに実際に必要な計算を行うという方法をしっかりご理解ください。

関連語句
エラーの非表示,#N/Aを非表示,#N/Aを表示しない,#DIV/0!を表示しない, エクセルのエラー値を非表示に

[スポンサードリンク]

Home » Excel(エクセル)の関数・数式の使い方 » 論理・情報 » IF関数でVLOOKUP関数の#N/Aエラー回避

「論理・情報」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.