雑・Excel入門試論 - 脱VLOOKUPの思考 12 - テーブル - テーブルの作成と入力規則

# テーブルとは
テーブルを使用すると、表形式のデータを安全に取り扱うことができるようになります。また、計算列を追加する際や合計行の作成で少ない記述で行えます。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/43895e30-3137-4642-e4be-af8b73c9dcf1.gif"/>
　表に合計行を追加すると、ドロップダウンリストから合計、平均、個数などを選択して集計することができます。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/5721fb46-43fd-e65a-be74-e59230477b52.gif"/>
　新しく行を入力すると、自動で書式、計算式が適用されます。また、ウィンドウの固定を行わなくても、列の上部に列名が表示されます。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/aeec65c1-782a-4713-f674-4b0c9784b1b5.gif"/>

# テーブルの作成
1. データ内のセルを選択します。
1. [ホーム] [テーブルとして書式設定] の順に選択します。
1. 表のスタイルを選びます。
1. 範囲の最初の行をヘッダー業にする場合は、[テーブルをヘッダーとして表示]のチェックボックスをオンにして[OK」をクリックします。

<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/736d64c3-0bac-5fed-9a52-ca12bf3ae110.png"/>

:::note info
ショートカットキー `Ctrl + T` または `Ctrl + L` を使うと、すぐにテーブル設定ができます。
:::

### 名前をつける
　テーブルを作成すると、自動的に「テーブル1」とかの名前が付きます。そのまま使うのは良くないので、原則として名前をつけてあげましょう。
- テーブル内を選択します
- [テーブルデザイン]を選択します。
- [テーブル名]の中身を書き換えます。
- １シート１テーブルとなるよう、シート名もテーブル名と同じ名前にしておきます。
<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/8f8f3674-3416-40c8-78ca-38aeff620f83.png"/>

https://support.microsoft.com/ja-jp/office/%E8%A1%A8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97-%E6%9B%B8%E5%BC%8F%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B-e81aa349-b006-4f8a-9806-5af9df0ac664

# 構造化参照
　オプションの確認をしておきます。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/63a5d937-41e4-cd8a-9f89-aa91a77b4e64.png"/>
　構造化参照は、A1やR1C1などのセル参照を使用する代わりに、数式内でテーブル名を散所する構造化参照を使用することができ、式が何の計算をしているのかわかりやすくなります。また、行が増えても参照の値を変更する必要はありません。

　行ごとのコンテキストで計算する場合は、`@` を使用します。

``` text:セル参照
= E2 * F2
```

```text:構造化参照
= [@UnitSold] * [@SalePrice]
```

<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/daa16b27-0225-1fc2-707f-11309cd61612.png"/>

　列全体を対象とした計算は、以下のようになります。

```text:セル参照
=SUM(G2:G702)
```

```text:構造化参照
=SUM(financials[Sales])
```

　この構造化参照の式は、以下のような形で書くこともできます。

```text:構造化参照の構文
=SUM(financials[[#データ],[Sales]])
```

　`#データ` **項目指定子**です。`#すべて` 、`#データ`、`#見出し`、`#集計` が使用できます。
 `#見出し` は、列見出し、`#集計` は集計行の値を参照します。`#すべて` は、データと集計行値の両方を参照します。
　`[Sales]` は**列指定子**です。列見出しや合計行を含まない列データを参照しています。列見出しに特殊な文字を含む場合、2重の角括弧が必要になります。 (ex. `[[Total $ Amount]]` )

:::note info
表示言語が英語の場合は `#All` `#Data` `#Headers` `#Totals`
:::

<iframe width="560" height="315" src="https://www.youtube.com/embed/EuyFLYtLr8s" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>


※特殊文字とは、タブ、改行、コンマ、コロン、ピリオド、大括弧、中括弧、シャープ記号、単一引用符、二重引用符、ドル記号、アスタリスク、プラス、マイナス、等号、除算記号、大なり、小なり、と半角スペースです。

### 参照演算子
　セルの範囲を指定するのに、以下の演算子を使用することができます。

|演算子|参照先|例|2行目の結果|
|:--:|:--|:--|--:|
:|間に含まれる列全て|`=SUM([@P1]:[@P5])`|53+54+29+18+41=195|
,|複数の列を選択|`=SUM([@P1],[@P3],[@P5])`|53+29+41=123|
(空白)|複数の列の共通部分|`=SUM([@P2]:[@P4] [@P3]:[@P5])`|29+18=47|

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/7d34b412-a7e9-a71f-6eb6-72f57614f4ac.png)

https://support.microsoft.com/ja-jp/office/excel-%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%A7%E3%81%AE%E6%A7%8B%E9%80%A0%E5%8C%96%E5%8F%82%E7%85%A7%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9-f5ed2452-2337-4f71-bed3-c8ae6d2b276e


