North Detail / ノースディテール

BLOG ブログ

ブログ
CATEGORY
TECH

ExcelでVLOOKUPが正しく動作しない場合の解決法

Excelで別の表の中から該当する値を取得したい場合に便利なのがVLOOKUP関数です。
以下のような値の取得が自動で行えます。

VLOOKUP関数は便利なのですが、最初は内容が理解しづらい点があるのと、
正しく検索するためにいくつか気を付ける点がありますので、まとめてみました。

VLOOKUP関数の使い方

VLOOKUP関数の使い方は以下の通りです。
=VLOOKUP(①検索値, ②検索表の対象範囲, ③取得する値の検索対象範囲内での列数, ④完全一致条件)

それぞれの項目を説明します。

①検索値

①の値で②の範囲内を検索します。

②検索表の対象範囲

上記の通り「①の値で②の範囲内を検索」という内容のため、この範囲には①と一致する情報が含まれる必要があります。
また、この範囲内の値を取得する関数のため、取得したい値が範囲に含まれる必要があります。

正しく取得するための必須条件

※範囲の一番左は、検索値と一致すること
※範囲の一番左は、昇順で並んでいること(④完全一致条件の指定がTRUEの場合のみ)

③取得する値の検索対象範囲内での列数

上記①の値が②の範囲内の情報と一致した行がある場合、その行の何列目の情報を取得するかを指定します。
範囲の一番左から、1列目、2列目という数え方です。

④完全一致条件

①の値と一致した行のデータだけを取得したい場合、④を「FALSE」で指定する必要があります。
FALSEを指定しないと、①の値と一致しない想定外の値が取得される場合があります。

該当する値があるはずなのに、検索されない場合

VLOOKUPで一致する値がない場合は「#N/A」と表示されますが、
一致する値があるはずなのに、同じように「#N/A」と表示される場合があります。

その場合、検索値の片方は数値でも、もう一方は文字列となっていて、一致していない可能性があります。

対処方法としては、いくつか方法が考えられますが、実際の表の中身を変えてしまうと、他の部分に影響が出てくる可能性があるため、VLOOKUPの式の方を修正する方法を紹介します。

検索値が数値で、一致判定する検索表の方が文字列の場合、検索値の方を文字列変換して、文字列同士で一致判定を行います。
文字列変換は、TEXT関数を利用します。

TEXT関数の使い方

TEXT関数の使い方は以下の通りです。
=TEXT(①変換したい値, ②変換形式)

それぞれの項目を説明します。

①変換したい値

②の形式で変換したい数値を設定します。

②変換形式

表示形式の「ユーザー定義」で設定できる形式を指定します。
文字列に変換したい場合は「@」を指定します。

VLOOKUPの式の中で文字列変換を行うことで、文字列同士の一致と判定され、正しく結果が表示されるようになります。

まとめ

VLOOKUP関数は、記載したいくつかの注意点を気を付ければ簡単に値が取得できて、とても便利に使える関数なので、是非試してみてください。

haya
WRITER:haya
主な記事 一覧へ

一覧へ

IS 501383 / ISO 27001