Excel 検索結果を座標で取得する方法

2020年5月5日

VLOOKUP関数などの検索関数では

基本的には値を結果として取得しますが

この記事では検索結果を値ではなく

検索結果の座標(セル番地)で取得する方法を紹介します。

手順

検索キーワードなどの調べるとVLOOKUP関数で取得することを

想定される方が多いようですがVLOOKUP関数では不可能です。

XLOOKUP関数INDEX関数とMATCH関数

組み合わせ検索しCELL関数でセルアドレスを取得します。

XLOOKUP関数で実現

数式が簡潔で済むため反映されていれば、こちらの方法で実現しましょう。

=CELL("address",XLOOKUP(H4,$C$4:$C$6, 参照表の表示項目の範囲 ))

INDEX関数とMATCH関数で実現

=CELL("address",INDEX(参照表の表示項目の範囲,MATCH(検索キー,参照表の検索列の範囲,0),0))
検索結果を座標で取得するキャプチャ

余談:VLOOKUPでは不可能な理由

ここは実用上、必須ではないため読み飛ばして構いません。

VLOOKUP関数XLOOKUP関数またはINDEX関数+MATCH関数では

見た目上は同じ事を行いますが実は結果の返し方が違います。

VLOOKUP関数は検索結果の値を返し、

XLOOKUP関数INDEX関数+MATCH関数はセル参照を返しています。

そのためセル参照である後者でのみCELL関数

セル座標を取り出すことが可能です。

この違いはISREF関数で検査するとわかります。

ISREF関数でVLOOKUPとINDEX+MATCHの結果を比較した結果、VLOOKUPは値で、INDEX+MATCHは参照であるとわかる状態のキャプチャ

関連記事

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