テーブルを作成Excel、Excelの各列見出しに名前を割り当てる必要があります。 Excel テーブルに数式を追加する場合、それらの名前を手動で入力しなくても、テーブルに数式を入力してセル参照を選ぶと、名前が自動的に表示されます。 次にその操作の例を紹介します。

明示的にセル参照を使用せずに

テーブルや列の名前を使用する

=Sum(C2:C7)

=SUM(DeptSales[Sales Amount])

テーブル名と列名の組み合わせは、構造化参照と呼ばれる。 構造化参照の名前は、テーブルにデータを追加または削除するたびに調整されます。

構造化参照は、Excel テーブルの外にテーブルのデータを作成する数式を作成した場合も表示されます。 構造化参照により、膨大な情報量のブック内のテーブルを簡単に見つけることができます。

構造化参照を数式に含める場合は、セル参照を数式に入力する代わりに、参照するテーブル セルをクリックします。 以下の例のデータを利用して、自動的に構造化参照を使って、販売手数料の金額を計算する数式を入力してみましょう。

営業 担当者

地域

売上金額

手数料 (%)

手数料金額

内田

北部

260

10%

松本

南部

660

15%

金子

東部

940

15%

岡本

西部

410

12%

村上

北部

800

15%

原田

南部

900

15%

  1. 列見出しを含め、上の表のサンプル データをコピーし、新しいワークシートのセル A1 Excelします。

  2. テーブルを作成するには、データ範囲内の任意のセルを選択し、Ctrl キーを押しながら T キー を押します

  3. [My table has headers]をオンにし、[OK]をクリックします。

  4. セル E2 に等号 (=) を入力して、セル C2 をクリックします。

    数式バーで、等号の後に構造化参照 [@[Sales Amount]] が表示されます。

  5. 右角かっこの直後にアスタリスク ( * ) を入力し、セル D2 をクリックします。

    数式バーで、アスタリスクの後に構造化参照 [@[手数料 (%)]] が表示されます。

  6. Enter キーを押します。

    Excel では、計算列が自動的に作成され、列全体に数式がコピーされ、行ごとに値が調整されます。

明示的にセル参照を使用した場合

集計列に明示的にセル参照を入力した場合、数式による計算内容の確認が難しくなる可能性があります。

  1. サンプル ワークシートで、セル E2 をクリックします。

  2. 数式バーに 「=C2*D2」 と入力し 、Enterキーを押します。

数式が列にコピーされている間、構造化参照は使用されませんので注意してください。 たとえば、既存の列の C 列と D 列の間に列を追加する場合は、数式を修正する必要があります。

テーブル名の変更方法

Excel テーブルを作成すると、既定のテーブル名 (テーブル 1、テーブル 2 など) が付けられますが、わかりやすいテーブル名に変更できます。

  1. テーブル内の任意のセルを選択して、リボンの[>]タブを表示します。

  2. [テーブル名] ボックスに必要な名前 を入力、Enterキーを押します。

サンプル データでは、「DeptSales」という名前を使っています。

次のルールに従ってテーブル名を付けます。

  • 有効な文字を使用する  常に、文字、アンダースコア文字(_)、またはバックスラッシュ (\ ) で名前を開始します。 先頭文字以外には、文字、数字、ピリオド、アンダースコアを使います。 "C"、"c"、"R"、"r" は、名前に使えません。これらの文字は、[名前] または [移動先] ボックスに入力してアクティブ セルの行または列を選ぶショートカットとして既に指定されています。

  • セル参照を使用しない  名前は、Z$100 や R1C1 などのセル参照と同じに設定する必要があります。

  • スペースを使用して単語を分離しない  名前にスペースを使用することはできません。 アンダースコア文字 ( _)とピリオド ( を使用できます) を使います。 たとえば、DeptSales、Sales_Tax、First.Quarter のように入力します。

  • 255 文字以内で使用する テーブル名には最大 255 文字を指定できます。

  • <c0>テーブル名を一意にする</c0>    名前を重複させることはできません。 Excel では、名前で大文字と小文字が区別されません。 したがって、「SALES」という名前が既に存在していて、同じブックに「Sales」という名前を入力しようとすると、一意の名前を選ぶように求めるメッセージが表示されます。

  • オブジェクト識別子を使用する  テーブル、ピボットテーブル、グラフを組み合わせる場合は、名前の前にオブジェクトの種類を付け加えるのが良い方法です。 たとえば、tbl_Salesテーブルの場合は pt_Sales、売上ピボットテーブルの場合は chrt_Sales、売上グラフの場合は ptchrt_Sales、販売テーブルの場合は ptchrt_Sales などピボットグラフ。 これにより、すべての名前が Name Manager の順序付きリストに 保持されます

