【Excel】JSONデータをテーブルに変換する方法!ExcelのPower Queryでネスト構造を展開する

【Excel】JSONデータをテーブルに変換する方法!ExcelのPower Queryでネスト構造を展開する
🛡️ 超解決

JSON形式のデータはWeb APIなどでもよく利用されます。ExcelでこのJSONデータを扱いたい場合、そのままでは表形式で表示できません。特にネスト構造を持つJSONは、そのままでは活用しにくいです。この記事では、ExcelのPower Query機能を使ってJSONデータをテーブルに変換し、ネスト構造を展開する方法を解説します。

Power Queryを使えば、複雑なJSONデータも分かりやすい表形式に変換できます。これにより、データの分析や加工が格段に容易になります。ぜひこの記事で、JSONデータの活用方法をマスターしてください。

ADVERTISEMENT

Power QueryでJSONデータをテーブルに変換する仕組み

Power Queryは、Excelに標準搭載されているデータ取得・加工ツールです。様々なデータソースに接続し、データの整形や変換を自動化できます。JSONデータは、Power Queryが標準でサポートしている形式の一つです。Power QueryはJSONの構造を解析し、リストやレコードといった内部表現に変換します。これを、Excelで扱いやすいテーブル形式に展開していくのが基本的な流れです。

JSONデータは、キーと値のペアで構成され、階層構造を持つことができます。Power Queryはこの階層構造を解析し、各階層のデータを個別の列や行として展開する機能を持っています。特に、ネストしたJSONオブジェクトや配列を扱う際に、その威力を発揮します。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

Power QueryでJSONデータをテーブルに変換する手順

  1. Excelで新しいブックを開く
    Excelを起動し、新規のワークブックを開きます。
  2. 「データ」タブを開く
    Excelのリボンメニューから「データ」タブを選択します。
  3. 「データの取得」を選択
    「データの取得」ボタンをクリックします。
  4. 「ファイルから」>「JSONから」を選択
    表示されるメニューから「ファイルから」にカーソルを合わせ、「JSONから」を選択します。
  5. JSONファイルの選択
    「ファイルのインポート」ダイアログが表示されるので、変換したいJSONファイルを選択し、「インポート」ボタンをクリックします。
  6. Power Query エディターの起動
    JSONファイルの内容がPower Query エディターに読み込まれます。この時点では、データがリストやレコード形式で表示されている場合があります。
  7. テーブルへの変換
    Power Query エディターの「ホーム」タブにある「変換」グループの「テーブルへ変換」をクリックします。
  8. 「テーブルへ変換」ダイアログの設定
    「テーブルへ変換」ダイアログが表示されます。通常はデフォルト設定のままで問題ありません。「OK」をクリックします。
  9. 列の展開(ネスト構造の展開)
    テーブルに変換されたデータが表示されます。ここで、ネスト構造を持つ列(通常は「Record」や「List」と表示されている)のヘッダーにある展開アイコン(右向きの矢印が2つ重なったようなアイコン)をクリックします。
  10. 展開する列の選択
    展開したい列のヘッダーにある展開アイコンをクリックすると、展開するフィールドを選択するダイアログが表示されます。展開したい項目にチェックを入れ、「OK」をクリックします。
  11. データの確認と整形
    ネスト構造が展開され、データがテーブル形式で表示されます。必要に応じて、列のデータ型を変更したり、不要な列を削除したりしてデータを整形します。
  12. Excelへの読み込み
    データの整形が完了したら、「ホーム」タブの「閉じて読み込む」をクリックします。
  13. 読み込み先の選択
    「データのインポート」ダイアログが表示されるので、データを読み込みたい場所(新規ワークシート、既存のワークシートなど)を選択し、「OK」をクリックします。
  14. テーブルの完成
    指定した場所に、JSONデータが変換されたテーブルが作成されます。

ネスト構造を展開する際の注意点と応用

展開時に「Record」や「List」が表示される場合

JSONデータには、オブジェクト(キーと値のペア)や配列(順序付けられた値のリスト)が含まれます。Power Queryでは、これらをそれぞれ「Record」や「List」として認識します。これらの列のヘッダーにある展開アイコンをクリックすることで、内部のデータを取り出すことができます。

「Record」を展開すると、そのオブジェクトのキーが列名として表示され、対応する値が各行に表示されます。一方、「List」を展開すると、リストの各要素が新しい行として展開されるか、あるいはリストの内容を結合した値として表示されます。どちらの展開方法が適切かは、データの構造と目的に応じて選択する必要があります。

ネストが深いJSONデータの展開方法

JSONデータは、オブジェクトの中にさらにオブジェクトがあったり、リストの中にオブジェクトがあったりするなど、深い階層構造を持つことがあります。このような場合、展開アイコンをクリックするたびに、さらにネストした構造が現れます。

Power Queryエディター上で、これらのネストした列を繰り返し展開していくことで、最終的にフラットなテーブル構造にすることができます。展開する際には、どの階層のどのデータを取り出したいのかを明確にしながら操作を進めることが重要です。

「カスタム列」を使ったデータ加工

単純な展開だけでなく、「カスタム列」機能を使うことで、より高度なデータ加工が可能です。例えば、展開した複数の列の値を組み合わせて新しい列を作成したり、特定の条件に基づいて値を変換したりできます。

カスタム列を追加するには、Power Query エディターの「列の追加」タブから「カスタム列」を選択します。「カスタム列の追加」ダイアログで、新しい列名と、その列に表示したい計算式を入力します。この計算式では、既存の列を参照したり、Power Queryが提供する様々な関数を利用したりできます。

「グループ化」機能の活用

JSONデータに含まれる情報を集計したい場合、「グループ化」機能が役立ちます。例えば、特定のカテゴリごとに件数をカウントしたり、数値を合計したりすることができます。

グループ化するには、Power Query エディターで対象の列を選択した状態で、「ホーム」タブの「グループ化」ボタンをクリックします。グループ化したい列、集計方法(合計、平均、カウントなど)、および集計結果を表示する新しい列名を指定して実行します。これにより、データを要約したテーブルを作成できます。

ADVERTISEMENT

JSONデータとテーブル形式の比較

項目 JSONデータ Excelテーブル
構造 階層的、キーと値のペア 行と列の二次元
データ型 文字列、数値、真偽値、配列、オブジェクト 文字列、数値、日付、通貨など
可読性 構造が複雑だと読みにくい 構造がシンプルで読みやすい
分析・加工 専用ツールやプログラミングが必要な場合がある Excelの関数やピボットテーブルで容易に分析可能
相互変換 Power QueryでExcelテーブルに変換可能 Power QueryでJSON形式に変換可能

まとめ

この記事では、ExcelのPower Queryを使用してJSONデータをテーブルに変換し、ネスト構造を展開する方法を解説しました。Power Queryの「テーブルへ変換」機能と列の展開操作により、複雑なJSONデータも分かりやすい表形式に変換できます。カスタム列やグループ化機能を使えば、さらに高度なデータ加工や集計も可能です。

JSONデータをExcelで効率的に活用するために、ぜひPower Queryを使いこなしてください。次回は、Power Queryで取得したデータを定期的に更新する方法について解説します。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】