小技集

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ



2024年1月8日【ID:0】

【Excel】VLOOKUP関数で効率的に抽出


VLOOKUP関数で値を抽出する際に、通常であれば、列番号を数える必要があります。
実は、ある関数を使うことで、列番号を数えずに抽出することができます。
また、その関数を使うことで、連続した項目の抽出にも活用できます。

例えば、以下の表を活用して、IDから「カテゴリー、文房具名、単価」と連続した項目の値を抽出していきます。

VLOOKUP関数の通常の使い方の場合、IDからカテゴリーを抽出すると、以下のような数式になるかと思います。

'=VLOOKUP($B22,$B$3:$E$17,2,FALSE)

こちらでは、検索値の列名(B)と、表の範囲(B3:E17)を絶対参照にしています。
この状態で、隣の項目にコピーすると、恐らく同じ値が抽出されてしまいます。

この原因は、列番号に直接、値を入力しているためです。
直接入力された値は、コピーした場合も、そのまま貼り付けられてしまいます。

そのため、列番号に関しても、相対参照で移動させたいという時は、関数で表現する必要があります。

その時に活用できる関数の1つが、COLUMN関数です。


この関数の使い方は、以下の通りです。

=COLUMN([参照])
// 参照したセルの列番号を返す

この関数を活用して、表の中のカテゴリーの列番号(2)を取得するには、2列目であるB列を参照、もしくは、該当列を参照し、差分を計算することで求めることができます。

方法1
=COLUMN(B1)
→ 2

・方法2
=COLUMN(C1)-1
// カテゴリーの項目の位置(C列)から、表の開始位置までの差(1列)を引く
→ 2

実際に、方法2を活用してカテゴリーの列番号を求めた数式が以下になります。

=VLOOKUP($B22,$B$3:$E$17,COLUMN(C1)-1,FALSE)

この数式の場合、隣にコピーした際も、参照が相対参照になるため、以下のように連続した項目を抽出することができます。

連続した項目の中の一部の項目が不要な場合は、その項目を削除すると良いです。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
1分で読める小技集 1分で読める小技集





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

2315040

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール

トップ > 小技集 > 記事
小技集一覧へ
限定コンテンツ一覧へ