【Excel】構造化参照とは?

Excelでテーブルを使うメリットのひとつとして構造化参照があります。

今回はこの構造化参照について見ていきたいと思います。

構造化参照

そもそも構造化参照とはなんでしょうか。

図1をご覧ください。テーブルを使わない点数表(表1)とテーブルを使った点数表(表2)があります。

図1:テーブルを使わない表1とテーブルを使った表2

ここで、表1において、国語の平均点を求めてみましょう。(H4セル)

=AVERAGE(C4:C6)

上記のようになりますね。

さて、表2でも同様に国語の平均点を求めてみましょう。

=AVERAGE(

ここまでは、入力しました。さて、この後は、C11からC13セルの範囲を選択すればいいですね。

数式バーを見てください。

=AVERAGE(表2[国語])

となっています。あれ?

=AVERAGE(C11:C13)じゃないの?となると思います。

テーブルを利用しないときは、引数にC11:C13のようにセルの範囲が用いられています。

一方で、テーブルを利用したときは、表2[国語]のようにテーブルの名前と列の名前を用いて引数が入力されています。

実は、テーブルを使った場合、引数にはC11:C13というセルの番号だけでなく、表2[国語]といったようなテーブルの名前や列の名前を用いることができます。

表2という部分はテーブル名です。テーブルの範囲内を選択した状態で、ツールバーの「テーブルツール デザイン」をクリックすると、テーブル名という部分があります。そこに入力されている内容がテーブル名です。(図2の赤枠の部分)

図2:テーブル名

[国語]は、国語の列を表しています。つまり、

=AVERAGE(表2[国語])

は、表2の国語の列の平均を出してくださいということになります。=AVERAGE(表2[国語])ような参照方法を構造化参照と呼びます。

構造化参照の入力方法

=AVERAGE(表2[国語])ように、構造化参照の独特の入力規則があります。

テーブル名

構造化参照を使うときは、最初にテーブル名を記述します。テーブル名がないとどのテーブルについて記述しているかわからなくなってしまうためです。

列指定子

見出し行と集計行を除く列を参照するもので、[国語]のように[列名]と記述します。列名を必ず鍵括弧[]で囲んでください。

特殊項目指定子

見出し行や集計行などを参照するものです。特殊項目指定子にはTable1のものがあります。なお、指定子は鍵括弧で囲んでください。

Table1:特殊項目指定子
項目指定子 参照先
#すべて テーブル全体(見出し、集計すべて含む)
#データ データ部分のみ(見出し、集計以外)
#見出し 見出し部分のみ
#集計 集計部分のみ
@ 数式と同じ行のセルのみ

使用例

図3は構造化参照の使用例です。

図3:構造化参照の使用例

図3の①=表2[#見出し]についてです。表2は、テーブル名で、その次は特殊項目指定子の#見出しとなっています。つまり、表2の見出しの部分のみを参照することになり、参照するセルの範囲はB10からF10ということになります。

②の=表2[[#集計],[国語]:[英語]]についてです。表2はテーブル名です。[#集計]は、特殊項目指定子の#集計ですので、集計のみを表しています。その次の部分[国語]:[英語]の部分ですが、これは国語から英語の範囲を表します。今回は、[[#集計],[国語]:[英語]]となっているため、集計のみの部分、かつ、国語から英語の範囲ということになるので、参照するセルの範囲は、C14:E14となります。

③、④についても同様の考え方になります。

補足

  • 指定子は原則、鍵括弧で囲むようにしてください。
    • 例:[[#集計],[国語]:[英語]]
  • 見出しに特殊な記号を使うときは、鍵括弧を2重に囲ってください。下記の例では!マークを使用しているため、鍵括弧を2重に囲っています。
    • 例:[[国語!]]

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする