# Excelのテーブル機能の使い方｜作り方・構造化参照・範囲に戻す方法

Excel の「テーブル」機能で、表を自動で広がる・式が自動で入る形にする方法を解説します。Ctrl+T での作り方、集計行、テーブル名と列名で書く構造化参照、計算列、テーブルをふつうの範囲に戻す手順まで Microsoft の公式サポートで確かめました。

<Points>

- Excel の「テーブル」は、ふつうの表を、行を足すと自動で広がり、式が列全体に自動で入る形に変える機能
- 表の中のセルを選んで `Ctrl + T` (または [ホーム] > [テーブルとして書式設定]) で作れる
- 式は `=[@単価]*[@数量]` や `=SUM(売上[金額])` のように、セル番地ではなく列の名前で書ける (構造化参照)

</Points>

## テーブル機能でできること

Excel で一覧表を作っていると、「行を足したら合計の範囲から外れていた」「下の行に式をコピーし忘れた」ということが起きがちです。表を「テーブル」にしておくと、こうした手間とミスを Excel 側が引き受けてくれます。

[Microsoft の公式サポート](https://support.microsoft.com/ja-jp/office/excel-テーブルの概要-7ab0bb7d-3a9e-4b56-a3c9-6c94334e492c)では、テーブルの主な機能として次のものが挙げられています。

<Figure title="テーブルにすると使える主な機能" source="Microsoft サポート「Excel テーブルの概要」">

| 機能 | できること |
|---|---|
| 見出し行 | 見出しの各列で並べ替えと絞り込みができる |
| 縞模様の行 | 1 行おきに色が付き、行を読み違えにくい |
| 集計列 (計算列) | 1 つのセルに式を入れると、列のほかのセルにも同じ式が入る |
| 集計行 | 表の一番下に合計や平均を出す行を付けられる |
| 構造化参照 | セル番地の代わりにテーブル名と列名で式を書ける |

</Figure>

<Compare>
<Column title="ふつうの表">

- 行を足すたびに式をコピーする
- 合計の範囲を自分で直す
- `=D2*E2` の意味が式から読めない

</Column>
<Column title="テーブル" tone="accent">

- 下に入力すると行が自動で広がる
- 式が列全体に自動で入る
- `=[@単価]*[@数量]` と名前で読める

</Column>
</Compare>

## テーブルの作り方

[公式サポート](https://support.microsoft.com/ja-jp/office/表を作成および書式設定する-e81aa349-b006-4f8a-9806-5af9df0ac664)の手順です。

<Steps>
<Step title="表の中のセルを選ぶ">

テーブルにしたい表の中のどこか 1 つのセルを選びます。

</Step>
<Step title="テーブルにする">

[ホーム] > [テーブルとして書式設定] から好きなスタイルを選びます。[挿入] > [テーブル] でも作れます。

</Step>
<Step title="見出しの有無を選ぶ">

表の 1 行目が見出しなら、[先頭行をテーブルの見出しとして使用する] にチェックを入れて [OK] を押します。

</Step>
</Steps>

[Excel のショートカット キーの一覧](https://support.microsoft.com/ja-jp/office/excel-のショートカット-キー-1798d9d5-842a-42b8-9c99-9b7213f0040f)のとおり、Windows では `Ctrl + T` (または `Ctrl + L`) で [テーブルの作成] の画面をすぐに出せます。

### テーブルに名前を付ける

できたテーブルには「テーブル1」のような名前が付きます。式で使うので、中身がわかる名前に変えておきます。[公式サポート](https://support.microsoft.com/ja-jp/office/excel-テーブルで構造化参照を使用する-f5ed2452-2337-4f71-bed3-c8ae6d2b276e)の手順では、テーブルの中のセルを選び、[テーブル デザイン] タブの [テーブル名] の欄に新しい名前を入れて Enter を押します。

名前にはスペースを使えず、同じブックの中で同じ名前は付けられません。区切りたいときは `売上_2026` のようにアンダースコアを使います。

## 行が自動で広がる

[公式サポート](https://support.microsoft.com/ja-jp/office/excel-で行と列を追加または削除してテーブルのサイズを変更する-e65ae4bb-e44b-43f4-ad8b-7d68784f1165)のとおり、テーブルの最後の行のすぐ下、または最後の列のすぐ右のセルに値を入れると、テーブルが広がって新しい行や列が加わります。

この性質のおかげで、テーブルを参照している式やピボットテーブルは、行が増えても範囲を直す必要がありません。ピボットテーブルの元データをテーブルにしておく理由もここにあります ([Excelのピボットテーブルの作り方](/excel-pivot-table/))。

## 列の名前で式を書く (構造化参照)

次の「売上」テーブルを例にします。

<Figure title="売上テーブルの例" caption="テーブル名を「売上」にしています。">

| | A | B | C | D |
|---|---|---|---|---|
| 1 | 商品 | 単価 | 数量 | 金額 |
| 2 | コピー用紙 | 2,800 | 10 | |
| 3 | トナー | 18,000 | 2 | |
| 4 | クリアファイル | 30 | 50 | |

</Figure>

### 同じ行の値を使う計算列

D2 に `=` と入れてから B2 をクリックし、`*` を入れて C2 をクリックして Enter を押すと、式は次のように入ります。

```
=[@単価]*[@数量]
```

`[@単価]` は「この行の単価の列」という意味です。公式サポートのとおり、Enter を押すと Excel が計算列を作り、D 列のほかの行にも同じ式が自動で入ります。下に新しい行を足したときも、金額の式は自動で入ります。

<Note tone="caution">

`=B2*C2` のようにキーボードでセル番地を打ち込んだ場合は、構造化参照には変わりません。公式サポートでも、この書き方だと列を挿入したときに式を直す必要が出ると説明されています。セルをクリックして式を作ると、構造化参照になります。

</Note>

### テーブルの外から列全体を使う

テーブルの外のセルで金額の合計を出すときは、テーブル名と列名をつなげて書きます。

```
=SUM(売上[金額])
```

行が増えても `売上[金額]` が指す範囲は自動で広がるので、合計の範囲を直す必要がありません。ほかの関数でも同じように使えます。

```
=SUMIFS(売上[金額],売上[商品],"トナー")
```

<Figure title="構造化参照のよく使う書き方" source="Microsoft サポート「Excel テーブルで構造化参照を使用する」">

| 書き方 | 意味 | 使う場所 |
|---|---|---|
| `[@単価]` | 同じ行の「単価」のセル | テーブルの中の式 |
| `売上[金額]` | 「売上」テーブルの「金額」列のデータ全体 | テーブルの外の式 |

</Figure>

列名に記号などの特別な文字が入っているときは、公式サポートのとおり `売上[[金額 (税込)]]` のように角かっこを二重にします。

## 集計行を付ける

[公式サポート](https://support.microsoft.com/ja-jp/excel/get-started/total-the-data-in-an-excel-table)のとおり、テーブルの中のセルを選んで [テーブル デザイン] タブの [集計行] にチェックを入れると、テーブルの一番下に集計用の行が付きます。各列のセルのプルダウンから合計や平均などを選べます。公式サポートによると、集計行で選んだ計算は SUBTOTAL 関数の式になり、既定では非表示の行を除いて計算します。絞り込んだ行だけの合計を見たいときに便利です。

## テーブルをふつうの範囲に戻す

テーブルの機能が要らなくなったときは、[公式サポート](https://support.microsoft.com/ja-jp/office/excel-のテーブルをデータ範囲に変換する-0b326ff1-1764-4ebe-84ea-786265d41c77)の手順で範囲に戻せます。

1. テーブルの中のセルを選ぶ
2. [テーブル デザイン] タブの [ツール] グループで [範囲に変換] を押す (テーブルを右クリックして [テーブル] > [範囲に変換] でも同じ)

範囲に戻すと、見出しの並べ替え・絞り込みの矢印が消え、`売上[金額]` のような構造化参照の式はふつうのセル番地の式に変わります。色などの見た目のスタイルは残ります。

## 自分で作るのが難しいときは

テーブルにしておくと、行が増えても式と集計が崩れにくくなります。ただ、テーブルが何枚にも増えて互いに参照し合っていたり、毎日のデータの貼り付けを手作業で続けていたりすると、どこかでずれが出やすくなります。

データの取り込みや転記を VBA で自動にしたい、表の作りから見直したいといったときは、シートナビの[相談フォーム](/contact/)からお気軽にご相談ください。

## よくある質問

### Q. 集計行の合計をほかのセルから参照できますか？

できます。公式サポートでは、構造化参照で集計行を指す書き方 (英語版の表記では `[#Totals]`) が紹介されています。集計行がないテーブルでこの指定を使うと、値は返りません。

### Q. テーブルに名前を付けるときの決まりはありますか？

公式サポートによると、名前は文字・アンダースコア・円記号 (バックスラッシュ) で始め、`Z100` のようなセル番地と同じ形にはできません。スペースは使えず、255 文字までです。`tbl_売上` のように種類がわかる接頭辞を付けると管理しやすいと案内されています。

### Q. 範囲に戻したら式はどうなりますか？

`売上[金額]` のような構造化参照は、ふつうのセル番地の式に置き換わります。式の結果は変わりませんが、行を足したときに範囲が自動で広がらなくなるので、合計の範囲は自分で直す必要があります。
