リスト、レコード、またはテーブル構造化列を操作する (Power Query)

適用先
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

リストレコードテーブルなどの構造化列の場合、列に関連付けられている関連する値があります。 構造化列には、列ヘッダーに展開アイコン 列 の展開アイコンがあります

構造化列について

構造化列には次の 3 種類があります。

  • 一覧 値のリストを格納します。たとえば、{ 1、2、5、10 } や { "hello", "hi", "good bye" } などです。 セル内の List の値は最も単純な構造化列であり、テーブル リレーションシップはありません。
  • 記録 単位にグループ化された名前付きフィールドのセットを格納します。 例: [ FirstName = "Joe", LastName = "Smith", Birthdate = #date(2010, 1, 2) ]。 セルの値が Record の場合、現在のテーブルまたは主テーブルとの 1 対 1 のテーブル リレーションシップを示します。
  • テーブル 現在のデータとセカンダリ リレーションシップを持つテーブル (プライマリ テーブル) を格納します。 セル内の値が Table の場合、現在のテーブルまたはプライマリ テーブルとの一対多リレーションシップを示します。

レコードテーブルの構造化列は、OData フィード内の外部キー関連付けを持つエンティティや SQL Server データベース内の外部キー関連付けを持つエンティティなど、リレーショナル モデルを持つデータ ソース内のリレーションシップを表します。

テーブル構造の列の展開について

[展開列] アイコンを使用すると、関連テーブルの列を表示できます。 たとえば、"受注" テーブルで、展開操作によって "受注" テーブルに関連するOrder_Detailsレコードがまとめられ、各受注の受注明細行品目が結合されます。 展開操作は、プライマリ テーブルを拡大し、セカンダリ テーブルと関連テーブルの列を含めます。 説明すると、次のようになります。

プライマリ テーブルには、列 AB があります。

列 A および B

関連テーブルに列 C があります。

列 A、B、および関連する C

展開操作は、列 C を含むようにプライマリ テーブルを拡大し、列 C を含むセカンダリ テーブルと関連テーブルの関連値を持つプライマリ テーブルを展開します。

ABC

要約すると、 テーブル 構造の列を展開すると、値はデータ プレビューの他の列と一緒に表示されます。 プライマリ テーブルと関連テーブルの組み合わせの詳細については、「 複数のデータ ソースの結合方法の詳細」を参照してください。 

構造化されたテーブル列を展開する

この例では、展開操作によって Order テーブルが拡張され、 Order_Details.ProductIDOrder_Details.UnitPrice、および Order_Details.Quantity 列が含まれるようになり、プライマリ テーブル の Order 行と関連テーブルの Order_Details 行がまとめられます。

構造化テーブルのサンプル データ

  1. クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。

    注釈 クエリには、少なくとも 2 つのテーブルがリレーションシップで結合されている必要があります。 詳細については、「クエリのマージ」を参照してください。 

  1. 構造化列の列ヘッダーにある展開アイコン (展開 ) をクリックします。

  2. [ 列名 ] ドロップダウン リストで、目的の列を選択し、不要な列をクリアします。 

    列名を選ぶ

  3. [OK] を選択します。

結果

これで、テーブルには手順 3 で選択した各列の新しい列が含まれます。 

構造化されたテーブル列を展開した結果

構造化されたレコード列を展開する

レコード構造化列を展開すると、値はデータ プレビューに新しい列として表示されます。 この列を展開し、クエリをワークシートに読み込まない場合、列の各セルに [Record] というプレースホルダー値が表示されます。

  1. クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。

  2. 列を展開せずに特定の値を表示するには、構造化列で レコード 値を持つ値を選択します。 次に例を示します。

    複合レコード列を展開する

  3. 構造化列の列ヘッダーにある展開アイコン (展開 ) を選択します。

  4. [ 列名 ] ドロップダウン リストで、目的の列を選択し、不要な列をクリアします。

    構造化レコード列の [展開] をクリックする

  5. [OK] を選択します。

結果

これで、テーブルには、手順 4 で選択した各列の新しい列が含まれます。 

構造化されたレコード列を展開した結果

構造化されたリストの列を展開する

リスト構造化列を展開すると、値が新しい列としてデータ プレビューに表示されます。 この列を展開し、クエリをワークシートに読み込まない場合、列の各セルに [List] というプレースホルダー値が表示されます。

  1. クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。

  2. 列を展開せずに特定の値を表示するには、構造化列で リスト 値を持つ値を選択します。 次に例を示します。

    リスト複合列の展開

  3. 構造化列の列ヘッダーにある展開アイコン (展開 ) を選択します。

  4. 次のいずれかの操作を行います。

    • リスト値ごとに行を作成するには、[ 新しい行に展開] を選択します。
    • テキスト値の一覧を区切って作成するには、[ 値の抽出] を選択します。
  5. [OK] を選択します。

新しい行に展開する結果

構造化リストの列を行単位で展開した結果

区切り記号としてセミコロン (;) を使用した値の抽出の結果

区切り記号を使用して値を抽出することによって構造化リスト列を展開した結果

構造化列グループのコマンドを使用する

構造化列を操作するには、Power Query エディター リボンで次の追加コマンドを使用できます。

  1. [ ホーム>変換 ] を選択し、[ 構造化列 ] グループで次のいずれかのコマンドを選択します。
    展開する 構造化された列 (リスト、レコード、またはテーブル) を、現在のクエリ テーブルの新しい列と行に昇格させます。 このコマンドは、[ 展開]アイコンと同じ です。

    集計SumCount などの集計関数を使用して、テーブル構造の列の値を集計します。 このコマンドは、[展開] アイコンを選択し、[列名] ドロップダウン ダイアログ ボックスで [集計] を選択するのと同じです。 これは、 テーブル 構造化列でのみ使用できます。

    値の抽出 指定された区切り記号を使用して、構造化された リスト 列の値を 1 つのテキスト値に結合して抽出します。

注釈[数値列] グループ ([変換] > [統計] の選択) で [統計] コマンドをテーブル構造の列で使用することもできます。 これには、Power Query エディター リボンの [リスト ツール] の下にある [変換コンテキスト] タブの [数値リスト] グループの統計コマンドと同じ集計関数のリストがあります。

[コンテキストの変換] タブを使用する

リルダウン コマンドを使用すると、Power Query エディター リボンの [リスト ツール] の下に [コンテキストの変換] タブを表示し、構造化列を操作するための追加のコマンドを表示できます。 この [変換] タブを、Power Query エディター リボンで定期的に利用できる他の [変換] タブと混同しないでください。

  1. 列見出しを右クリックし、[ ドリルダウン] を選択します。
  2. リストまたはレコードをテーブルに変換するには、[リスト ツール] の [変換]>[テーブルへ] を選択します。
  3. 上、下、またはアイテムの範囲を保持するには、[リスト ツール] の下で [アイテムの変換>保持] を選択します。
  4. 上のアイテム、下のアイテム、または代替アイテムを削除するには、[ リスト ツール][アイテムの変換>削除] を選択します。
  5. 重複する値を削除するには、[リスト ツール][変換] > [重複の削除] を選択します。 詳細については、「 重複する行を保持または削除する」を参照してください。
  6. アイテムを反転するには、[ リスト ツール] で [ アイテムの変換>反転] を選択します。
  7. データを並べ替えるには、Excel の [リスト ツール] の [昇順で並べ替え] コマンド (A から Z または最小値から最大値に並べ替えるコマンド)、または Excel の [降順で Z から A に並べ替える] コマンドを選択します。 詳細については、「 データの並べ替え」を参照してください。
  8. さまざまな統計を表示するには、[ リスト ツール][変換>統計] を選択します。 次の統計を使用できます。SumMinimumMaximumMedianAverageStandardDeviationCount Values、および Count Distinct Values。 詳細については、「 列からデータを集約する」を参照してください。

関連項目

Power Query for Excel のヘルプ

クエリのマージ

行のグループ化または集計 (docs.com)