小技集

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



2024年1月8日【ID:0】

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

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


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)

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

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


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

※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。


メンバー募集 メンバー募集





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

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


- 人気の記事 -



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



サイト累計閲覧数

7266509

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

Excel完全制覇


ちょっとした機能 便利ツール
【小技集】

【Excel】入力した数値を0埋め4桁にする

【ExcelVBA】項目名をクリックするだけで並べ替え

【Excel】複数行のデータを瞬時に1列にする方法

【Excel】図形の幅ギリギリまでテキストを表示

【Excel】行ごと削除しても数式が消えない数式

【Excel】クイックアクセスツールバーをブック単位で設定

【Excel】非表示セルを除いてコピー&ペースト

【Excel】特定の値の表示非表示を切り替える

【Excel】グラフタイトルにセルの値を参照させる

【Excel】数式を短く表現する

【Excel】上限額を設定して支給額を自動で求める

【Excel】FILTER関数で必要な項目のみを抽出

【Excel】表の順番をランダムに並べ替える

【Excel】プランごとの金額をSWITCH関数で求める

【ExcelVBA】ボタン1つで完了タスクを別シートに移動

【ExcelVBA】選択データの全項目を一括表示

【Excel】指定の倍数で金額を求める(時間にも活用できる)

【ExcelVBA】半角文字を自動で全角文字に変換

【ExcelVBA】VBAを使ってシートの初期設定を自動化

【Excel】複数シートを一括修正

【Excel】FILTER関数1つで離れている項目を抽出

【ExcelVBA】双方向の入力を実現する方法

【Excel】複数のセルを異なる区切り文字で文字結合

【Excel】XLOOKUP関数を使って複数条件で検索

【Excel】VBAとOfficeスクリプトのコードを比較(対象行の削除)





一覧ページへ

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