経理事務に欠かせないExcelのVLOOKUP関数②

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

VLOOKUP関数について昨日の続きです。

[aside type=”yellow”]この記事を改訂した新しい記事を書きましたのでそちらをお読みください。

関連記事 条件に一致するデータを探すExcelのVLOOKUP関数[/aside]

VLOOKUPとHLOOKUP_1

● VLOOKUP関数のエラーケース1

 

エラーとしては、次のようなものがあります。

VLOOKUPとHLOOKUP_エラー例

F16にはVLOOKUP関数を利用した式が入力されていますが、検索値(「TRUE」か「FALSE」)を省略した式を入力しています。(省略した場合は、「TRUE」を指定しているのと同じ状態となります。)

 

上記のケースだとE16には「800」という数値を入力したので青枠の科目のリストから「郵便貯金」を参照し、F16のセルに表示してくれることを願って数式を入力したのですが、「現金」が表示されてしまっている状態です。

 

なぜでしょう?

 

VLOOKUP関数でTRUEを指定(または省略)する場合は、リストの一番左端の列を昇順で並べなければ思い通りの値を表示してくれないのです。

 

経理事務ではTRUE(または省略)で近似値を検索するケースは少ないかと思いますので、省略せずに「FALSE」を入力する方が良いでしょう。

 

● VLOOKUP関数のエラーケース2

次のようなエラーもあります。

vlookupとhlookup_エラー2

 

上記の例は、E5に「501」を入力しているため、それと一致する数値がリストに存在しないケースです。

この場合の対策としてIF関数とISERROR関数を利用する方法があります。

vlookupとhlookup_エラー対処方法

上記のF6には次のような式が記載されています。

 

「=IF(ISERROR(VLOOKUP(E6,B2:C11,2,FALSE)),“,VLOOKUP(E6,B2:C11,2,FALSE))

 

これは、「もし、リストに数値がなかったら、『無』と表示してください。」という式なのですが、文字列の場合は「#N/A」と表示されても「無」と表示されてもさほど影響はありませんのでこのような式を入力しなくても良いかもしれません。

 

ただし、数値の場合は次のようになってしまうので、注意が必要です。

 

vlookupとhlookup_エラー対処方法2

上記の例では、商品No.を限定して売上高の合計を算出している表となっていますが、上部の表では、「#N/A」値が表示されているため合計までエラーになってしまっています。

 

一方、12行より下部の表では、先ほどのISERROR関数を使った式を入力しているため、合計値は正しく表示されて

います。

「=IF(ISERROR(VLOOKUP(E6,B2:C11,2,FALSE)),0,VLOOKUP(E6,B2:C11,2,FALSE))」

先ほどの式の「“無”」を「0」に変更しました。

 

 

(おまけ)

● HLOOKUP

VLOOKUPと似た関数でHLOOKUPというものがあります。

 

これは、VLOOKUP関数で「何列目の値を返す」と指定するところを、HLOOKUP関数では「何行目の値を返す」と指定することになります。

VLOOKUPとHLOOKUP_4

上記の例では、「B2E3」までの範囲を指定し、そのなかで2番目の行を返すという指定をしています。

 

私は、このHLOOKUP関数を実務であまり使ったことがありません。