# データの整合性を確保
　列ごとにセルは、初期状態では「標準」になっていますので、「数値」、「文字列」、「日付」などの書式を設定します。
　そして、テーブルにデータを入力する作業があるのなら、データの整合性を確保するために入力規則を設定します。これにより、作業中に期待していない値が入力されてしまうことを抑制できます。

<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/155ecd99-d832-7e74-6a77-e24c848c5a0b.gif"/>


https://support.microsoft.com/ja-jp/office/%E3%82%BB%E3%83%AB%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%85%A5%E5%8A%9B%E8%A6%8F%E5%89%87%E3%82%92%E9%81%A9%E7%94%A8%E3%81%99%E3%82%8B-29fecbcc-d1b9-42c1-9d76-eff3ce5f7249

## 範囲外の数値を調べる
問：テストの点数が入力された表に、100点ではなく1000点と入力してしまうことがありました。後からチェックする方法はありますか。
答：「データの入力規則」を設定して、「無効データのマーク」を実行します。
<img width="800" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/cc5a5d4f-7499-dc91-578b-66aaeaf21b6d.gif"/>

# 新しいテーブルスタイルを作る
　標準で提供されるテーブルスタイルに満足できない場合、自分で作成することができます。
<img width="500" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/43a028f4-bf25-da89-8932-15d5a5807833.png"/>
　それぞれの書式を設定して、好きな名前をつければ出来上がりです。フォントの種類とサイズは指定できません。太字になっている部分が書式を設定したところになります。
<img width="600" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/f9eb6107-f211-e6e6-e441-32e9190c1317.png"/>
 最初の列の書式が適用されていない場合は、テーブルスタイルのオプションで「最初の列」にチェックを入れてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864075/c3336d38-dc9a-4d7f-1290-cad99be3c65c.png)



# コンテンツ
- [雑・Excel入門試論 - 脱VLOOKUPの思考 01 - ブック - 仕様と制限](https://qiita.com/spumoni/items/189004c01181c50a4821)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 02 - ブック - オプション](https://qiita.com/spumoni/items/75955db69cc34695de14)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 03 - ワークシート](https://qiita.com/spumoni/items/5408cae114034be528c4)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 04 - セル - 文字列型](https://qiita.com/spumoni/items/4ab1d7067418886c0582)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 05 - セル - 数値データ](https://qiita.com/spumoni/items/970b4b39a5a2185992ed)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 06 - セル - 日時データ](https://qiita.com/spumoni/items/9f270e181fbc45503759)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 07 -  リンクされたデータ型](https://qiita.com/spumoni/items/ed59d15753d992c3a630)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 08 - セル - 計算式・関数](https://qiita.com/spumoni/items/ae339c97627110e2134e)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 09 -  セル - 数値の書式設定](https://qiita.com/spumoni/items/1b3134d4b0284465976f)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 10 - セル - 日付と時刻の書式設定](https://qiita.com/spumoni/items/6eb602f69956a5e1502f)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 11 - セル - 条件付き書式](https://qiita.com/spumoni/items/04bd8e24284daef6f27a)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 12 - テーブル - テーブルの作成と入力規則](https://qiita.com/spumoni/items/f23beca01c5093c81c47)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 13 - テーブル - ソートとスライサー](https://qiita.com/spumoni/items/b66027008c2f9edb853f)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 14 - テーブル - 動的配列関数](https://qiita.com/spumoni/items/cc03e898f02b8c3017f7)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 15 - Power Query - エクセルのデータを読み込む](https://qiita.com/spumoni/items/fc38a4ae595b64af87f5)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 16 - Power Query - 変換](https://qiita.com/spumoni/items/100e0e3c6a5a59b03229)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 17 - Power Query - テーブルの結合](https://qiita.com/spumoni/items/debb9ea9b8692ca8fc8c)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 18 パワーピボット - データモデル](https://qiita.com/spumoni/items/08458978e86dc59f18ed)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 19 パワーピボット - 操作](https://qiita.com/spumoni/items/e7b3f245e87622e9bc79)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 20 パワーピボット - 日付テーブル](https://qiita.com/spumoni/items/340e0fcbc9cd10198112)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 21 DAX - コンテキストとイテレーター](https://qiita.com/spumoni/items/cddc7fa16341e20bafb8)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 22 DAX - CALCULATE](https://qiita.com/spumoni/items/e2218fece1ec01e177b0)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 23 DAX - タイムインテリジェンス](https://qiita.com/spumoni/items/6d8aeb9f80ecafb69c5a)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 24 - ダッシュボード - ピボットグラフ（Pivot Chart）](https://qiita.com/spumoni/items/ffb0d57a6272c2e5ad37)
- [雑・Excel入門試論 - 脱VLOOKUPの思考 25 - ダッシュボードの作成](https://qiita.com/spumoni/items/5e57ad587a343857e543)