7/04/2025

Excel。VLOOKUP関数で複数の離れた列を表引きしたい。【distance】

Excel。VLOOKUP関数で複数の離れた列を表引きしたい。

<VLOOKUP関数>

A1:H5には、四半期の売上表があります。

VLOOKUP関数で複数の離れた列を表引きしたい

A8にNOを入力すると、該当するデータがA1:H5から表引きされるようにしたいわけです。


このような表引きをするならば、VLOOKUP関数をつかうと対応できそうです。


しかし、B8:E8までにVLOOKUP関数をつかって、設定する場合、列番号が異なるので複数のVLOOKUP関数を設定する必要があります。


また、連続していれば、列番号に、COLUMN関数をつかうことで、対応することもできますが、今回は、表引きしたいデータが離れています。


これでは、COLUMN関数をつかうことができません。


そこで、VLOOKUP関数の列番号に配列数式をつかうことで、対応することができます。


B8にVLOOKUP関数の数式を設定します。


=VLOOKUP(A8,A2:H5,{2,4,6,8},FALSE)

今回は、検索値が空欄時に発生する、#N/Aは考慮しておりませんので、考慮する場合には、IF関数かIFERROR関数で対応します。


またスピル機能によって、オートフィルで数式をコピーする必要はありません。


これで、複数の離れた列から表引きすることができました。

では、VLOOKUP関数を確認しておきましょう


最初の引数は、検索値です。A8を設定します。

この番号を変えることで、該当するデータを表引きします。


2つ目の引数は、範囲です。

A2:H5。

表引きの件数が1件なので、絶対参照は不要です。


3つ目の引数は、列番号です。

2つ目の引数で設定した範囲の左側から何列目のデータを抽出するのかという数値なのですが、離れた列になります。


そこで、

{2,4,6,8}

という配列数式にすることで、表引きすることができます。

通常の「()」ではなくて「{}」で囲むことで、配列数式にすることができます。


旧来は、先に表引きをすべて範囲選択して、数式の確定時にCtrl+Shift+Enterをすることで配列数式にすることができましたが、スピル機能によって、不要になりました。


数式の作成は、最初から「{}」で表引きしたい列番号を囲うだけです。


表引きしたい列は、2,4,6,8列です。


最後の引数は、検索方法です。

完全一致なので、FALSEを設定します。