ファイルデータ一覧表の作成方法【VBA不要】

概要
「フォルダ内の多数のファイルから一覧表(まとめ表)
ポイントは、
コピペでファイル一覧作成は現実的でない
複数のファイルとその内容のリストを、
コピペだけで完結させようとすると、
- 作業の手間が多く、
ミスの発生確率が高い。 - 新しいデータを追加しても、
一覧に反映するのが面倒で放置されがち。
解決策:テンプレート + フォルダインポート
ファイルデータの一覧表作成を効率化するには、
複数ファイルを一括で読み込むために、
仕組みの概要
- テンプレートファイルを作成し、
同じ構成のファイルを簡単に作れるようにする。 - 各ファイルを1つのフォルダにまとめて保存する。
- パワークエリでフォルダごと読み込み、
一覧表を自動作成する。
エクセルでの実装方法
エクセルで、
使用するエクセル機能
| 機能 | 役割 |
|---|---|
| テーブル | 各ファイル間のデータ受け渡し欄 |
| ピボットテーブル | 一覧表を作成 |
| パワークエリ | フォルダ内の外部ファイルを読み込み、 |
| テンプレート | 書式統一と再利用性の向上 |
ファイル・テーブル構成
各ファイルとその中に作成するテーブルは以下のようになります
- ファイル1: 書類テンプレート.xltx
- M_書類データ: 一覧表で抽出する書類データを格納するテーブル
- ファイル2: 一覧表.xlsx
- P_パラメータ: 一覧表のパスを格納するテーブル
- T_ファイルデータ 書類データの一覧を表示させるピボットテーブル
書類テンプレート.xltxを使って作成した書類ファイルは、
テーブル名のプレフィックス
テーブル名に設定しているM_やT_などのプレフィックス(接頭語)
以下の意味でつけています。
- M_ : マスターテーブル(基本情報を格納)
- T_ : トランザクションテーブル(時系列ごとのイベントを格納)
- P_ : パラメータテーブル(パラメータを格納)
※ プレフィックスは必須ではありません
フォルダ構成
定型書類_管理/
├─ 一覧表.xlsx(ファイル2)
├─ テンプレート/
│ └─ 書類テンプレート.xltx(ファイル1)
└─ 作成書類/一覧表.xlsx(ファイル2)
一覧表.xlsx(ファイル2)
作成後のファイル名とフォルダ位置の変更は慎重に
作成書類/のパスが変わると、
ファイルを作成後は、
(再設定すれば可能)
作成書類/に入れる書類ファイルのファイル名は、
テンプレート/フォルダ、
一覧表.xlsxは、
実装手順
2つのファイル(書類テンプレート、
名称は任意
ファイル名やテーブル名、
好みの名称に置き換えて進めてもOKです。
フォルダの準備
作成していくファイルを配置するフォルダ(定型書類_管理)
フォルダ構成の通りに、
- テンプレートフォルダ
- 作成書類フォルダ
用意したフォルダの中にファイルを作成していきます。
ファイル1. 書類テンプレートの作成
書類テンプレートでは、
- 出力エリア : 書類として出力する領域。
印刷やPDF化する場合は、 このエリアのみが出力される。 - 作業エリア : 書類上には直接出力しない内容を記載する領域。
データをまとめて格納したテーブルなどを配置する。
2つのエリアは、
手順0. テンプレートファイルとして保存する
エクセルでファイルを新規作成したら、
手順1. 出力エリアを作成する
書類として出力される領域を作成し、
- 目的の書類フォーマットを作成する。
- ※ シート左上に詰めて作成し、
下に伸ばしていく。
- ※ シート左上に詰めて作成し、
- 印刷範囲を設定する。
- 書類のフォーマットの列を選択 > ページレイアウトタブ > 印刷範囲ボタン > 印刷範囲の設定
※ 改ページプレビュー(表示タブより)を使うと、 設定範囲がわかりやすい - ページレイアウトタブ > 余白ボタン > ユーザー設定の余白 > ページ中央:水平にチェック > OKボタン
- 書類のフォーマットの列を選択 > ページレイアウトタブ > 印刷範囲ボタン > 印刷範囲の設定
- 出力エリアの境界線を視覚化 & 固定化する(任意)
。 - 印刷範囲(出力エリア)
右端の1つ右の列を選択 - 表示タブ > ウィンドウ枠の固定
- 印刷範囲(出力エリア)
手順2. 作業エリアにデータテーブルを作成する
一覧表.xlsxで読み込みたい内容をまとめたテーブル(M_書類データ)
テーブルの作成方法
- 作成するセルを選択
- 挿入タブ > テーブルボタン
(Ctrl + t)
手順3. テーブルを参照して、 出力エリアに値を挿入する
作業エリアに配置したM_書類データを参照して、
テーブルデータを参照するときは、
構造化参照の中に"@"は不要
テーブルセルをクリックして構造化参照の式を作成すると、
数式中に"@"が入ることがあります(=テーブル名[@列名]の形式)
これは「挿入するセル」
構造化参照での@は「同じ行」
@が数式に含まれたままセルを移動したときにエラーが発生します。
修正時に不便になるので、
今回のケースでは@を使わない構造化参照の式を使いましょう。
- ❌ =テーブル名[@列名]
- ✅ =テーブル名[列名]
ここまでで、
ファイル2. 一覧表の作成
作成書類/フォルダに格納したファイル群の情報を
手順0. 仮の書類ファイルを用意する
パワークエリの読み込み設定をする(手順1)
- 書類テンプレート.xltxをダブルクリックし、
新規ファイルを作成する。 - 作成書類/フォルダに.xlsx形式で保存する(書類1.xlsxなど)
- 作成したファイルを閉じる。
手順1. ファイルデータ一覧を作成する
パワークエリを使って、
- データタブ > データの取得 > ファイルから > フォルダーからボタン
- 作成書類/フォルダを選択
- ナビゲーターが開いたら、
結合ボタン横のプルダウン > 結合および読み込み先...を押し、 PowerQueryエディターを起動 - ※ ここから先に進めない場合は、
作成書類/フォルダ内のファイルはすべて閉じているか確認する (一時ファイルがあるとうまくいかない可能性あり) 。
- ※ ここから先に進めない場合は、
- M_書類データを選択 > OKボタン
- データのインポートウィンドウで、
次の通りに設定 > OKボタン - ピボットテーブルレポートを選択
- 既存のワークシートを選択 > =$B$6あたりを選択(任意)
- このデータをデータモデルに追加するは未チェック
手順2. ファイルデータ一覧を見やすく整形する
ピボットテーブルでファイルデータの一覧を見やすくなるよう設定します。
- ピボットテーブル上のセルを選択する。
- ピボットテーブルのフィールド項目を設定する。
- 表欄に、
表示させたい項目をドラッグ&ドロップする (テーブル左側から順に配置される)
- 表欄に、
- ピボットテーブルのデザインを設定する(任意)
。 - デザインタブ > 小計 > 小計を表示しないを選択
- デザインタブ > レポートのレイアウト > 表形式で表示を選択
- ピボットテーブルの名前を変更する(任意)
。 - ピボットテーブル分析タブ
ピボットテーブル名:T_ファイルデータにする
手順3. 相対パスに対応させる
ファイルパスを格納したP_パラメータテーブルを作成し、
- ファイルパスを格納したテーブルを作成する。
- 列名:パス
- 値:=LEFT(CELL("filename", $A$1), FIND("[", CELL("filename", $A$1)) - 1)
- テーブル名:P_パラメータ
- パワークエリを起動する。
- データタブ > クエリと接続ボタン >
(その他のクエリの) 作成書類をダブルクリック
- データタブ > クエリと接続ボタン >
- クエリを編集する。
- 右側のクエリ欄で作成書類選択状態であることを確認
ホームタブ
詳細エディターボタン- 以下になるようにコードを追加・修正
let パス = Excel.CurrentWorkbook(){[Name="P_パラメータ"]}[Content]{0}[パス], // 追加 ソース = Folder.Files(パス & "作成書類"), // 修正("パス &"の部分) ... in 変更された型- ホームタブ > 閉じて読み込む
エクセルで実装後の使い方
作成した書類テンプレート.xltxと一覧表.xlsxの使い方は下記の通りです。
書類を作成するとき
- テンプレートファイル(書類テンプレート.xltx)
をダブルクリックして新規ファイル作成開始。 - ファイル内を書き換え。
- 作成書類/フォルダにxlsx形式ファイルで保存
(ファイル名は自由) 。
一覧表を見るとき
- 一覧表.xlsxを開く。
- すべて更新ボタンを押してデータ更新(Ctrl + Alt + F5)
。 - 適宜、
ピボットテーブルの機能(データの並び替え・ソート、 フィールド設定の変更) を使って見やすくする。
まとめ
- VBAを使わずに、
複数ファイルをまとめる仕組みを構築できる。 - 一度テンプレートと構成を作れば、
更新作業はボタン1つで完了。 - データの整合性が保たれ、
属人化を防ぐ。
応用:まとめ表から書類を作ることも可能
この記事では
逆に、









