データを「テーブル」にする! テーブルって何?

グラフ 5. 効率爆上げデータ整備

ワタシが別記事でINDEX関数について熱く語った際、「こういう形式のデータは筋が悪い」といっていたのをご記憶でしょうか。

筋が良い・悪いデータって何やねん。
とお思いかもしれませんが、この辺がExcelというかデータを扱うときの肝になってきます。
今回の内容はしっかりと頭に叩き込んでください。

データ形式には「マトリックス形式」と「リスト形式」がある

マトリックス形式

マトリックス、あるいは横持ち、クロス集計なんて呼び方をするのがこのタイプの形式。
縦にも横にも見出しが入っているパターンです。

これ自体は別に悪い存在ではありません。
人様に説明するときにはよく使う形式だし、見る方もパッと見で全体の傾向が掴みやすいし、便利なスタイルです。

が、いろいろ計算させるには不都合の多いデータ形式です。

というのをINDEX関数のときにも例で見ましたね。
「会社別・事業部別にデータを見たい」という割とシンプルであるあるなニーズに対しても、作業用データを追加したりとひと手間かける必要がありました。

それに、マトリックス形式の何がいかんって、縦にも横にもデータが増えていくこと。
4月の売上が上がったら列を追加して。5月も6月も追加して。翌年の1月以降はどうするの。
りんご・みかん・バナナ以外に、オレンジやイチゴにも手を広げたら行もどんどん増えていくよね。
と、割と節操のない形式です。

リスト形式

これに対して、縦持ちのリスト形式はこんなカンジ。

人間が見ると、「えっと、商品はどんな種類があるのかな、月別の売上額はどうなっているのかな」とすぐにはわからないので、イマイチなデータ形式に見えるかもしれません。
が、データとして扱っていろいろ加工するには断然こっちの方が楽! なのです。

データ形式
 マトリックス形式:視認性はいいが、計算や加工には向いていない
 リスト形式   :行数が多く人間には読みづらいけれど、データとして扱うのは楽

マトリックスとリストの使い分け

ワタシが思うに、マトリックス形式は、データ整備や計算が全部終わってから人様に見せる用に使うのがいいタイプです。
だからといってマトリックスを一切使わずExcelを触っているかというとそんなこともないです。
少量のデータだったらマトリックスをちまちま加工すれば何とかなるし、「こういう風に見せるとわかりやすいよね」とゴールを想定しながら作業しやすいし。

ですが、データが何千何万行になると「ちまちました加工なんか、やってられるか!!」となるので、Excelが得意なリスト形式にして、Excelちゃんにあれこれお任せするしかないです。

マトリックス形式ばっかりに慣れると、いざリスト形式のデータを扱うときに困惑することが多いです。
なので、リスト形式のデータにも臆さず触るようにしてください。

データをテーブル化

というわけで、Excelでデータをガツガツ加工するための第一歩として、データをテーブル化してみましょう。

テーブル化するのは簡単です。テーブルにしたい範囲を選択して、「挿入」タブから「テーブル」をぽちっとするだけ。
見出しをどうするか訊かれるので、1行目は見出しにするよ〜と指定してあげてください。

すると、指定した範囲の見た目がガラッと変わりましたね。

テーブル化のメリット

1行おきに色がついて見やすくなる

えっ、そんなこと大事?
と思うかもしれませんが、もっと行も列も多いデータをざっと目視しようとすると意外とありがたいです。
あとは、データがテーブル化されているかどうかひと目でわかるということですかね。大量のデータをハンドで1行ずつ塗り分ける狂気の人はいないですからね…。

表の色とか気に入らんわーと思った場合は、テーブルを選択して「テーブルデザイン」タブの「表のスタイル」から好きなモノを選んでください。
1行おきに色がついていないタイプも選択可能です。

ワタシは、このテーブルデザインは全然凝らないようにしていまして。
なぜかというと、人様に見せるモノではなく、データ処理用だから。そこに凝っても仕方ない。
せいぜい、パッと見同じようなテーブルだけど中身は全然違う、みたいなモノを並べて扱うときに間違わないように色を変えておくくらいです。

テーブルの名前をつけられる、見出しを数式に使える

先ほどの「テーブルデザイン」タブの「プロパティ」内にボックスがあります。
ここを書き換えてテーブルの名前とすることができます。

