Excelエクセルでテーブル内の行や列を参照する方法/vlookup関数における構造化参照の使い方

architecture IT

Excelでテーブル化をするメリットのひとつに、テーブルの中の行や列を名前で指定できるというものがあります。この機能を「構造化参照」と呼びます。

Advertisements

構造化参照の背景

なぜこれが必要なのかというとVlookupに使うためです。Vlookup関数は式でいうと次のようなものなんですが、

データの垂直→水平検索
Vlookup(検索値,適用範囲,水平方向の移動距離,検索の型)

簡単に言えば参照する場所を決めておいて、検査値がAならB列のCという具合に、検査値に対応した文字列を返すための関数です。

kouzouka1
こんな感じのリストを参照します。
kouzouka2
=vlookup($A2,参照シート!A2:B6,2,FALSE)
A2の文字列シート名「参照シート」のA2からB6の中で探して完全一致でヒットした行の左から2番目のにある文字を返す)と入力すると、今のところはちゃんとA列の職業が反映されています。
kouzouka3
ところが諸事情により年齢を追加することになりました(数字は適当です)。職業の左に列を挿入し、値を入力します。
kouzouka4
すると式が壊れました。
構造化参照はこの状況を手動で直したくないから設定するものなので、拡張する可能性が全くなければする必要はないです。

構造化参照の方法

kouzouka5
構造化参照で式に拡張性を持たせるために、まずはテーブルに名前を付けておきます。
kouzouka6
=vlookup($A2,glist,2,FALSE)
A2の文章をテーブル「glist」の中で探して完全一致でヒットした行の左から2番目の列にある文字を返す)とします。
kouzouka7
さらにglistの中の「職業」列(column)を参照したいので……。
kouzouka8
=vlookup($A2,glist,column(glist[職業]),FALSE)
A2の文章をテーブル「glist」の中で探して完全一致でヒットした行の職業列にある文字を返す)とします。
kouzouka9
これで構造化参照はOKです。拡張性を持ったリストになりました。
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
Excel(エクセル):検索、置換
検索・置換関連の操作、関数、VBAまとめです。 検索・置換操作 検索の基本 検索をするには、ホームタブの右端あたりにある、 検索と選択から検索をクリックします。 検索画面を起動 Ctrl+F またはショート...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント