Excel VLOOKUP関数の結果を1行上下にずらす方法

2020年6月23日

VLOOKUP関数の検索結果を1行(何行でも可)、上下にずらす方法を紹介します。

手順

XLOOKUP関数を使用

XLOOKUP関数では引数の仕様が変わっているためそのまま実現可能になっています。

数式が簡潔なので関数が反映されている場合は、基本的にはこちらを使用しましょう。

=XLOOKUP(検索値,検索範囲,表示項目の範囲)

通常通り関数を使用しますが、表示項目の範囲を1行下にずらすと結果も1行下にずれます。

検索結果を1行下にずらすキャプチャ(XLOOKUP関数)

表示項目の範囲を1行上にずらすと結果も1行上にずれます。

検索結果を1行上にずらすキャプチャ(XLOOKUP関数)

上端や下端のコードを指定した場合、結果が項目名や空白になります。

それを避けるにはIF関数で条件を設定するか非表示列を挟んで対処しましょう。

INDEX関数とMATCH関数を使用

INDEX関数とMATCH関数の場合、数式が複雑になるため

古いバージョンのExcelを考慮する場合を除きXLOOKUP関数推奨です。

同様に表示項目の範囲を上下にずらせば可能ですが、

こちらには別のアプローチもあるので紹介します。

=INDEX(表示項目の範囲,MATCH(検索値,検索範囲,0)+ずらす行数)
検索結果を1行ずらすキャプチャ(INDEX関数とMATCH関数)

本来ではれば検索値100では「まぐろ」が結果になりますが、

1行下にずれて「さば」になっています。

数字を変えるとずれる行数が変わりマイナスにすると上にズレます。

ズレた結果、範囲から出てしまうと#VALUEエラーになります。

検索値に一致するものがなく#VALUEエラーとなるキャプチャ(INDEX関数とMATCH関数)

検索値に一致するものがない場合は#N/Aエラーになります。

検索値に一致するものがなく#N/Aエラーとなるキャプチャ

関連記事

XLOOKUP(VLOOKUP)関数の使い方・活用方法の記事一覧