小技集

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



2024年7月10日【ID:0】

【Excel】VLOOKUP関数で項目名から値を抽出


通常、VLOOKUP関数では、抽出する列番号を指定する必要があります。
例えば、以下の表から「名前」の項目を抽出する場合は、列番号に2列目の「2」と指定します。

上記の例のような小さな表であれば、列数を数えるのもそこまで大変ではありませんが、項目が多い表になれば数えるのが大変になります。
また、列番号を「2」などと直接指定している場合、項目の位置が変更された時(列の挿入時など)に、抽出対象が変わってしまいます。

それらの対策として、こちらでは、項目名から列番号を取得し、対象の項目の値を抽出する方法について解説していきます。


表の中に同じ項目名が存在しないという前提になりますが、項目名から列番号を取得するには、MATCH関数が活用できます。
MTACH関数の使い方は、以下になります。

=MATCH(検査値, 検査範囲, 照合の種類)
// 検査範囲から検査値が見つかった位置(先頭からの通し番号)を返す
// 検査値:検索対象の値
// 検査範囲:検索対象の表
// 照合の種類:検索方法([1]以下、[0]完全一致、[-1]以上)

実際に、項目名から列番号を抽出した例が、以下になります。

=MATCH(C14,B2:E2,0)
// セルB2~E2の範囲からセルC14の値が完全一致する位置(通し番号)を返す

後は、この数式をVLOOKUP関数の列番号の引数に設定します。

=VLOOKUP(B15,B3:E12,MATCH(C14,B2:E2,0),FALSE)

このように、項目名から対象の値を抽出することができるようになります。
また、この方法の場合は、セルC14の項目名を変更するだけで、他の項目の値に切り替えることができます。


・補足

抽出する項目をよく変更する場合は、[データ]タブから[データの入力規則]を活用して、項目名のリストにすると便利です。


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


メンバー募集
ExcelVBA学習ロードマップ配布 ExcelVBA学習ロードマップ配布





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

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


- 人気の記事 -



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



サイト累計閲覧数

5354114

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

Excel完全制覇


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

【Excel】姓と名の間に半角スペースの入力を強制

【Excel】グラフを後から組み合わせる

【Excel】指定項目の先頭の値以外を薄くする

【Excel】表の一番右側のデータを自動抽出

【Excel】PDFファイルを読み込む方法

【Excel】半角文字の入力を制限する

【Excel】上位N%に合格と表示する

【Excel】開発不要の登録フォーム

【Excel】○○IF(S)関数で使える条件式

【Excel】書類などの簡易的な入力チェック

【ExcelVBA】合格者だけに合格証を発行

【Excel】フィルターで絞った上でトップ3を求める

【Word】指定した位置でページを分ける

【Excel】ドロップダウンリストで複数選択可能にする

【Excel】締め日を考慮したカレンダーの作成方法

【Excel】タイムスケジュールを瞬時に作成

【Excel】指定した年月のデータを数式で抽出

【Excel】表の途中に行を一瞬で挿入

【Excel】グラフ上で目標値を可視化

【Excel】抽出元のデータへのハイパーリンクを作成

【ExcelVBA】完了タスクを非表示にして着手中タスクを上位表示する

【Excel】表の書式がコピーした際に崩れないようにする

【Googleスプレッドシート】チェックボックスの自動表示

【Excel】昇順や降順ではなく、好みの順番に並べ替える方法

【Excel】ピボットテーブルの表示形式





一覧ページへ

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