バラバラな形式の月次Excelを集計したいとき、AIに渡すべきは『項目の対応表』
バラバラな形式の月次Excelを集計したいとき、AIに渡すべきは『項目の対応表』。
バラバラな形式のExcelファイルを一つにまとめようとして、AIに「これ全部集計して」と丸投げしていませんか。もしそうなら、今すぐそのやり方を捨ててください。この記事では、AIにいきなりデータを渡すのではなく、まず「列の紐付けルール」を作らせることで、集計ミスを未然に防ぐ実務的な手順を伝えます。
「これ全部まとめて」が計算ミスを招く理由
「課長、各拠点の売上データが届いたんですけど、形式がバラバラで集計に時間がかかりそうです」
後輩の田島が、困ったような顔でチャットを送ってきた。ファイルは5つ。A拠点は「商品名」と「数量」、B拠点は「品目」と「個数」、C拠点は「SKU」と「単位」……。これを見て、私は「ChatGPTに全部放り込んで、一つの表にまとめさせればいいよ」と軽く返してしまった。
それが間違いだった。
AIは非常に賢いが、時として「気が利きすぎる」という欠点がある。例えば、あるファイルでは「売上」が「税抜き」で、別のファイルでは「税込み」だった場合、AIはそれを見抜けずに、ただ単に数字を足し合わせてしまう。あるいは、日付の形式が「2023/10/01」と「R5.10.1」で混在しているとき、無理やり解釈しようとしてデータが欠落することもある。
「AIが作った集計結果が、なぜか元データと合わない」
その事実に気づいたとき、私は自分が作り上げた「AIによる自動集計」という泥沼に、自らの手で足を踏み入れたことを悟った。結局、数字の整合性を確認するために手作業で1つずつセルを突き合わせる羽目になり、深夜のオフィスでコーヒーを飲み干すことになった。
AIにいきなりデータを統合させるのは、指示書も渡さずに新人に「いい感じにやっといて」と丸投げする部長と同じだ。必要なのは、集計させることではなく、集計するための「ルール」を先に確定させることである。
失敗から学んだ、AIへの「丸投げ」の境界線
私が経験した失敗のパターンは、以下の通りだ。
1. 形式の異なる複数のExcelファイルを、そのままAIのチャット欄にアップロードする。
2. 「これらを一つのフォーマットに統合して、合計を出して」と指示する。
3. AIが「それらしい」統合表を出力する。
4. 数値が数パーセント、あるいは桁数レベルでズレていることに気づく。
なぜこれが起きるのか。AIは、列の名前が違っていても、文脈から「これは同じ意味だろう」と推測して処理を進めてしまうからだ。しかし、実務における「推測」は、最も避けるべきリスクである。
「品目」と「商品名」は同じかもしれないが、「単価」と「販売価格」は、そこに含まれる消費税の有無が異なる可能性がある。この「微妙な違い」をAIに判断させるのではなく、人間が「この列とこの列は同じものとして扱う」という合意を、集計前に済ませておく必要がある。
列名のズレによる集計ミスを防ぐ「項目の対応表」作成フロー
正しいアプローチは、データを渡す前に「項目の対応表(マッピングテーブル)」をAIに作らせることだ。手順は以下の3ステップに集約される。
1. ヘッダー(列名)だけを抽出する: 各ファイルのデータ本体はいらない。1行目の項目名だけをコピーして、AIに渡す。列名だけで意味が判断できない場合は、伏せ字にしたサンプルを2〜3行添える。
2. 「対応表」を作らせる: AIに対し、バラバラな項目名を、自分が最終的に作りたい「マスターフォーマット」の項目名に紐付けるよう指示する。
3. 人間が検算する: AIが出してきた対応表を見て、「あ、この列は単価じゃなくて税込単価だ」といった齟齬がないかを確認する。
ここで、AIに作成させるべき「対応表」のイメージを共有しておく。
| マスターフォーマット(理想) | ファイルAの項目名 | ファイルBの項目名 | ファイルCの項目名 | 備考 |
|---|---|---|---|---|
| 日付 | 売上日 | Date | 日付 | YYYY/MM/DD形式に統一 |
| 商品コード | SKU | 商品番号 | コード | |
| 売上金額 | 金額(税込) | Sales | Amount | 税込であることを確認済み |
| 数量 | 個数 | Qty | 数量 |
この表が完成した段階で、体感だが、列の対応ミスによる手戻りはほぼなくなった。
コピペで使える、AIへの指示文プロンプト
では、具体的にどのように指示を出せばいいのか。以下のプロンプトをコピーして、自分の状況に合わせて書き換えて使ってほしい。
# 目的形式の異なる複数のExcelファイルを集計するために、項目の紐付けルール(対応表)を作成してください。
# 最終的に作成したいマスターフォーマットの項目名
- 日付
- 商品名
- 単価
- 数量
- 売上金額(税込)
# 各ファイルのヘッダー情報
【ファイルA】
日付, 品目名, 単価(税抜), 個数
【ファイルB】
売上日, 商品名, 販売価格, 数量
【ファイルC】
Date, SKU名, Price, Qty
# 出力形式
以下の形式のマークダウン表で出力してください。
| マスターフォーマット | ファイルA | ファイルB | ファイルC | 判定理由・注意点 |
| :--- | :--- | :--- | :--- | :--- |
# 注意事項
- 項目名が完全に一致していなくても、意味が同じであれば紐付けてください。
- 紐付けが不明瞭なもの、あるいは「税抜/税込」の違いなど、集計時に注意が必要な項目については「判定理由・注意点」に必ず記載してください。
このプロンプトの肝は、「データそのものを渡さないこと」と「注意点を書かせること」にある。これにより、AIはデータの加工ではなく、「ルールの構築」に集中できる。
「一括指示」か「工程分割」か、判断の基準
ここで、一つ迷う場面があるはずだ。「もっと手軽に、一気に全部やらせる方法はないのか?」と。
実務において、AIへの指示には大きく分けて2つの方法がある。
- 方法A:一括指示(All-in-one)
「これらのファイルを統合して集計して」と、データと指示を一度に投げる。
- 方法B:工程分割(Step-by-step)
今回紹介したように、「まず対応表を作らせる」→「人間が確認する」→「確認したルールに基づき集計させる」と、手順を分ける。
どちらを使うべきか。私の結論はシンプルだ。
「お金(金額)や在庫数に関わるデータなら、必ず方法B」。 「単なる名簿の整理や、テキストの分類なら、方法AでもOK」。スピードを優先して方法Aを選び、後で数字のズレに泣かされるのは、コストパフォーマンスが最悪だ。管理職やリーダーがAIを使う際、最も守るべきは「作業の速さ」ではなく「出力の信頼性」である。
社内データを渡すときの「身を守る」伏せ字ルール
AIを使う上で、避けて通れないのがセキュリティの問題だ。情シスの及川さんに「AIに社外秘データを入れてないだろうな?」と睨まれないために、データを渡す前には必ず「伏せ字」の処理を行ってほしい。
ヘッダー(項目名)を抽出して渡す場合はリスクは低いが、もし万が一、サンプルデータとして数行のデータも一緒に渡す必要がある場合は、以下のルールを徹底すること。
1. 固有名詞の置換: 「株式会社〇〇」は「クライアントA」、「田中太郎」は「担当者1」とする。
2. 金額のスケール変更: 正確な「1,234,567円」をそのまま渡さない。すべてを10倍にするか、あるいは「123万円」のように端数を切り捨てた状態で渡す。
3. 日付の抽象化: 特定の取引日がバレるのを防ぐため、「2023/10/15」を「2099/01/01」のようなダミー日付に置き換える。
これらは、手間を惜しんで行うと、AIが「日付の形式」を正しく認識できなくなるという副作用もある。基本的には、ヘッダー情報(項目名)だけで指示を完結させるのが、最もスマートで安全なやり方だ。
さて、まずは手元にあるバラバラなファイルの1行目だけを、メモ帳にまとめてみるところから始めてみてはどうだろう。