Excelで表を「テーブル」にしたけど数式の自動反映や行/列の自動拡張が働きません:Tech TIPS
Excelで表を「テーブル」にすると自動的に見栄えの良いデザインが適用されたり、数式が自動的に反映されたりするなどのメリットがある。ただ、「テーブル」にしたにもかかわらず、数式の自動反映や行/列の自動拡張が働かないことがある。Excelでセル範囲をテーブルにするメリットと、テーブルで数式の自動反映などが働かない場合の対処方法について解説する。
対象:Excel 2016/2019/2021/2024/365

Excelで表を「テーブル」にしても数式の自動反映や行/列の自動拡張が働かない理由
Excelで表を「テーブル」にすると自動的に見栄えの良いデザインが適用されたり、数式が自動的に反映されたりするなどのメリットがある。ただ、「テーブル」にしたにもかかわらず、数式の自動反映や行/列の自動拡張が働かないことがある。そこで、Excelでセル範囲をテーブルにするメリットと、テーブルで数式の自動反映などが働かない場合の対処方法について解説する。
「Microsoft Excel(エクセル)」には、データを整理しやすくする「テーブル」と呼ばれる機能がある。通常の表(セル範囲)と異なり、テーブルに設定することで自動的にフィルターやデザインが設定されるなどのメリットがある。
本Tech TIPSでは、Excelでセル範囲をテーブルにするメリットと、テーブルで数式の自動反映などが働かない場合の対処方法について解説する。
テーブルのメリットとは
セル範囲をテーブルにするとさまざまなメリットがある(テーブルにする方法は後述)。
自動的にデザインが適用される
テーブルにすると自動的にデザインが適用される。見出し行や行ごとに色が付けられ、視認性が向上する。
セル範囲の場合、「セルの書式設定」を使って手動で行を色分けすると、途中に行を挿入した場合には色分けのやり直しが必要になる。一方、テーブルにしていると自動的に色分けが修正される。

自動的に表にデザインが適用される(2)
「テーブル」にすると、自動的に選択したデザインが適用され、見栄えの良い表になる。途中の行や列を追加すると、自動的にストライプの色分けが修正されるというメリットもある。
自動的にフィルターが適用される
テーブルに設定するだけでフィルターが自動的に設定されるというメリットがある。各列の見出しにフィルターが設定されるため、データの絞り込みなどが簡単にできるようになる。

自動的にフィルターが適用される
表内のデータを分析する際、列に対してフィルターを適用して、特定の値のみを抽出するといった作業をよくするのではないだろうか。「テーブル」にすると、自動的に全ての列にフィルターが適用され、手動でフィルターを設定する必要がなくなる。
テーブルに「名前」が付けられる
テーブルにすると、自動的に「名前」を付けられるため、数式の中で「名前」でセル範囲の指定が可能になる。行や列の挿入でセル範囲が変わっても、「名前」で指定していれば、数式を変更しないで済む。

テーブルに「名前」が付けられる
「テーブル」にすると、自動的に名前が付けられ、関数内ではその名前で表全体を示すことができるようになる。例えば、MAX関数で表内の最大値を取り出したい場合は、「=MAX(テーブル1)」とすればよい。テーブルの名前を利用しない場合は、「=MAX(B2:G7)」とセル範囲をセル番号で指定しなければならない。行や列を挿入した場合は、セル範囲を修正しなければならないが、テーブルの名前で指定している場合はその作業は不要だ。
行や列を追加するとテーブルが自動的に拡張される
セル範囲の右側の列や下側の行に値を挿入すると、テーブルの範囲が自動的に拡張され、その列や行までテーブルに含まれるようになる。いちいちセル範囲を指定し直す必要がないというメリットがある。テーブル名で参照している関数ならば、追加した列や行も自動的に対象となるため、計算ミスを防ぐことができる。
入力した数式がテーブル内の他のセルにも自動で反映されるようになる
数式を入力すると、同じ列の全てのセルに適用されるようになる。オートフィルでコピーする必要がなく、数式のコピーミスなどを防ぐことにもなる。
列見出しでセル参照が可能な構造化参照が利用可能になる
テーブルにすると列見出しの名前でセル参照が可能な「構造化参照」が利用できるようになるため、数式を見ただけで何を計算している数式なのか見通しやすくなる。
合計や平均などが簡単に計算可能
テーブルにすると、[テーブルデザイン]タブの「集計行」にチェックを入れるだけで、表の一番右側の列の下に合計などの集計結果を表示することができる。集計結果は、プルダウンリストで「平均」や「個数」「最大」「最小」などが選択できるので、いちいち数式を入力しなくてもよいというメリットがある。
テーブルを作成する
セル範囲をテーブルにするのは簡単だ。テーブルにしたいセル範囲を選択してから、[ホーム]タブの[テーブルとして書式設定]のプルダウンリストで適用したいデザインを選択すればよい。好みのデザインがない場合は、[新しいテーブルスタイル]を選択し、表示された[新しいテーブルスタイル]ダイアログでストライプや見出し行の色などを選択すればよい。
テーブルのデザインを選択すると、[テーブルの作成]ダイアログが表示されるので、セル範囲を確認(ここでセル範囲を設定することも可能)し、先頭行を見出しとする場合は、「先頭行をテーブルの見出しとして使用する」にチェックを入れて、[OK]ボタンをクリックすればよい。見出し行があるのに、ここにチェックを入れないと、見出し行の上に「列1」「列2」といった見出し行が挿入され、そこが構造化参照の名前になってしまうので注意してほしい。

