Python 業務自動化 | Excel業務自動化:Excel基本操作 - 複数Excel統合

Python Python
スポンサーリンク
  1. 複数Excel統合は「大量のファイルを一瞬でまとめ、分析可能な1つのデータに変換する」ための最強スキル
  2. 複数Excel統合の基本構造(最重要ポイント)
    1. 読み込み(pandas)
    2. 結合(concat)
    3. 保存(to_excel)
  3. 最も基本的な「複数Excelの縦方向統合」テンプレート
    1. フォルダ内のExcelをすべて読み込み → 1つにまとめる
    2. 深掘りポイント
  4. ファイル名を列として追加する(どのファイルのデータか分かる)
    1. 統合後に「元ファイル名」を残す方法
    2. 深掘りポイント
  5. シート名ごとに統合する(複数シートをまとめたい場合)
    1. 全Excelの「売上」シートだけを統合する
    2. 深掘りポイント
  6. 横方向(列方向)に統合するテンプレート
    1. 同じ行数のExcelを横に結合する
    2. 深掘りポイント
  7. Excelの複数シートに分けて保存する(レポート形式)
    1. 統合データを複数シートに出力
    2. 深掘りポイント
  8. 実務例①:店舗別売上ファイルを統合する
    1. data/ フォルダに「店舗A.xlsx」「店舗B.xlsx」などがある場合
    2. 解説
  9. 実務例②:毎月の売上ファイルを統合する(月次レポート用)
    1. 「2024-01.xlsx」「2024-02.xlsx」などを統合
  10. 実務例③:CSVとExcelを混在して統合する
    1. CSVもExcelもまとめて読み込む
    2. 解説
  11. Excel統合を業務で設計するときの視点
    1. 統合の目的を明確にする
    2. ファイル名・シート名を残す
    3. pandas.concat を使う
    4. ExcelWriter でレポート化

複数Excel統合は「大量のファイルを一瞬でまとめ、分析可能な1つのデータに変換する」ための最強スキル

業務効率化を本気で考える人にとって、
複数Excelファイルの統合は“Pythonで最も効果が高い自動化” です。

毎日・毎週・毎月、次のような作業をしていませんか。

  • フォルダ内のExcelを1つずつ開いてコピペ
  • シートをまとめて1つのファイルに統合
  • 月別・店舗別・担当者別のデータを結合
  • CSVやExcelを大量に扱う業務

Pythonを使えば、
フォルダ内のExcelを一括読み込み → 統合 → 保存
まで完全自動化できます。

初心者でも理解できるように、例題を交えて丁寧に解説します。


複数Excel統合の基本構造(最重要ポイント)

複数Excel統合は次の3ステップで構成されます。

読み込み(pandas)

フォルダ内のExcelを自動で読み込みます。

結合(concat)

複数ファイルを縦方向・横方向に結合します。

保存(to_excel)

統合したデータを1つのExcelに書き出します。

この3つを理解すれば、どんな統合処理でも作れます。


最も基本的な「複数Excelの縦方向統合」テンプレート

フォルダ内のExcelをすべて読み込み → 1つにまとめる

import pandas as pd
import glob

files = glob.glob("data/*.xlsx")

df_list = []

for file in files:
    df = pd.read_excel(file)
    df_list.append(df)

merged = pd.concat(df_list, ignore_index=True)

merged.to_excel("merged.xlsx", index=False)
Python

深掘りポイント

複数Excel統合の核は concat(結合) です。
ignore_index=True を付けることで、行番号がきれいに並びます。
glob を使うと「フォルダ内の全ファイル」を自動で取得できます。


ファイル名を列として追加する(どのファイルのデータか分かる)

統合後に「元ファイル名」を残す方法

import pandas as pd
import glob
import os

files = glob.glob("data/*.xlsx")
df_list = []

for file in files:
    df = pd.read_excel(file)
    df["元ファイル"] = os.path.basename(file)
    df_list.append(df)

merged = pd.concat(df_list, ignore_index=True)
merged.to_excel("merged_with_filename.xlsx", index=False)
Python

深掘りポイント

実務では「どの店舗のデータか」「どの担当者のファイルか」を残す必要があります。
ファイル名を列に追加することで、後から分析しやすくなります。


シート名ごとに統合する(複数シートをまとめたい場合)

全Excelの「売上」シートだけを統合する

files = glob.glob("data/*.xlsx")
df_list = []

for file in files:
    df = pd.read_excel(file, sheet_name="売上")
    df_list.append(df)

merged = pd.concat(df_list, ignore_index=True)
merged.to_excel("merged_sales.xlsx", index=False)
Python

深掘りポイント

複数シートを扱う場合は sheet_name を指定します。
毎月の売上シートをまとめる業務に最適です。


横方向(列方向)に統合するテンプレート

同じ行数のExcelを横に結合する

import pandas as pd

df1 = pd.read_excel("file1.xlsx")
df2 = pd.read_excel("file2.xlsx")

merged = pd.concat([df1, df2], axis=1)

merged.to_excel("merged_side.xlsx", index=False)
Python

深掘りポイント

axis=1 を指定すると「横方向」に結合できます。
部署別データを横に並べたい場合に使います。


Excelの複数シートに分けて保存する(レポート形式)

統合データを複数シートに出力

with pd.ExcelWriter("report.xlsx") as writer:
    merged.to_excel(writer, sheet_name="統合データ", index=False)
    summary = merged.groupby("商品")["売上"].sum()
    summary.to_excel(writer, sheet_name="商品別集計")
Python

深掘りポイント

ExcelWriter を使うと、1つのExcelに複数シートを作れます。
統合 → 集計 → レポート化 が一気にできます。


実務例①:店舗別売上ファイルを統合する

data/ フォルダに「店舗A.xlsx」「店舗B.xlsx」などがある場合

files = glob.glob("data/*.xlsx")
df_list = []

for file in files:
    df = pd.read_excel(file)
    df["店舗"] = os.path.basename(file).replace(".xlsx", "")
    df_list.append(df)

merged = pd.concat(df_list, ignore_index=True)
merged.to_excel("all_stores.xlsx", index=False)
Python

解説

店舗名を自動で追加することで、後から集計しやすくなります。


実務例②:毎月の売上ファイルを統合する(月次レポート用)

「2024-01.xlsx」「2024-02.xlsx」などを統合

df["月"] = os.path.basename(file).replace(".xlsx", "")
Python

この1行を追加するだけで、月別データが作れます。


実務例③:CSVとExcelを混在して統合する

CSVもExcelもまとめて読み込む

files = glob.glob("data/*")

df_list = []

for file in files:
    if file.endswith(".csv"):
        df = pd.read_csv(file)
    else:
        df = pd.read_excel(file)
    df_list.append(df)

merged = pd.concat(df_list, ignore_index=True)
merged.to_excel("merged_all.xlsx", index=False)
Python

解説

CSVとExcelが混在していても自動で統合できます。


Excel統合を業務で設計するときの視点

統合の目的を明確にする

月次レポート用なのか、KPI分析用なのかで構造が変わります。

ファイル名・シート名を残す

後から分析しやすくなります。

pandas.concat を使う

複数Excel統合の中心となる関数です。

ExcelWriter でレポート化

統合 → 集計 → レポートを1つのExcelにまとめられます。

タイトルとURLをコピーしました