Excelでテーブル化をするメリットのひとつに、テーブルの中の行や列を名前で指定できるというものがあります。この機能を「構造化参照」と呼びます。
構造化参照の背景
なぜこれが必要なのかというとVlookupに使うためです。Vlookup関数は式でいうと次のようなものなんですが、
データの垂直→水平検索
Vlookup(検索値,適用範囲,水平方向の移動距離,検索の型)
Vlookup(検索値,適用範囲,水平方向の移動距離,検索の型)
簡単に言えば参照する場所を決めておいて、検査値がAならB列のCという具合に、検査値に対応した文字列を返すための関数です。
こんな感じのリストを参照します。
=vlookup($A2,参照シート!A2:B6,2,FALSE)
(A2の文字列をシート名「参照シート」のA2からB6の中で探して、完全一致でヒットした行の左から2番目の列にある文字を返す)と入力すると、今のところはちゃんとA列の職業が反映されています。
(A2の文字列をシート名「参照シート」のA2からB6の中で探して、完全一致でヒットした行の左から2番目の列にある文字を返す)と入力すると、今のところはちゃんとA列の職業が反映されています。
ところが諸事情により年齢を追加することになりました(数字は適当です)。職業の左に列を挿入し、値を入力します。
すると式が壊れました。
構造化参照はこの状況を手動で直したくないから設定するものなので、拡張する可能性が全くなければする必要はないです。
構造化参照はこの状況を手動で直したくないから設定するものなので、拡張する可能性が全くなければする必要はないです。
構造化参照の方法
構造化参照で式に拡張性を持たせるために、まずはテーブルに名前を付けておきます。
=vlookup($A2,glist,2,FALSE)
(A2の文章をテーブル「glist」の中で探して、完全一致でヒットした行の左から2番目の列にある文字を返す)とします。
(A2の文章をテーブル「glist」の中で探して、完全一致でヒットした行の左から2番目の列にある文字を返す)とします。
さらにglistの中の「職業」列(column)を参照したいので……。
=vlookup($A2,glist,column(glist[職業]),FALSE)
(A2の文章をテーブル「glist」の中で探して、完全一致でヒットした行の職業列にある文字を返す)とします。
(A2の文章をテーブル「glist」の中で探して、完全一致でヒットした行の職業列にある文字を返す)とします。
これで構造化参照はOKです。拡張性を持ったリストになりました。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
Excel(エクセル):検索、置換
検索・置換関連の操作、関数、VBAまとめです。
検索・置換操作
検索の基本
検索をするには、ホームタブの右端あたりにある、
検索と選択から検索をクリックします。
検索画面を起動
Ctrl+F
またはショート...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
コメント