「毎月同じことをやっている」問題
多くの現場で見られるパターン:
- 基幹システムからCSVエクスポート
- ExcelにコピペしてVLOOKUP
- ピボットテーブルで集計
- 担当者がマクロを手動実行
- 確認・修正・再実行…
この作業、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マクロの読み解き・リライト