- Home »
- Excelの基本操作の目次 »
- テーブル機能 »
- 参照範囲が変動する計算ではテーブルの構造化参照を利用する
- テーブルはデータを追加した場合、データ範囲を自動で拡張してくれます。テーブルの列名(フィールド名)を使用した数式(計算式)を使えば参照範囲も自動で変化してくれます。
Excel2003以前ではラベルを使用することができましたが、この機能はExcel2007以降ではテーブルに置き換わりました。
このページでは具体的な計算方法を説明したいと思います。
参照範囲が変動する計算ではテーブル機能を利用する Topへ
テーブルではない場合 Topへ
- =SUMIF(C2:C9,F2,D2:D9) といった具合に数式でセルを参照をします。
- データが増えた場合には、数式が変わらないので計算結果が間違ってしまいます。
下図では10行目に計算対象のデータが入力されましたが、計算式は前と同じ=SUMIF(C2:C9,F2,D2:D9) で変化しませんので、計算結果も変わりません。
- 正しい結果を得るには計算式(数式)を変更する必要があります。
新たに入力されたデータの行を含むように、数式を =SUMIF(C2:C10,F2,D2:D10) と変更しました。
数式でテーブル名を使用するの設定 Topへ
- テーブルの列ラベルの名前(フィールド名)などを使用するには、設定を変更すると便利です。
セルをクリックするなど、数式を作成するときに下記で説明をしますように 構造化参照 の構文がヒントとして表示されます。
- [ファイル]タブをクリックして、バックステージを表示します。
- バックステージで[オプション]を選択します。
- Excelのオプションで[数式]を選択します。
「数式でテーブル名を使用する」にチェックを入れます。
参照範囲をテーブルにして構造化参照を利用する Topへ
- テーブルにすると
- テーブルへの変換は エクセル2013基本講座:テーブルを作成する/解除する をご覧ください。
このページで使用しているテーブルの名前は「テーブル1」となっています。このテーブル名を数式に使用します。
テーブル名はテーブル内のセルを選択して、テーブルツールのデザインタブのテーブル名を見れば確認できます。
- I2セルで構造化参照を利用した数式を入力します。=SUMIF(テーブル1[商品名],H2,テーブル1[金額]) としました。
- 列を参照するには テーブル名[列名] と指定します。
テーブル1の商品名列を参照するため テーブル1[商品名] とし、金額列は テーブル1[金額] と指定しています。
- 数式を入力する手順を説明します。
数式バーに =SUMIF( と入力し、商品名列の列ラベルの上枠にマウスポインタを重ねると下矢印の形に変わります。
マウスポインタが下矢印の形の状態でクリックすると、 テーブル1[商品名] と入力されます。
- =SUMIF(テーブル1[商品名],H2, と入力した後 金額列のデータ部分を(D2:D9をドラッグして)選択して テーブル1[金額] と入力することができます。
なお、テーブル1[商品名] を指定したのと同じく列見出しの上枠で 下矢印で指定する方法も使えます。
セル範囲を選択して入力することもできる ということを説明しています。2通りの方法があります
- データを追加します。正しい計算結果が得られました。
ちなみに、I2セルの計算式は前と同じで、変更しなくてもよいです。
- 構造化参照の例
- テーブル内で同じ行を参照する例
E2セルに計算式を =[@金額]*0.08 としてみました。同じ行を参照するには [@列名] といった形式になります。
テーブル内ではテーブル名は不要です。
= を入力して、D2セルをクリックすると、=[@金額] と入力されます。
- テーブルの外でテーブル内の同じ行のセルを参照するときも同じ形式ですが、テーブル名を併記する必要があります。
=SUM(テーブル1[@金額],テーブル1[@消費税]) とします。
入力方法:数式バーで =SUM( と入力して、D2セルをクリックすると、=SUM(テーブル1[@金額] と入力されます。カンマを入力して、E2セルをクリックすると、=SUM(テーブル1[@金額],テーブル1[@消費税]) と入力されます。
- 集計行を参照する
集計行はテーブルツールのデザインタブで「集計行」にチェックを入れます。
SUBTOTAL関数の計算式が入力されます。
集計行を構造化参照で使用する場合は =J2/テーブル1[[#集計],[金額]] と書きます。
テーブル1の集計行の金額列のテーブル1[[#集計],[金額]] といった指定の仕方です。
入力方法: 数式バーで =J2/ と入力し、D11セルをクリックすると、=J2/テーブル1[[#集計],[金額]] と入力されます。
Home|Excelの基本操作の目次|参照範囲が変動する計算ではテーブルの構造化参照を利用する