Vlookupで必ずエラーが出てしまう
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
教授?
ExcelでVlookup関数を使おうとしたのですが、どうしてもエラーが出てしまいます。
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
そうなんです?
どういう状態なんですか?
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
こんな感じです。
=VLOOKUP(D2,$A$2:$B$6,1,FALSE)
間違っていないはずなのに、エラーが出てしまいます。
![](https://atnettec.com/wp-content/uploads/2023/11/image.png)
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
ああ、なるほど。
Vlookupは範囲の中で検索値が入力されている列よりも左側を検索できませんよ?
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
はあ。
いまいち、分かりませんが?
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
このようにすればできるのでは?
=VLOOKUP(D2,$A$2:$B$6,2,FALSE)
![](https://atnettec.com/wp-content/uploads/2023/11/image-1.png)
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
そうなんですけどね。
どうしても、元の表をそのまま使いたいんですよ。
列を入れ替えたりするのは、間違いの元ではないですか?
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
ふむふむ。
まずは、Vlookupについて解説しておきましょう。
Vlookupの仕様について
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
Vlookupは、次のような仕様になっていますよ?
A列の検索値から見て、右側にあるデータを検索することができます。
つまり、検索値として使う数字や文字列は、左側にあることが必要なのです。
![](https://atnettec.com/wp-content/uploads/2023/11/image-2.png)
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
なんだか、ややこしいですね。
じゃあ、表を加工するしか方法がないということでしょうか?
必ず、検索値として使う数字や文字列を一番左のA列にしてしまうとか?
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
方法がないわけではありません。
INDEXとMATCH関数を使う
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
大きな表などで、加工するのが難しい場合は、INDEXとMATCH関数を使うと良いですよ?
=INDEX($A$2:$B$6,MATCH(D2,$B$2:$B$6,0),1)
![](https://atnettec.com/wp-content/uploads/2023/11/image-3.png)
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
だいぶ数式が長くなりましたね。
どうやって数式を入力すればいいですか?
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
まずは、INDEX関数から始めます。
![](https://atnettec.com/wp-content/uploads/2023/11/image-4.png)
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
「配列」と書いてある方を選択するのですね。
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
ええ、そうです。
次は、INDEX関数の引数を入れていきます。
![](https://atnettec.com/wp-content/uploads/2023/11/image-5.png)
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
「配列」は、数式を使いたい範囲ですね。
すると、「列番号」は配列の中での列番号ですね。
ここでは、A2セルからB6セルまでの範囲で、A列とB列の2列があります。
だから、教科を表示させたい時は、範囲の中の1列目なので「列番号」には、「1」と入力するのですね。
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
君にしては、なかなかの答えです。
それでは、「行番号」はどうでしょうか?
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
行番号には別の関数が入っているのですか?
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
そうです。
関数の引数の中に関数を入れること(関数を入れ子にすること)を「関数のネスト」と呼びますよ?
![](https://atnettec.com/wp-content/uploads/2023/11/image-6-1024x641.png)
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
あ、ダイアログボックスが変わりましたね。
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
MATCH関数の引数は次のようにしますよ?
![](https://atnettec.com/wp-content/uploads/2023/11/image-7.png)
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
「検索値」は、Vlookupで言うところの「検索値」みたいな感じですかね。
「検査範囲」は、番号の入力されている範囲ですね。
「照合の種類」って何ですか?
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
「照合の種類」に関しては、Vlookupと同様に使うのであれば、「0」を入れると覚えておけば良いですよ。
検査値と完全一致したものを探すという意味になります。
![生徒](https://atnettec.com/wp-content/uploads/2023/02/女生徒.jpg)
なるほど!
これで、表を加工しなくても検索をすることができますね。
私もExcelマスターでしょうか?
![教授](https://atnettec.com/wp-content/uploads/2023/02/イラスト.jpg)
君がどう思うかは自由ですが。
かんばっているのは認めますよ?