テーブルを作成する(2)
[テーブルの作成]ダイアログが表示されるので、セル範囲を確認して[OK]ボタンをクリックする。先頭行を見出しにする場合は、「先頭行をテーブルの見出しとして使用する」にチェックを入れておく。
適用したデザインが気に入らない場合は、そのテーブル内のセルを選択してから[テーブルとして書式設定]のプルダウンリストで別のデザインを選択すれば、それが反映される。

テーブルのデザインを変更する
デザインを変更したい場合は、そのテーブル内のセルを選択後、作成時と同じように[テーブルとして書式設定]をクリックして、適用したいデザインを選択すればよい。デザインにマウスホバーした時点で、テーブルに反映(プレビュー)されるので、それを見ながら決めればよい。
なおテーブルを解除する方法は、Tech TIPS「Excelでテーブルを解除して普通の表(範囲)に戻す方法」を参照してほしい。
数式の自動反映や行/列の自動拡張が働かない原因と解決方法
前述の通りセル範囲をテーブルにすると、数式が同列の他のセルに自動的に反映されたり、行や列を追加するとテーブルが自動的に拡張されたりするメリットがある。しかし、数式が自動的に反映されなかったり、テーブルが拡張されなかったりすることがある。ここからは、その原因と解決方法を紹介しよう。
Excelには、オートコレクト機能があり、2文字目以降を自動的に小文字にしたり、曜日の先頭文字を大文字にしたり、URLが入力されるとハイパーリンクを設定したりしてくれる。便利なところがある半面、余計なお世話となることも多く、Excelをインストールしたらすぐにこの機能を無効化しているという人も多いのではないだろうか。
実はこのオートコレクト機能の無効化と、テーブルの機能が働かない原因に関係がある。
そこで、[ファイル]タブの左ペインで[オプション]を選択して、[Excelのオプション]ダイアログを開いて、オートコレクト機能を確認しよう。[Excelのオプション]ダイアログが開いたら、左メニューで[文書校正]を選択し、右ペインの[オートコレクトのオプション]ボタンをクリックする。
[オートコレクト]ダイアログが開いたら、[入力オートフォーマット]タブを開き、設定を確認してみよう。
「インターネットとネットワークのアドレスをハイパーリンクに変更する」「テーブルに新しい行と列を含める」「テーブルに数式をコピーして集計列を作成」という3つの項目にチェックボックスがあるはずだ。
「テーブルに新しい行と列を含める」のチェックを外していると、行/列の自動拡張が働かない。同様に「テーブルに数式をコピーして集計列を作成」のチェックを外していると、数式が自動反映されない。

数式の自動反映や行/列の自動拡張が働かない原因と解決方法(3)
[オートコレクト]ダイアログが開いたら、[入力フォーマット]タブを開く。ここの「テーブルに新しい行と列を含める」と「テーブルに数式をコピーして集計列を作成」のチェックが外れていると、数式の自動反映や行/列の自動拡張が働かない。これらを働かせたい場合は、この2つの項目にチェックを入れて、[OK]ボタンをクリックする。
オートコレクト機能を無効化する際、これらの項目のチェックを外してしまうと、テーブルの一部機能が働かなくなるわけだ。意外なところに関連する設定があるため、機能が働かない場合に理由が分からず困惑することになる。
当然、対策としては、この2つの項目にチェックを入れて「オン」にすればよいことになる。以降、テーブルに数式を入力すると他の列に自動反映されるようになり、行と列も自動拡張されるようになる。
Copyright© Digital Advantage Corp. All Rights Reserved.