Excel 2007には強力なテーブル機能が搭載されました。今までのリスト機能は、お世辞にも便利とは言えず、とても積極的に活用しようとは思えませんでした。ところが、Excel 2007のテーブル機能は名前が変わっただけでなく、実にさまざまな改良が加えられました。条件付き書式と並んで、Excel 2007の"イチオシ"機能といっても過言ではありません。そういえば、このレビューではまだテーブル機能について紹介していませんでした。書くことが多いので、そのうちじっくり解説します。
さて、非常に便利なテーブル機能ですが、ひとつだけ気に入らない点があります。実際にやってみましょう。
テーブルにしたい表を選択して[テーブルとして書式設定]ボタンをクリックします
範囲の確認で[OK]ボタンをクリックすると、テーブルに変換されます
非常に簡単な操作でテーブルに変換できたのですが、よく見るとセルA1に「列1」という文字が勝手に挿入されてしまいました。邪魔です。ここは空欄でいいんです。元のデータはそうなってたはずです。勝手に変えないで欲しいです。そこで、アクティブセルをセルA1に移動してDeleteキーを押すと・・・削除できない。セルA1の「列1」は消すことができないんです。
もちろん「支店名」など別の文字に書き換えることはできますが、空欄にはできません。実はテーブル機能では、こうしたタイトルが必須なのです。「1月」「2月」や「東京支店」「横浜支店」などのタイトルは、テーブル内を参照するときに使用されます。
上図は、セルE2からテーブル内のセル(ここではA2)を参照する式です。テーブル内のセルA2は、参照式を入力した2行目と「列1」列が交差するセルですので「=テーブル4[[#この行],[列1]]」で表されます。このような参照方法を行うことで、テーブル内での計算式が包括的に管理され、行列の追加や削除、数式の変更などに対して柔軟に対応できます。なお、こうした参照を構造化参照と呼びます。
構造化参照のために、空欄だったセルA1には「列1」という仮の列見出しが入力されました。まぁ、それはわかりますが、それでも、やっぱり、邪魔ですね。無粋です。この「列1」を削除することはできませんが、隠すことなら可能です。半角でも全角でもいいですから、スペースを入れておけばいいんです。ただし、テーブル内の列見出しに、スペースは1つしか指定できませんから注意してください。テーブル内に同じ列見出しは複数存在できないからです。
新しいテーブル機能と構造化参照については、まだたくさんのネタがあります。そのうちじっくり解説しましょう。