小さい会社の1人SEの開発記というか奮戦記

  1. Excel
  2. 9594 view

Vlookupで#N/Aと0を表示しない【Excel】

Vlookup関数は、参照先が無い場合#N/A、参照先が空欄の場合0が表示されます。今回このエラーと0を表示しない方法をまとめます。

Vlookup関数とは?

他のワークシートの値を参照する関数でExcelの処理では使用頻度が高い関数です。

Microsoft Docs の中では Excel の参照関数として定義されています。
https://support.office.com/ja-jp/article/vlookup-%E9%96%A2%E6%95%B0-0bbc8083-26fe-4963-8ab8-93a18ad188a1

Vlookup関数の基本構文

=VLOOKUP(検索値, 範囲, 列番号, 検索の型)
検索値 = どこのデータを
範囲 = どこから検索して
列番号 = 何列目を参照するのか
検索の型 = 完全一致か一番近いデータか

検索の型

false = 完全一致、合致するものが無い場合はエラー(#N/A)を返します

true = [検索値]を超えない最大値をデータとして返します。指定しない場合は true として取り扱われます

参照先が空欄の場合は0が返される

仕様としか言いようが無いのですが、参照先が空欄の場合は数値の0が返されます。掛け算で考える場合は便利なのですが、文字列で考えると見栄えが悪いです。

返り値の0を表示しないようにする

考え方としては「返ってきた0を数値と認識させなければ良い。」ということで、後ろに文字長=0の文字列(“”)を追加すれば0の表示は回避できます。

=VLOOKUP(検索値, 範囲, 列番号, 検索の型)&””

これだけで0が表示されなくなります。

返り値の#N/Aを表示しない様にする

考え方は「IFERROR関数を使ってエラーなら””を表示する。」です。

=IFERROR(VLOOKUP(検索値, 範囲, 列番号, 検索の型),””)

これでエラーが起きているものは全て表示しなくなります。

#N/Aと0を表示しない様にする

上の2つを合わせればOKです。

=IFERROR(VLOOKUP(検索値, 範囲, 列番号, 検索の型)&””,””)

まとめ

少し乱暴な話かもしれませんが

=IFERROR(VLOOKUP(検索値, 範囲, 列番号, 検索の型)&””,””)

丸暗記してしまいましょう。構文だと思ってしまった方が何かと簡単です。

Excelの最近記事

  1. 日本語をエンコードする【Excel VBA】

  2. 商品コードなど長い数値だけの文字列を指数表示させない【Excel VBA】

  3. VBAで改行を指定する【Excel】

  4. 入力規則のプルダウン連携【Excel】

  5. 最短手順で計算式を保護する【Excel】

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


お薦め書籍

最近の記事

  1. Access

    Accessの数値型ではまる・・・。
  2. Excel

    日本語をエンコードする【Excel VBA】
  3. Access

    クエリで日付から曜日を算出する。【Access】
  4. PCパーツ

    ASUS AMD Ryzen 4000 シリーズ搭載小型ベア…
  5. Microsoft365

    コンデジをTeamsのWebカメラに使う
  6. SQL Server

    SQL文で今日から7日前までを指定する