これの何がいいって、数式の視認性がバチクソ良くなるんですよ!

例えば先ほどテーブル化したデータのテーブル名を「売上」として、りんごの売上合計を計算すると。

こんなカンジで、ほぼ日本語でイケる。

数式を書くと、範囲を指定してぇ〜、条件が入っているセルも指定してぇ〜、それを絶対参照にしてぇ〜〜と、さほど難しい関数でなくてもずらずら長くなりがちです。
んで、それをちょっとメンテナンスしようかなと見直したり、なぜかエラーが出て修正しようとしたりすると、「えーと、この箇所はこのシートのC2からN150の範囲で…」とちみちみ見ていかなきゃいけなくて、データ量が多いと結構しんどいんですね。

ですが、テーブルにしてしまえばそんな苦労とは無縁になります!
元データなんか参照しなくても、テーブル名と見出しだけで数式が書けるんだもの、超絶楽!!
なんで皆もっとテーブルを使わないの?!

なお、テーブルの見出しを数式内に書くときは[ ]で括ってやります。これを構造化参照といいます。

データの追加が楽

えー、全然意味のないデータ弄りになりますが、先ほどのテーブルの売上額の80%の数字が入った列を追加してみましょう。
見出しを追加して、データの最初の行に売上額*0.8の数式を入れると。

全部の行に勝手に同じ数式を入れてくれました。

これ、テーブル化していないと、最初の行に入れた数式を下までずるーっとコピペしなきゃいけません。大した手間ではないかもしれませんが、何千何万行あるとそんなことも言えません。
それがテーブル化してあれば、勝手にコピペしてくれるんだもの、超絶楽!!
なんで皆もっとテーブルを使わないの?!

また、リスト形式データは行がどんどん追加される運命にあると思いますが、心配ご無用。
テーブルの下に同じ形式のデータを貼り付けると、勝手にテーブルの範囲を広げてくれます。

11-12行目を追加しました。D列の式も勝手にコピペしてくれます。

Excelの関数は、テーブルでなくとも元データの参照範囲が変わったら数式も勝手に変更してくれますが、それは参照範囲内に行や列を挿入した場合の話。
こうやって元データの参照範囲外に新たに書き加えると、範囲の変更だと認識されず、数式はハンドで修正しなくてはいけません。
が、テーブルにしておくと追加データも勝手に範囲変更してくれるので、超絶楽!!
なんで皆もっとテーブルを使わないの?!

テーブルの構造

というわけで、テーブルはExcelの「A列の1行目」みたいな位置の書き方とはまったく異なる構造になります。
それに伴って要素の呼び方がちょっと独特になるのでご注意を。

ヘッダー|見出し行

テーブルの1行目です。ワタシが上で「見出し」と言っていた箇所です。
テーブル化は、このヘッダーがないと作れません。

そして、このヘッダーになる行に結合セルが入っていてもテーブルが作れません。
ワタシが結合セルを忌み嫌っている理由がおわかりいただけたでしょうか。

データ|見出し以外の行

2行目以降の行です。

カラム|列

テーブルでは列のことをカラムと言いますが、Excelでフツーに使う列とほぼ同じ使い方なので、ワタシはテーブルでもつい「列」と呼んでしまいます。

レコード|ひとつひとつの行

カラムに対してデータが入っている行を、レコードといいます。
レコードの集合体がデータというわけですね。

フィールド|セル

レコードの中の、ひとつのカラムで指定したデータをフィールドといいます。
フィールド(セル)の集合体がレコード(行)で、レコードの集合体がデータ、というカンジ。

なんか見覚えがあるような…?

Accessを触る人には「レコード」とか「ああ、アレか」と馴染みがあると思います。
AccessもExcelのテーブルと同じような構造だと思っていただいてよろしいかと。

おわりに

そもそもExcelで見たいものって「D列の31行目に入っている数値」とかじゃなくて「何月何日の◯◯商品の売上高」みたいな情報のはずなんですよ。
それをExcelでは上手いことできないからセルの位置で表現しているだけの話で。

それがテーブル化すると「このレコードのこの情報が見たい!」という扱いができるようになるのです。一気に「データを取り扱っている感」が出ます。

リスト形式のデータは人間には見づらいので最初は敬遠したくなると思いますが、慣れますし、何より扱いが楽なので、積極的に使ってください。

タイトルとURLをコピーしました