ブログ一覧へ
AI業務自動化

CSV集計を毎月手作業している会社が見直すべきこと

月次CSV集計業務の属人化・ミスを解消するための自動化アプローチと技術選定を解説します。

2026-05-18AI業務自動化

「毎月同じことをやっている」問題

多くの現場で見られるパターン:

  1. 基幹システムからCSVエクスポート
  2. ExcelにコピペしてVLOOKUP
  3. ピボットテーブルで集計
  4. 担当者がマクロを手動実行
  5. 確認・修正・再実行…

この作業、1人しかできないことがほとんどです。

属人化が引き起こすリスク

  • 担当者が不在だと業務が止まる
  • 手順書がなく、引き継ぎが困難
  • マクロの中身を誰も理解していない
  • エラーが出ても原因がわからない

自動化への移行パターン

ステップ1:処理の文書化

まず「何をどの順番でやっているか」を言語化します。

1. sales_YYYYMM.csv を読み込む
2. 「キャンセル」ステータスの行を除外する
3. 取引先コードで集計し、売上合計・件数を算出
4. 前月比を計算する
5. 売上上位20社を抜き出す
6. Excel形式で output_YYYYMM.xlsx を出力する

ステップ2:Pythonスクリプト化

文書化した手順をPythonに落とし込みます。

import pandas as pd
from pathlib import Path
import sys

def process_monthly_csv(input_path: str, output_path: str):
    df = pd.read_csv(input_path, encoding='shift-jis')
    
    # ステップ2:キャンセル除外
    df = df[df['ステータス'] != 'キャンセル']
    
    # ステップ3:取引先別集計
    summary = df.groupby('取引先コード').agg(
        売上合計=('売上金額', 'sum'),
        件数=('売上金額', 'count')
    ).reset_index()
    
    # ステップ5:上位20社
    top20 = summary.nlargest(20, '売上合計')
    
    # ステップ6:出力
    with pd.ExcelWriter(output_path) as writer:
        top20.to_excel(writer, index=False)
    
    return len(df), len(top20)

if __name__ == '__main__':
    input_file = sys.argv[1]
    output_file = sys.argv[2]
    rows, top = process_monthly_csv(input_file, output_file)
    print(f"処理完了: {rows}件 → 上位{top}社")

ステップ3:実行の自動化

スクリプトができたら、次は「誰でも実行できる」仕組みを作ります。

  • 社内ツール化:シンプルなWebUIをかぶせる
  • スケジュール実行:毎月1日に自動実行
  • AIアシスト:日本語で指示できるUIを追加

どこから始めるか

すべてを一度に自動化しようとすると失敗します。 まず「最も繰り返し頻度が高い1つの処理」を選び、そこだけを自動化する。

それが動いたら次へ——この積み上げが重要です。

SOFTBASEでできること

  • 既存のCSV処理をPythonスクリプト化(受託開発)
  • AIで自然言語から処理を実行できるWebツール化
  • 既存Excelマクロの読み解き・リライト

ご意見・お問い合わせ

記事の内容についてご質問・ご意見はお気軽に。

サービス改善のためCookieを使用しています。プライバシーポリシー