毎月、売上明細から前月比の表を作っている。行数は200行ほど。日付の書き方は人によってバラバラで、商品名の表記も少しずつ違う。金額が空欄の行もある。それを目で確かめながら整えて、カテゴリごとに合計して、先月の数字と引き算する。かなりの時間がかかる作業を、毎月繰り返している。
この作業は、明細ファイルをそのままAIに渡すことで片づきました。214行のファイルで実際に試したところ、「集計して」とだけ頼んでも、きれいな表が返ってきます。汚れも勝手に直してくれました。
問題は、その「勝手に直してくれる」ところにあります。AIは指示していない判断をいくつか置いていて、その判断によってカテゴリ別の数字が最大10万円ずれました。しかも、返ってきた表を見ても、元データに何があったのかは分かりません。この記事では、実際に2回投げて何が起きたかを記録します。
使うファイル
架空の売上明細を用意しました。214行、2026年3月1日から6月29日までの4か月分です。列は日付・商品名・カテゴリ・数量・単価・金額・担当者の7つ。冒頭10行を載せます。
| データ行 | 日付 | 商品名 | カテゴリ | 数量 | 単価 | 金額 | 担当者 |
|---|---|---|---|---|---|---|---|
| 1 | 2026-03-01 | インクカートリッジ | OA消耗品 | 10 | 3200 | 32000 | 鈴木 |
| 2 | 2026-03-02 | ボールペン(黒)␣ | 文具 | 2 | 120 | -760 | 鈴木 |
| 3 | 2026/3/2 | 宅配便(60サイズ) | 配送 | 2 | 800 | (空欄) | 鈴木 |
| 4 | 2026-03-02 | 宅配便(60サイズ) | 配送 | 2 | 800 | 1600 | 伊藤 |
| 5 | 2026/3/2 | 卓上ライト | オフィス家具 | 10 | 5800 | 58000 | 田中 |
| 6 | 2026/3/3 | クリアファイル | 文具 | 5 | 90 | 450 | 田中 |
| 7 | 2026-03-03 | USBメモリ32GB | OA消耗品 | 3 | 1480 | 4440 | 田中 |
| 8 | 2026/3/3 | 卓上ライト | オフィス家具 | 12 | 5800 | 69500 | 鈴木 |
| 9 | 2026-03-04 | クリアファイル | 文具 | 1 | 90 | 90 | 伊藤 |
| 10 | 2026-03-05 | チェアマット | オフィス家具 | 1 | 4200 | 4200 | 鈴木 |
この10行だけでも、日付が3種類の書き方で混ざっています。データ3行目は金額が空欄、データ2行目は金額がマイナス、データ8行目は12×5,800=69,600のはずが69,500になっています。実際の明細もだいたいこんなものです。
なお、この記事では見出し行を除いた順番を「データ○行目」、Excelの行番号(見出し行を1とする)を「Excelの○行目」と書き分けます。上の表のデータ2行目は、Excelでは3行目にあたります。
まず「集計して」とだけ頼んでみる
ファイルを添付して、次の1行だけを送りました。汚れがあることも、どう扱ってほしいかも、一切伝えていません。
カテゴリ別に月次集計して前月比を出してください。
返ってきたのは、こういう表でした。
| カテゴリ | 2026年3月 | 4月 | 5月 | 6月 | 合計 |
|---|---|---|---|---|---|
| OA消耗品 | 321,500 | 284,300 | 630,960 | 410,240 | 1,647,000 |
| オフィス家具 | 535,600 | 211,200 | 236,200 | 174,000 | 1,157,000 |
| 配送 | 50,200 | 50,400 | 62,600 | 88,600 | 251,800 |
| 文具 | 17,370 | 14,310 | 19,590 | 20,880 | 72,150 |
| 合計 | 924,670 | 560,210 | 949,350 | 693,720 | 3,127,950 |
前月比(6月と5月の比較)も付いてきました。OA消耗品-35.0%(-220,720円)、オフィス家具-26.3%(-62,200円)、配送+41.5%(+26,000円)、文具+6.6%(+1,290円)。
きれいです。日付の書き方が4種類混ざっていたのに、月は正しく4つにまとまっています。「文具」と「文房具」の表記ゆれも統合されています。落ちた行はありません。それどころか、商品別の内訳や数量ベースの前月比まで付けてくれました。
AIは冒頭で、自分が何を直したかを表にして説明していました。
| AIが見つけた問題 | 該当 | AIの対応 |
|---|---|---|
| 「文具」と「文房具」が混在 | 51行 / 15行 | 文具に統合 |
| カテゴリが空白 | 7行 | 商品名から補完 |
| 金額が空欄 | 10行 | 数量×単価で計算 |
| 金額 ≠ 数量×単価 | 8行 | 数量×単価を採用 |
| 日付書式が4種類混在 | 133 / 43 / 23 / 15行 | 日付として正規化 |
| 商品名の表記ゆれ | 7商品 | 名寄せ |
正直に言えば、想像していたより優秀でした。壊れると思っていたのですが、壊れませんでした。
ただし、勝手に決めていることがある
上の表の4行目と2行目を、もう一度見てください。
判断1:金額が合わない8行を、計算値で上書きした
金額欄の数字が「数量×単価」と合わない行が8つありました。AIはこれを、すべて数量×単価の値に置き換えて集計しています。
その根拠として、AIは「全11商品の単価は214行すべてで一定(例:トナーカートリッジは全16行が8,900円)」という調査結果を示していました。単価が一定なら、数量×単価のほうが正しく、金額欄が打ち間違いだ、という理屈です。雑な判断ではありません。
ただし同じ回答の末尾で、AIはこう書いていました。
マイナス金額2件(行3・行75)の意味 — 返品であれば数量もマイナスになるはずですが、どちらも数量は正(2個、5個)です。単なる入力ミスと判断して数量×単価に置き換えましたが、返品処理の意図があればご指摘ください。
つまりAI自身も確信していません。それでも集計は上書き済みで進んでいます。
判断2:カテゴリが空欄の7行を、商品名から振り分けた
カテゴリ列が空欄の行が7つありました。AIは商品名を見て、USBメモリならOA消耗品、チェアマットならオフィス家具、という具合に振り分けています。
これも合理的です。実際、その7行の商品はすべて他の行でカテゴリが判明しています。
この2つの判断で、数字がずれる
同じファイルに、扱い方を指定した指示文を渡して、もう一度集計させました(指示文は後で全文を載せます)。指定したのは次の2点です。
- 金額が合わない行は上書きせず、金額欄の値のまま集計して、別表で一覧にする
- カテゴリが空欄の行は捨てずに「(不明)」としてまとめる
2回の結果を並べます。4か月の合計金額です。
| カテゴリ | 1回目(おまかせ) | 2回目(指定あり) | 差 |
|---|---|---|---|
| OA消耗品 | 1,647,000 | 1,603,600 | +43,400 |
| オフィス家具 | 1,157,000 | 1,122,600 | +34,400 |
| 配送 | 251,800 | 229,700 | +22,100 |
| 文具 | 72,150 | 70,250 | +1,900 |
| (不明) | 0 | 100,600 | -100,600 |
| 合計 | 3,127,950 | 3,126,750 | +1,200 |
全体の合計は1,200円しか違いません。8行の上書きによる差です。
しかしカテゴリ単位では、最大100,600円ずれています。この差は、2つの判断がそれぞれ別に効いた結果です。内訳を分けるとこうなります。
| カテゴリ | 判断2(振り分け)の分 | 判断1(上書き)の分 | 差の合計 |
|---|---|---|---|
| OA消耗品 | 44,400 | -1,000 | +43,400 |
| オフィス家具 | 34,200 | +200 | +34,400 |
| 配送 | 22,000 | +100 | +22,100 |
| 文具 | 0 | +1,900 | +1,900 |
OA消耗品・オフィス家具・配送の差は、ほとんどが振り分けによるものです。カテゴリが空欄だった行が、それぞれのカテゴリに入りました。
文具だけは違います。振り分けられた行は1つもなく、+1,900円は全額が金額の上書きによるものです。文具に含まれる3行(ボールペン2行とA4コピー用紙1行)が上書きされたためで、カテゴリの振り分けとは無関係に生じています。
2つの判断は、別々のところで別々に数字を動かしています。片方だけを見ていても、ずれの全体は分かりません。
どちらが「正しい」わけでもありません。1回目はAIが選んだ前提の上に立っていて、2回目はこちらが選んだ前提の上に立っている、というだけです。
いちばん困るのは、事実が見えなくなること
1回目の表をもう一度見てください。カテゴリは4行しかありません。
この表を見ても、カテゴリ列に7行の入力漏れがあったことは分かりません。金額にして100,600円分です。AIが親切に振り分けてくれた結果、データに欠けがあった事実そのものが表から消えました。
2回目では「(不明)」という行が残るので、7行の入力漏れがあることが一目で分かります。そして「(不明)」が5月に50,000円あることも見えます。これは売上の傾向ではなく、5月に入力漏れが多かったという意味です。
毎月この集計を続けるなら、入力漏れが増えているのか減っているのかは知っておきたい情報です。振り分けられてしまうと、それが分かりません。
指示文で、判断の置き場所を決める
2回目に使った指示文の全文です。ファイルを添付して、そのまま貼ってください。
添付の売上明細から、カテゴリ別の月次売上と前月比の表を作ってください。
【出力してほしい表】
- 行:カテゴリ
- 列:月(YYYY-MM)ごとの売上金額合計、最後に「前月比(増減額)」と「前月比(増減率%)」
- 並び順:増減額の絶対値が大きい順
- 増減率は小数第1位まで
【データの扱い方(重要)】
1. カテゴリの表記ゆれは同じものとしてまとめてください。
例:「文具」と「文房具」は同じ。全角と半角の違いも同じ扱いにしてください。
2. 日付の書き方が混在しています。次のすべてを同じ月として扱ってください。
・Excelの日付形式 ・2026/5/12 ・2026年5月12日 ・2026/5/12(全角)
3. 金額が空欄の行があります。「数量 × 単価」で計算して埋めてください。
4. 金額欄の数字が「数量 × 単価」と一致しない行があります。
金額欄の値を勝手に書き換えないでください。
集計には金額欄の値をそのまま使い、該当行を別表で一覧にしてください。
(行番号・商品名・数量・単価・金額欄の値・数量×単価・差額)
5. カテゴリが空欄の行は捨てずに「(不明)」としてまとめてください。
【最後に必ず書いてほしいこと】
- 明細全体の金額合計と、集計表の合計が一致しているか
- 一致しない場合はその差額と、原因として考えられること
結果です。増減率は(6月−5月)÷5月×100で計算しています。
| カテゴリ | 2026-03 | 2026-04 | 2026-05 | 2026-06 | 増減額 | 増減率 |
|---|---|---|---|---|---|---|
| OA消耗品 | 306,700 | 285,300 | 601,360 | 410,240 | -191,120 | -31.8% |
| オフィス家具 | 535,400 | 193,800 | 227,800 | 165,600 | -62,200 | -27.3% |
| (不明) | 14,800 | 17,400 | 50,000 | 18,400 | -31,600 | -63.2% |
| 配送 | 50,200 | 50,300 | 50,600 | 78,600 | +28,000 | +55.3% |
| 文具 | 16,370 | 13,310 | 19,690 | 20,880 | +1,190 | +6.0% |
指示した5つの条件は、それぞれ次の意味を持っています。
| 条件 | 指定しないとどうなるか |
|---|---|
| 1 表記ゆれをまとめる | AIが統合するかどうかを自分で決める |
| 2 日付形式を列挙する | 同上(今回は自力で正規化した) |
| 3 空欄を数量×単価で補う | 同上(今回は自力で補完した) |
| 4 不一致は上書きせず報告 | 今回の1回目では上書きされた。合計が変わる |
| 5 カテゴリ空欄を「(不明)」に | 今回の1回目では振り分けられた。入力漏れが見えなくなる |
| 最後の検算 | 合計が合っているか自分で確かめる必要がある |
1〜3は、今回のAIは指定しなくても同じことをしました。重要なのは4と5です。ここが、こちらの意図と逆に処理されていた部分です。
ここに書いた「指定しないとどうなるか」は、あくまで今回1回ずつ試した結果です。毎回そうなるとは限りません。むしろ、実行するたびに違う判断を置く可能性があるからこそ、譲れないところは書いておく、という位置づけになります。
検算も返ってきました。明細全体の合計3,126,750円に対して、集計表の合計も3,126,750円。一致しています。
ただし合計が一致することは、間違いがないことの証明にはなりません。プラスの誤りとマイナスの誤りが打ち消し合えば、合計は合ってしまいます。「合計が合わなければ何かがおかしい」と気づくための道具であって、それ以上のものではありません。
あわせて、金額が空欄だった10行を数量×単価で補った額も報告されました。合計140,560円です。明細全体の4.5%にあたるので、もしこの10行が黙って落ちていたら、それなりの影響が出ていました。
ここから先は人が見る
指示の条件4で出させた「要確認」の一覧です。行番号はExcelの行番号です。
| Excel行 | 商品名 | 数量 | 単価 | 金額欄 | 数量×単価 | 差額 |
|---|---|---|---|---|---|---|
| 3 | ボールペン(黒) | 2 | 120 | -760 | 240 | -1,000 |
| 9 | 卓上ライト | 12 | 5,800 | 69,500 | 69,600 | -100 |
| 24 | 卓上ライト | 2 | 5,800 | 11,500 | 11,600 | -100 |
| 66 | USBメモリ32GB | 1 | 1,480 | 1,580 | 1,480 | +100 |
| 75 | クリアーファイル | 5 | 90 | -550 | 450 | -1,000 |
| 106 | USBメモリ32GB | 5 | 1,480 | 8,300 | 7,400 | +900 |
| 111 | 宅配便(60サイズ) | 10 | 800 | 7,900 | 8,000 | -100 |
| 126 | A4コピー用紙 | 1 | 480 | 580 | 480 | +100 |
差額の合計は-1,200円です。±100円の差は打ち間違いに見えます。ただしExcelの3行目と75行目は金額がマイナスで、これが入力ミスなのか返品なのかは、明細を見るだけでは決められません。
この2行について、2回のAIは違う態度を取りました。ここが一番はっきり分かれたところです。
| 述べたこと | 取った行動 | |
|---|---|---|
| 1回目(おまかせ) | 「単なる入力ミスと判断して数量×単価に置き換えましたが、返品処理の意図があればご指摘ください」 | 判断して上書きし、あとから確認を求めた |
| 2回目(指定あり) | 「返品処理なのか入力ミスなのか、明細だけでは判断できません」 | 判断せず、金額欄のまま残した |
1回目は「判断できない」とは言っていません。入力ミスだと判断したうえで先に進み、確認を求めたのは後からです。回答の末尾まで読まなければ、上書きされたことに気づけません。
2回目が判断を保留したのは、指示文で「書き換えないでください」と書いてあったからです。判断できないものを判断させないために、この1行を入れています。
指示すればいい、という話でもない
ここまで読むと「最初から細かく指示すればいい」と思えますが、そう単純でもありませんでした。
おまかせで投げた1回目のほうが、頼んでいない指摘が多く返ってきました。
- 3月2日の宅配便(60サイズ) 2個×800円が2行あり、担当者だけが違う。別々の受注か二重入力か判断できない
- 6月だけ月末(6月30日)の明細がない。3〜5月は月末まである。休業なのかデータ未入力なのか
- 担当者が空欄の13行のうち、2行は84,000円と178,000円の高額
どれも指示していません。2回目は指示した5条件をきちんと守った代わりに、出力が指示の範囲に収まりました。
逆に2回目でしか出てこなかった指摘もあります。「文房具」を統合しない場合、文具の売上は5月16,090円から6月8,280円へ減少しますが、統合すると+1,190円の増加に転じる。統合という判断が結論を反転させている、という指摘です。
実務的には、最初はおまかせで投げて何を指摘してくるか見る、次に条件を固めて数字を確定させる、という二段構えが現実的だと感じました。
この方法が使えないとき
| 条件 | 理由 |
|---|---|
| 行数が非常に多い | 今回試したのは214行で、問題なく通りました。どこまでの行数が通るかは試していません。AIには添付できるサイズと処理量に上限があるので、大きなファイルでは確認しながら進めてください |
| 表記ゆれの対応を人が決められない | 「文具=文房具」は本来こちらが判断すべきものです。今回のAIは自分で統合しましたが、本来別物のカテゴリでも同じことをする可能性があります |
| 1シートに複数の表が入っている | 今回は1シートに1つの表という前提です。小計行やメモ行が混ざっている場合は別の対処が要ります |
| 毎月同じ結果を再現したい | おまかせだと、AIがどう補正するかが実行ごとに変わりえます。指示文で条件を固定すれば再現性は上がりますが、同じ指示文で何度も試したわけではないので、完全に同じ結果になる保証まではありません |
| 定期的に自動で回したい | 毎回チャットに貼り直す手間は残ります。スクリプト(自動処理する小さなプログラム)にするほうが向いています |
| 金額の正誤を判定したい | 返品か入力ミスかは、機械には決められません |
今回使ったのは Claude(Opus 5)です。他のAIサービスで同じ結果になる保証はありません。むしろこの記事の趣旨からすると、サービスやバージョンが違えば置く判断も変わると考えたほうが自然です。だからこそ、譲れない条件は指示文に書いておくことになります。
送る前に確認すること
売上明細には、社外に出せない情報が入っていることがよくあります。AIサービスにファイルを送るのは、社外にデータを出すことです。勤務先によっては、規定で禁止されています。試す前に、自分の職場のルールを確認してください。
送る前に確認したい項目を挙げます。
- 顧客名・取引先名
- 担当者名(今回の例にも入っています)
- メールアドレス・電話番号・住所
- 備考欄(自由入力なので何が書かれているか分からない)
- 非表示の列・行、別シート、隠しシート
- ファイルのプロパティに残っている作成者名
確認が取れない場合は、必要な列だけを別ファイルにコピーしてから渡す方法があります。今回の集計は日付・カテゴリ・数量・単価・金額があれば成立するので、名前の列は無くても困りません。
まとめ
214行の売上明細から前月比の表を作る作業は、ファイルを渡して指示文を貼るだけで片づきました。日付の書き方が4種類混ざっていても、AIは自分で揃えてくれます。
ただし、おまかせにするとAIが勝手に前提を置きます。今回は金額の合わない8行を上書きし、カテゴリ空欄の7行を振り分けました。どちらも筋の通った判断でしたが、こちらの意図とは逆で、カテゴリ別の数字が最大100,600円ずれました。そして振り分けられた結果、入力漏れが7行あった事実が表から消えました。
指示文に書くべきなのは、AIができないことではなく、こちらが決めたいことです。何を直していいか、何は触らずに報告してほしいか。それを書いておけば、返ってきた数字がどの前提の上に立っているかを自分で把握できます。
なお、明細を作る段階で日付形式やカテゴリ名が揃っていれば、指示文はもっと短くて済みます。表の作り方を整えておくことは、この方法と対立しません。組み合わせると手間がさらに減ります。