構造化参照の構文規則

また、数式で構造化参照を手動で入力または変更することもできますが、これを行うには、構造化参照構文を理解するのに役立ちます。 次の数式の例について説明します。

=SUM(DeptSales[[#Totals],[Sales Amount]],DeptSales[[#Data],[Commission Amount]])

この数式には、以下の構造化参照コンポーネントが含まれています。

  • テーブル名:    DeptSales は カスタム テーブル名です。 この名前は、見出しまたは合計行を含まない、テーブル データを参照しています。 既定のテーブル名 (テーブル 1 など) を使うか、別の名前に変更できます。

  • 列指定子:    [売上金額][手数料金額] は、表す列の名前を使用する列指定子です。 これらの指定子は、列見出しまたは合計行を含まない、列データを参照しています。 ここで示すように指定子は常にかっこで囲みます。

  • 項目指定子:    [#Totals][#Data] は、テーブルの特定の部分 (合計行など) を参照する特殊な項目指定子です。

  • テーブル指定子:    [[#Totals],[Sales Amount]] や [[#Data],[Commission Amount]] は、構造化参照の外側の部分を示すテーブル指定子です。 テーブル名の後に外部参照が続き、外部参照を角かっこで囲みます。

  • 構造化参照:    (DeptSales[[#Totals],[Sales Amount]] and DeptSales[[#Data],[Commission Amount]] は構造化参照であり、テーブル名で始まり、列指定子で終わる文字列で表されます。

構造化参照を手動で作成または編集するには、これらの構文規則を使います。

  • 指定子を囲む角かっこを使用する    すべてのテーブル、列、および特殊項目指定子は、一致する角かっこ ([ ]) で囲む必要があります。 ある指定子が他の指定子を含む場合、外側の角かっこの組が、他の指定子を囲む内側の角かっこの組を包含している必要があります。 例: =DeptSales[[Sales Person]:[Region]]

  • すべての列見出しが文字列    ただし、構造化参照で使う場合、引用符は不要です。 2014 または 2014/1/1 など、数字や日付もテキスト文字列と見なされます。 列見出しを含む式は使えません。 たとえば、式 DeptSalesFYSummary[[2014]:[2012]] は機能しません。

<c0>特殊文字を含む列見出しは角かっこで囲む</c0>特殊文字がある場合、列見出し全体を角かっこで囲む必要があります。    つまり、列指定子の場合は、2 重の角かっこが必要になります。 例: =DeptSalesFYSummary[[Total $ Amount]]

数式で追加の角かっこが必要になる特殊文字は次のとおりです。

  • タブ

  • 改行

  • 復帰

  • コンマ (,)

  • コロン (:)

  • ピリオド (.)

  • 左大かっこ ([)

  • 右大かっこ (])

  • シャープ記号 (#)

  • 単一引用符 (')

  • 二重引用符 (")

  • 左中かっこ ({)

  • 右中かっこ (})

  • ドル記号 ($)

  • キャレット (^)

  • アンパサンド (&)

  • アスタリスク (*)

  • 正符号 (+)

  • 等号 (=)

  • 負符号 (-)

  • 大なり記号 (>)

  • 小なり記号 (<)

  • 除算記号 (/)

  • 列見出しでは一部の特殊文字にエスケープ文字を使う    一部の文字には特別な意味があるため、エスケープ文字として単一引用符 (') を使う必要があります。 例: =DeptSalesFYSummary['#OfItems]

数式でエスケープ文字 (') が必要になる特殊文字は次のとおりです。

  • 左大かっこ ([)

  • 右大かっこ (])

  • シャープ記号 (#)

  • 単一引用符 (')

スペース文字を使用して構造化参照の読みやすさを向上させる    スペース文字を使用すると、構造化参照の読みやすさを向上できます。 例: =DeptSales[ [Sales Person]:[Region] ] or =DeptSales[[#Headers], [#Data], [% Commission]]

次の場所にはスペースを 1 つ入力することをお勧めします。

  • 最初の左角かっこ ([) の後

  • 最後の右角かっこ (]) の前

  • コンマの後

参照演算子

セル範囲をさらに柔軟に指定するために、次の参照演算子を使って列指定子を組み合わせることができます。

構造化参照の例

参照先

使用する演算子

参照されるセル範囲

=DeptSales[[Sales Person]:[Region]]

隣接する複数の列に含まれるすべてのセル

: (コロン) 範囲演算子

A2:B7

=DeptSales[Sales Amount],DeptSales[Commission Amount]

複数の列に含まれるすべてのセル

, (カンマ) 論理和演算子

C2:C7, E2:E7

=DeptSales[[Sales Person]:[Sales Amount]] DeptSales[[Region]:[% Commission]]

複数の列の共通部分

 (空白) 論理積演算子

B2:C7

特殊項目指定子

合計行のみなど、テーブルの特定の部分を参照するには、構造化参照で次の特殊項目指定子を使います。

特殊項目指定子の例

参照先

#All

列見出し、データ、および合計を含む、テーブル全体

#Data

データ行のみ

#Headers

見出し行のみ

#Totals

合計行のみ。 何もない場合は、Null を返します。

#This Row

または

@

または

@[Column Name]

数式と同じ行のセルのみ。 これらの指定子は、他の特殊項目指定子と組み合わせることはできません。 参照に対して強制的に暗黙の論理積演算を行う場合、または暗黙の論理積演算の結果を使わず、ある列の単一の値を参照する場合に使います。

Excel では、1 つ以上の行データが含まれたテーブルの #This Row 指定子は省略形の @ 指定子に自動的に変更されます。 ただし、行が 1 行しかないテーブルの場合、Excel では #This Row 指定子が変換されないため、行を追加すると、予期しない計算結果が生まれる可能性があります。 このような計算の問題を避けるには、構造化参照の数式を入力する前に、複数の行をテーブルに入力してください。

集計列における構造化参照の修飾

集計列を作成する場合、一般に構造化参照を使って数式を作成します。 この構造化参照は、非修飾でも、完全修飾でも使えます。 たとえば、Commission Amount という集計列を作成して手数料の金額を計算する場合、次の数式を使えます。

構造化参照の種類

使用例

コメント

非修飾

=[Sales Amount]*[% Commission]

現在の行で対応する 2 つの列の値を乗算します。

完全修飾

=DeptSales[Sales Amount]*DeptSales[% Commission]

各行について、対応する 2 つの列の値を乗算します。

一般的な規則: 集計列を作成する際など、テーブル内で使う場合は非修飾の構造化参照を使うことができますが、テーブル外で使う場合は完全修飾の構造化参照を使う必要があります。

構造化参照の使用例

次に構造化参照の使用方法をいくつか示します。

構造化参照の例

参照先

参照されるセル範囲

=DeptSales[[#All],[Sales Amount]]

売上金額列のすべてのセル

C1:C8

=DeptSales[[#Headers],[% Commission]]

手数料 (%) 列の見出し

D1

=DeptSales[[#Totals],[Region]]

Region 列の合計。 集計行がない場合は、Null を返します。

B8

=DeptSales[[#All],[Sales Amount]:[% Commission]]

売上金額列と手数料 (%) 列のすべてのセル

C1:D8

=DeptSales[[#Data],[% Commission]:[Commission Amount]]

手数料 (%) 列と手数料金額列のデータのみ

D2:E7

=DeptSales[[#Headers],[Region]:[Commission Amount]]

地域列から手数料金額列までの列見出しのみ

B1:E1

=DeptSales[[#Totals],[Sales Amount]:[Commission Amount]]

売上金額列から手数料金額列までの合計。 集計行がない場合は、Null を返します。

C8:E8

=DeptSales[[#Headers],[#Data],[% Commission]]

手数料 (%) 列の見出しとデータのみ

D1:D7

=DeptSales[[#This Row], [Commission Amount]]

または

=DeptSales[@Commission Amount]

現在の行と手数料金額列が交差する位置にあるセル。 ヘッダーまたは合計行と同じ行で使用すると、エラー値が返#VALUEされます。

複数の行データが含まれたテーブルで、この構造化参照 (#This Row) を長い形式で入力すると、Excel では省略形 (@) に自動的に変換されます。 どちらも動作は同じです。

E5 (現在の行が 5 の場合)

構造化参照を活用するヒント

構造化参照を活用する際には、次の点を考慮してください。

  • 数式オートコンプリートを使用する    構造化参照を入力する際に正しい構文を確実に使うためには、数式オートコンプリートを使うととても便利です。 詳細については、「数式オートコンプリートを使用する」を参照してください。

  • 半選択でテーブルの構造化参照を生成するかどうかを決定する    既定では、数式を作成するときに、テーブル内のセル範囲をクリックすると、セルが半選択され、数式のセル範囲ではなく構造化参照が自動的に入力されます。 この半選択の動作により、構造化参照を容易に入力できます。 この動作をオンまたはオフに切り替えることができます。[ファイル>オプション] > [数式の操作] ダイアログボックスの [数式でテーブル名を使用する>] チェック ボックスをオンまたはオフにします。

  • 外部リンクを含むブックを使用して、他Excelテーブルにリンクする    ブックに別のブック内の Excel テーブルへの外部リンクが含まれている場合、リンク先ブックにリンクが含まれる#REF!エラーを回避するには、そのリンク元ブックを Excel で開く必要があります。 コピー先のブックを最初に開いて #REF! エラーが表示された場合、ソース ブックを開いた場合は解決されます。 リンク元ブックを最初に開くと、エラー コードは表示されないはずです。

  • 範囲をテーブルに変換し、テーブルを範囲に変換する    テーブルを範囲に変換すると、すべてのセル参照が同等の絶対 A1 スタイル参照に変わります。 範囲をテーブルに変換しても、Excelのセル参照は、同等の構造化参照に自動的に変更されません。

  • 列見出しをオフにする    テーブルの列見出しのオンとオフを切り替えるには、テーブルの [デザイン] タブの [見出し>をクリックします。 テーブルの列見出しをオフにした場合、列名を使用する構造化参照は影響を受け、数式で引き続き使用できます。 テーブル ヘッダーを直接参照する構造化参照 (例: =DeptSales[[#Headers],[%Commission]]) は、結果として #REFになります。

  • テーブルに列と行を追加または削除する    テーブルのデータ範囲は変更される場合が多いので、構造化参照のセル参照は自動的に調整されます。 たとえば、数式でテーブル名を使用してテーブル内のすべてのデータ セルをカウントし、データ行を追加すると、セル参照が自動的に調整されます。

  • テーブルまたは列の名前を変更する    テーブル名や列名を変更すると、ブック内で使用されているすべての構造化参照で、テーブルや列見出しの部分が自動的に変更されます。

  • 構造化参照を移動、コピー、オートフィルする    構造化参照を使う数式をコピーまたは移動すると、すべての構造化参照は同じままになります。

    注: 構造化参照をコピーすることと、構造化参照のオートフィルを実行することは、同じではありません。 数式をコピーすると、すべての構造化参照は同じままになりますが、数式のオートフィルを実行すると、完全修飾された構造化参照によって、列指定子は次の表にある連続したデータのように調整されます。

オートフィルの方向

オートフィルによる入力で使用するキー

結果

上下

なし

列指定子は調整されません。

上下

Ctrl キー

列指定子は連続データとして調整されます。

左右

なし

列指定子は連続データとして調整されます。

上下左右

Shift キー

現在のセルの値を上書きせずに、セルの値を移動して列指定子を挿入します。

補足説明

Excel 技術コミュニテでは、いつでも専門家に質問できます。また、Answers コミュニティでは、サポートを受けられます。

関連トピック

テーブルのExcel概要
ビデオ: 表を作成して書式設定Excelする
テーブル内のデータのExcelする
テーブルの書式Excelする
行と列を追加または削除してテーブルのサイズを変更する
範囲またはテーブルのデータをフィルター処理する
テーブルを範囲に変換する
Excel互換性の問題
テーブルをExcelにエクスポートSharePoint
Excel の数式の概要

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

翻訳品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

フィードバックをお送りいただきありがとうございます!

×