概要
Excel の テーブル(表)機能を使うと、A2:A100 のような「セル番地の範囲指定」ではなく、
列名で参照できる“構造化参照” が使えるようになります。
構造化参照は、
- 列の追加・削除に強い
- 範囲が自動で広がる
- 数式が読みやすい
- コピペしても壊れない
というメリットがあり、実務では必須級のテクニックです。
テーブル(表)を作る方法
- データ範囲を選択
- Ctrl + T(または「挿入」→「テーブル」)
- 「先頭行をテーブルの見出しとして使用」にチェック
すると、テーブルに名前(例:Table1)が付き、
列名で参照できるようになります。
構造化参照の基本形
テーブル名と列名で参照する
テーブル名:Table1
列名:売上, 数量, 商品
このとき、列「売上」を参照するには:
=Table1[売上]
これは「Table1 の売上列すべて」を意味します。
同じ行の値を参照する(@)
行内の「売上」を参照するには:
=[@売上]
これは「この行の売上」を意味します。
構造化参照の種類
1. 列全体を参照
=Table1[数量]
2. 行内のセルを参照(@)
=[@数量]
3. テーブル全体を参照
=Table1[#All]
4. 見出し行だけ
=Table1[#Headers]
5. データ部分だけ
=Table1[#Data]
6. 特定列のデータ部分だけ
=Table1[[#Data],[売上]]
実務でよく使う構造化参照パターン
合計を求める(列全体)
=SUM(Table1[売上])
テーブルに行が追加されても自動で範囲が広がります。
行ごとの計算(@ を使う)
売上=数量×単価 の計算を「計算」列に入れる場合:
=[@数量] * [@単価]
行を追加しても自動で式がコピーされます。
VLOOKUP / XLOOKUP と組み合わせる
検索範囲をテーブルで指定すると壊れにくくなります。
=XLOOKUP(E2, Table1[商品コード], Table1[商品名])
FILTER と組み合わせる
=FILTER(Table1, Table1[担当者]=F2)
SORT と組み合わせる
=SORT(Table1, 3, -1)
(3列目を降順で並べ替え)
構造化参照のメリット
1. 列の追加・削除に強い
セル番地で書くと:
=SUM(A2:A100)
列を挿入するとズレます。
構造化参照なら:
=SUM(Table1[売上])
列が動いても「売上」という名前で追従します。
2. 範囲が自動で広がる
テーブルに行を追加すると、
構造化参照は自動で新しい行まで含みます。
3. 数式が読みやすい
=SUM(Table1[売上])
と書かれていれば、何を合計しているか一目で分かります。
よくあるつまずきと対策
列名にスペースがある場合
列名が「売上 金額」のようにスペースを含む場合:
=Table1[[売上 金額]]
Excel が自動で角括弧を付けてくれます。
テーブル名を変更したい
「テーブルデザイン」タブ → 左上の「テーブル名」で変更できます。
テーブルではないと構造化参照は使えない
普通の範囲では使えません。
必ず Ctrl + T でテーブル化してください。
例題
問題1: Table1 の「売上」列全体を合計し、C1 に表示してください。
=SUM(Table1[売上])
問題2: Table1 の「数量」と「単価」から「金額」を計算する式を、金額列に書いてください(行ごとに計算)。
=[@数量] * [@単価]
問題3: E2 の商品コードに一致する商品名を、Table1 の「商品コード」「商品名」列を使って F2 に表示してください。
=XLOOKUP(E2, Table1[商品コード], Table1[商品名])
問題4: Table1 の中で、担当者が F2 の行だけを抽出し、G2 に表示してください。
=FILTER(Table1, Table1[担当者]=F2)
問題5: Table1 の「売上」列のデータ部分(見出しを除く)だけを参照する式を H1 に書いてください。
=Table1[[#Data],[売上]]
まとめ
構造化参照は、テーブルを使うことで得られる強力な仕組みです。
Table1[列名]→ 列全体[@列名]→ 行内のセルTable1[[#Data],[列名]]→ データ部分だけ- 列の追加・削除に強い
- 範囲が自動で広がる
- 数式が読みやすい
Excel を“壊れにくく、読みやすく、効率的”に使うための必須スキルなので、
ぜひ日常業務で積極的に使ってみてください。
