Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する

Master Mole
質問: オブジェクトのあるJSONをExcelに読み込みたい
JSONファイルをExcelに読み込んで表示したいのですが、JSON内にオブジェクトが記述されていて、入れ子になっています。 うまく読み込む手順はありますか?

配列が入れ子になっているJSONファイルを読み込み、表形式で表示する手順を紹介します。

JSONファイル

以下のJSONファイルを用意します。配列内のオブジェクトのstockの値が配列になっており、配列が入れ子になった状態のJSONファイルです。

data-a.json
[
  {
    "name": "ぺんぎんクッキー",
    "price": 250,
    "stock": [
      {
        "tokyo": 24,
        "fukuoka": 12,
        "sapporo": 9
      }
    ]
  },
  {
    "name": "しろくまアイス",
    "price": 320,
    "stock": [
      {
        "tokyo": 3,
        "fukuoka": 4,
        "sapporo": 6
      }
    ]
  },
  {
    "name": "かるがもサブレ",
    "price": 180,
    "stock": [
      {
        "tokyo": 12,
        "fukuoka": 8,
        "sapporo": 10
      }
    ]
  }
]

手順

Excelを起動し、ツールリボンの[データ]のタブをクリックして選択し、[データの取得]ボタンをクリックし、[ファイルから]の[JSON から]の 項目をクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像1

ファイルを開くダイアログが表示されますので、先に準備したJSONファイルを選択して開きます。 JSONファイルを読み込むと、Power Query エディターのウィンドウが表示されます。(下図参照)
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像2


ツールリボンの[テーブルに変換]ボタンをクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像3

テーブルへの変換ダイアログが表示されます。設定はデフォルトのまま[OK]ボタンをクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像4

テーブルに変換できました。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像5

[Column1]の右側のボタンをクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像6

ドロップダウンウィンドウが表示されますので、表示したい列にチェックをつけます。今回はすべての列にチェックをつけます。 設定後、ドロップダウンウィンドウの[OK]ボタンをクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像7

列が表示され、下図の画面が表示されます。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像8

値がリスト(配列)で記述されている、[Column1.stock]の右側のボタンをクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像9

ドロップダウンメニューが表示されます。メニューの[新しい行に展開する]の項目をクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像10

もう一度、[Column1.stock]の右側のボタンをクリックします。 下図のドロップダウンウィンドウが表示されますので、表示したい列の項目にチェックをつけます。 チェック後、ドロップダウンウィンドウの[OK]ボタンをクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像11

リストで記述されていた値が列として展開されます。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像12
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像13

ツールリボンの[閉じて読み込む]ボタンをクリックします。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像14

Power Query エディターのウィンドウが閉じられ、Excelシートに値が読み込まれます。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像15

JSONの値が表形式で、Excelシートで表示できました、値が配列で記述されていた値も、列の値として読み込めました。
Excelで配列が入れ子になっている JSONファイルを読み込み表形式で表示する:画像16

AuthorPortraitAlt
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。
作成日: 2024-08-21