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

拡張性を持ったリストになりました(本当はif文を入れて未入力時のエラー表示を消します)

やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント