Python 業務自動化 | Excel業務自動化:Excel基本操作 - Excel分割

Python Python
スポンサーリンク
  1. Excel分割は「大きなExcelを条件ごとに自動で切り分け、管理しやすい小さなファイルに変換する」ための最強スキル
  2. Excel分割の基本構造(最重要ポイント)
    1. 読み込み(pandas)
    2. 条件ごとにグループ化(groupby)
    3. 保存(to_excel)
  3. 店舗ごとにExcelを分割する(最も基本的なテンプレート)
    1. 大きなExcel → 店舗別に自動で分割
    2. 深掘りポイント
  4. 担当者ごとにExcelを分割する(営業部でよく使う)
    1. 担当者列で分割
    2. 深掘りポイント
  5. 月別にExcelを分割する(経理・管理部でよく使う)
    1. 日付から月を抽出して分割
    2. 深掘りポイント
  6. シートごとに分割する(1つのExcel → 複数Excel)
    1. Excelの各シートを別ファイルに分割
    2. 深掘りポイント
  7. 行数で分割する(一定行ごとにファイルを分ける)
    1. 1000行ごとに分割する例
    2. 深掘りポイント
  8. 条件式で分割する(柔軟な分割が可能)
    1. 売上が10万円以上のデータだけを別ファイルに
    2. 深掘りポイント
  9. 実務例①:店舗別にフォルダを作って保存する
    1. フォルダを自動生成して分割保存
    2. 解説
  10. 実務例②:複数条件で分割(店舗 × 月)
    1. 店舗 × 月 の組み合わせで分割
    2. 解説
  11. 実務例③:分割後にテンプレートへ書き込む(帳票化)
    1. 分割 → テンプレートへ差し込み → 保存
    2. 解説
  12. Excel分割を業務で設計するときの視点
    1. 分割の基準を明確にする
    2. ファイル名に意味を持たせる
    3. groupby を中心に設計する
    4. テンプレートと組み合わせる

Excel分割は「大きなExcelを条件ごとに自動で切り分け、管理しやすい小さなファイルに変換する」ための最強スキル

業務効率化を本気で考える人にとって、
Excel分割(スプリット処理)は“Pythonで劇的に効率化できるExcel業務” です。

毎日の現場では、次のような作業が頻繁に発生します。

  • 店舗ごとにファイルを分けたい
  • 担当者ごとにExcelを分割したい
  • 月別にシートを分けたい
  • 大きなExcelを複数ファイルに自動で切り出したい

Pythonを使えば、
条件ごとに自動でExcelを分割 → 保存
まで完全自動化できます。

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


Excel分割の基本構造(最重要ポイント)

Excel分割は次の3ステップで構成されます。

読み込み(pandas)

大きなExcelを読み込みます。

条件ごとにグループ化(groupby)

店舗・担当者・月などで分割します。

保存(to_excel)

分割したデータを個別のExcelとして保存します。

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


店舗ごとにExcelを分割する(最も基本的なテンプレート)

大きなExcel → 店舗別に自動で分割

import pandas as pd

df = pd.read_excel("sales.xlsx")

groups = df.groupby("店舗")

for store, data in groups:
    filename = f"{store}.xlsx"
    data.to_excel(filename, index=False)
Python

深掘りポイント

groupby が Excel分割の中心です。
ループの中で store(店舗名)と data(その店舗のデータ)が取り出されます。
to_excel で自動的にファイルが作成されます。


担当者ごとにExcelを分割する(営業部でよく使う)

担当者列で分割

df = pd.read_excel("sales.xlsx")

groups = df.groupby("担当者")

for staff, data in groups:
    data.to_excel(f"{staff}_担当分.xlsx", index=False)
Python

深掘りポイント

営業部門では「担当者別の売上ファイル」がよく求められます。
担当者名をファイル名にすることで、管理しやすくなります。


月別にExcelを分割する(経理・管理部でよく使う)

日付から月を抽出して分割

df = pd.read_excel("sales.xlsx")
df["月"] = pd.to_datetime(df["日付"]).dt.month

groups = df.groupby("月")

for month, data in groups:
    data.to_excel(f"{month}月.xlsx", index=False)
Python

深掘りポイント

月次レポート作成の前処理として非常に便利です。
月列を作ることで、どんなデータでも月別に分割できます。


シートごとに分割する(1つのExcel → 複数Excel)

Excelの各シートを別ファイルに分割

import pandas as pd

xlsx = pd.ExcelFile("multi_sheet.xlsx")

for sheet in xlsx.sheet_names:
    df = pd.read_excel("multi_sheet.xlsx", sheet_name=sheet)
    df.to_excel(f"{sheet}.xlsx", index=False)
Python

深掘りポイント

ExcelFile を使うと、シート名一覧を取得できます。
シート単位での分割は、帳票管理でよく使われます。


行数で分割する(一定行ごとにファイルを分ける)

1000行ごとに分割する例

import math

df = pd.read_excel("bigdata.xlsx")
chunk_size = 1000
num_chunks = math.ceil(len(df) / chunk_size)

for i in range(num_chunks):
    start = i * chunk_size
    end = start + chunk_size
    df[start:end].to_excel(f"part_{i+1}.xlsx", index=False)
Python

深掘りポイント

大量データを扱うときに便利です。
Excelの行数制限(104万行)を超える場合にも使えます。


条件式で分割する(柔軟な分割が可能)

売上が10万円以上のデータだけを別ファイルに

df_high = df[df["売上"] >= 100000]
df_high.to_excel("高売上.xlsx", index=False)
Python

深掘りポイント

条件式を自由に書けるため、
「特定の条件に合うデータだけを抽出して保存」
という高度な分割ができます。


実務例①:店舗別にフォルダを作って保存する

フォルダを自動生成して分割保存

import os

df = pd.read_excel("sales.xlsx")

for store, data in df.groupby("店舗"):
    os.makedirs(store, exist_ok=True)
    data.to_excel(f"{store}/{store}.xlsx", index=False)
Python

解説

店舗ごとにフォルダを作ることで、管理が圧倒的に楽になります。


実務例②:複数条件で分割(店舗 × 月)

店舗 × 月 の組み合わせで分割

df["月"] = pd.to_datetime(df["日付"]).dt.month

groups = df.groupby(["店舗", "月"])

for (store, month), data in groups:
    data.to_excel(f"{store}_{month}月.xlsx", index=False)
Python

解説

複数条件での分割は、実務で非常に多いパターンです。


実務例③:分割後にテンプレートへ書き込む(帳票化)

分割 → テンプレートへ差し込み → 保存

from openpyxl import load_workbook

template = "template.xlsx"

for store, data in df.groupby("店舗"):
    wb = load_workbook(template)
    ws = wb["データ"]

    for r_idx, row in data.iterrows():
        ws.append(row.values.tolist())

    wb.save(f"{store}_帳票.xlsx")
Python

解説

分割したデータを帳票テンプレートに流し込むことで、
提出用のExcelを自動生成できます。


Excel分割を業務で設計するときの視点

分割の基準を明確にする

店舗・担当者・月・条件式など。

ファイル名に意味を持たせる

後から探しやすくなります。

groupby を中心に設計する

Excel分割の核となる処理です。

テンプレートと組み合わせる

分割 → 帳票化 → 保存 が自動化できます。

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