Kon's DX Lab - Case Study

Day 63|属人化からの脱却へ──CSV変換×照合のStreamlitツールを作っただけじゃ終わらせない

Published on 2025-06-03

🔬 Case Study Summary
Problem

(ここに課題を記述)

Result

(ここに具体的な成果を記述)


Tech & Process

(ここに採用技術とプロセスを記述) コードを詳しく見る »

こんにちは、こんです。

今回は「CSVデータをExcelのマスタ情報で自動変換し、照合・検証も自動化するツール」をStreamlitで作った記録です。

……だけでは終わりません。

この開発は、単なる“業務効率化”ではなく、属人化を生み出してしまった構造課題にメスを入れる取り組みの一歩目でもありました。


実験のきっかけ:なぜ属人化は生まれたのか?

こんなこと、ありませんか?

  • 特定のツール(たとえば、Excelのマクロ、桐の道具箱)に依存しすぎて、案件ごとのバラつきに柔軟に対応できない

  • 案件ごとに都度ルールやフォーマットが違い、誰かの手作業に頼るしかない

  • 運用ルールを定めずに場当たり的に対応し続けた結果、属人化が深刻化していく

実際、今回のケースでもこういった構造的な問題が顕在化していました:

桐の一括処理機能で構築したEC受注フローが、1案件に最適化されすぎており、類似案件でWMS取込エラーが発生。
結果として、入力前のCSVを手動加工したり、出力後にPythonで変換したりと、場当たり的な対応に追われることに……


作ってみたもの(Streamlitツールの概要)

  • ✅ CSVの「品番」から当選物コードを抽出し、Excelマスタに基づいて一括変換

  • ✅ 変換前/後の品番を一覧表示し、人の目でも検証可能に

  • ✅ 行数、ユニーク品番数、件数差分なども自動チェック

  • ✅ マスタの不整合(例:一対多の誤登録)も検知

  • ✅ 変換後CSVは文字化けしないANSI形式、ファイル名も元CSVに自動連動


実感したメリット

1. 「一括変換+チェック」が属人化を断ち切る鍵になる

「変換できたか」だけでなく、「なぜ変換できなかったか」「何件ずれているのか」まで可視化された検証結果は、
業務共有・委託・引継ぎにおいて非常に効果的でした。

2. 「WMS取込エラー」が未然に防げるようになった

人の記憶や経験に頼らず、マスタ不整合や重複登録の検知が可能になったことで、
事前チェック→出荷エラーの回避が可能に。

3. 作っただけで終わらせない覚悟ができた

本来やるべきだったのは「桐の再構築」や「運用ルールの整備」。
今回のStreamlit開発は、その反省から始まった“第一歩”に過ぎません。


実際の画面イメージ

  • 【ファイルアップロード】:CSVとExcelマスタをドラッグ&ドロップ

  • 【変換一覧】:当選物コード/品番の変換内容を全件表示

  • 【検証結果】:未変換/重複/件数不一致などを一目でチェック

  • 【ダウンロード】:元ファイル名を引き継ぎ、cp932で保存(WMS用インポート対応)


次回予告:属人化を防ぐ「運用ルールと汎用ツール」の設計手法

今回はツールの紹介にとどめましたが、次回以降は以下にフォーカスする予定です:

  • ステップ1:マスタ設計のルール化(例:一対一の対応が原則)

  • ステップ2:案件別要件の変換テンプレート化

  • ステップ3:桐を含む周辺システムとの柔軟な連携戦略

「属人化から抜け出すにはどうすればいい?」
と感じている方にとって、ヒントになると思います。


まとめ:技術は“構造の問題”を解決する入口でしかない

今回のStreamlitツール開発は、単なる“作業効率化”ではなく、
なぜ属人化が起きたのか?」「どうすれば再発しないか?」を考え直すきっかけになりました。

属人化は、偶然ではなく“ルールを決めなかった結果”として必然的に起こるもの。

だからこそ、技術×運用設計で“再現性のある仕組み”に変えていきたいと思います。

それでは、また次の実験で!🦊


#業務改善 #Streamlit #DX推進 #属人化対策 #Pythonで仕組み化 #桐 #データ変換