鷹尾祥(アキラ)のExcel BI ブログ

Excelの革新的機能であるパワーピボット/パワークエリ/DAXについて紹介します。

複数のExcelファイルの一括取り込み

テーマ

今回のテーマは、フォルダーの中の複数のExcelファイルをまとめて取り込む手順です。
ポイントは以下の2点です。

  • Excel.Workbook関数の使用
  • データの取得は、フォルダーシートデータの3段階

 

手順

  1. データソースの指定 

    まずはフォルダーを読み込みます。

    データ→データの取得→ファイルから→フォルダーから

    f:id:modernexcel7:20190609181748p:plain


    「フォルダーパス」に読み込み対象のフォルダーを選択

    f:id:modernexcel7:20190609182320p:plain

     「データの変換」をクリック

    これでフォルダー内のExcelファイル一覧を取得できました。

    f:id:modernexcel7:20190609182341p:plain

     

  2. 個別Excelファイルの展開

    まずは不要な列を削除します。

    Ctrlキーを押しながらContentとNameを選択→ホーム→列の削除→他の列の削除

     f:id:modernexcel7:20190609185738p:plain


    次にそれぞれのExcelファイルの中身を展開します。

    列の追加→カスタム列

    f:id:modernexcel7:20190429000758p:plain

    カスタム列の式を入力

    =Excel.Workbook([Content])
    (大文字・小文字を正確に入力してください。) 
    f:id:modernexcel7:20190609190205p:plain

    以下の「カスタム」列が追加されます。

    f:id:modernexcel7:20190429001018p:plain

    「カスタム」列右上の展開矢印をクリック

    「カスタム」列が展開され、Excelファイルの各シートが確認できます。

    f:id:modernexcel7:20190609190431p:plain

    展開された項目はそれぞれ以下の通りです。
    ◎ Name   シート名
    ◎ Data  データの実体
    ◎ Item  シート名
    ◎ Kind  シートや印刷範囲といった種別
    ◎ Hidden シートが非表示だとTRUE

    展開する必要のないレコードは、ここでフィルターアウトしてください。

  3. Excelシートの中身を展開

    まず再び不要な列を削除します。
    Ctrlキーを押しながらカスタム.Item、カスタム.Kind、カスタム.Hiddenを選択
    →ホーム→列の削除

    f:id:modernexcel7:20190609191527p:plain

    次にそれぞれのExcelシートの中身を展開します。

    「カスタム.Data」列右上の展開矢印をクリック→OK

    f:id:modernexcel7:20190609191747p:plain

    これで各ファイルの各シートのレベルまで展開できました。

    もうContentは使用しないので削除します。

    Contentを選択→ホーム→列の削除

    f:id:modernexcel7:20190609192041p:plain

     

  4. 仕上げ

    最後にデータをワークシートテーブルに読み込む前の仕上げを行います。

    ホーム→1行目をヘッダーとして使用

    f:id:modernexcel7:20190429002127p:plain

    1行目がヘッダーに昇格されました。

    f:id:modernexcel7:20190609192209p:plain


    次に、各シートのヘッダー行をフィルターアウトします。

    「番号」右の▼をクリック→「番号」のチェックを外す→OK

    f:id:modernexcel7:20190609192326p:plain



    データからヘッダー行がフィルターアウトされました。

    f:id:modernexcel7:20190609192426p:plain




    ホーム→閉じて読み込む

    f:id:modernexcel7:20190429002649p:plain


    これで複数のExcelファイルをまとめて一つのテーブルに読み込むことができました。

    f:id:modernexcel7:20190609192535p:plain