AIでExcelデータを分析する方法:集計を確かめてグラフとレポートを作る
12行のサンプルExcelをOfox Chatで分析。重複・欠損・文字列の数値を整理し、合計と平均の分母を検算して、生成されたグラフとレポートを確認します。
ExcelをAIで分析するときは、ファイルのコピーを渡し、最初にシート構成とデータの問題を確認させます。重複や欠損の扱いを決めてから、集計、グラフ、レポートを依頼してください。見栄えのよいグラフが出ても、元の行数や金額と一致するまでは仕事の資料として使わない、という進め方です。
この記事では、Ofox Chatに重複行、空欄の地域、未確定金額、文字列の数値を含む売上表を渡します。同じサンプルをダウンロードして操作を試し、本文の正解値と照合できます。
本記事の発行元はOfoxです。2026年11月3日、日本語画面の「バランス」設定で実行しました。入力は英語の合成データで、顧客の実例ではありません。画面上の設定名から、内部で使われる特定のモデルを断定することはできません。少数行の検証結果であり、大規模ファイル、マクロ、外部参照、Excelの全機能を検証したものではありません。
検算できるサンプルを用意する
サンプルExcelをダウンロードしてください。Salesシートには次の12行があり、Notesシートには処理ルールが書かれています。金額はユーロ建ての売上です。原価や期間別の履歴はないため、利益や成長率は計算できません。
| ID | 地域 | 金額(EUR) |
|---|---|---|
| 00001 | East | 120 |
| 00002 | West | 80 |
| 00003 | East | 100 |
| 00004 | West | 150 |
| 00005 | East | 50 |
| 00006 | West | 200 |
| 00007 | East | 90 |
| 00008 | West | 110 |
| 00008 | West | 110 |
| 00009 | East | pending(未確定) |
| 00010 | 空欄 | 70 |
| 00011 | East | 文字列の「130」 |
元ファイルは変更せず残します。自分のデータを使うときは、1行が注文、請求書、顧客、明細のどれを表すかを先に決めてください。同じ注文に複数の明細があるなら、同じIDの行を一律に削除すると正しい売上まで失います。この例では、全項目が完全に一致する行だけを除外します。同じIDで値が違う行は、削除せず確認対象にします。
アップロードするのは、そのサービスで処理する権限がある情報に限ります。新しい手順を試す段階では、少量の匿名化したコピーを使うと確認しやすくなります。この例に顧客名、認証情報、非公開の売上履歴は不要です。
ファイルを添付し、必要な成果物を指定する
Ofox Chatで新しいチャットを開き、入力欄の「追加」→「ローカルファイルをアップロード」を選びます。Excelを選択したら、送信前にファイル名が添付欄に表示されていることを確認してください。添付できたことと、全シートが読まれたことは別です。
レポートの言語も指示に含めます。画面の言語はアカウントメニューから変更できます。今回のブラウザ操作ではAPIキーや連携プログラムは使っていません。利用条件は現在のサービス表示で確認してください。無料・無制限での実行を前提にした手順ではありません。
次のテンプレートは、実際に送った日本語の指示を読みやすく整理したものです。実測時の原文には不自然な「清洗済み」という表現があり、ここでは「整理済み」に直しています。原文の逐語引用ではありません。
添付したExcelを分析してください。
1. 全シート名、見出しを除くSalesの行数、列名、欠損値と重複を報告し、
Notesシートのルールを確認してください。
2. IDの先頭のゼロを保持してください。完全に同一の行だけを除外し、
同じIDで値が違う場合は削除せず確認対象にしてください。
3. 未確定の金額を0に置き換えず、地域の空欄はUnknownとして残してください。
数値に変換した文字列と変更したセルを記録してください。
4. 整理後の件数、金額を集計できる件数、合計、平均の分母、地域別合計を示してください。
5. 整理済みデータ、変更履歴、地域別集計とグラフを含むExcelと、短いレポートを作成してください。
6. 読み取れなかった部分と判断できない事項を明記してください。
実際に作成したファイルのダウンロードを提供し、未完成のものを完成済みと表現しないでください。
大きな表や内容を把握していない表では、2段階に分けます。まずシート一覧と処理案だけを出させ、人が確認してから整理を実行します。今回の小さなサンプルはNotesにルールがあるため、1回の指示で一連の作業を依頼しました。
結論を読む前に、整理の内容を確認する
実際の回答は、SalesとNotesの2シート、入力12行、完全同一の重複1行、地域の空欄1行、未確定金額1行を認識しました。Sales!C13の文字列「130」を数値130に変換したことも記録しています。重複した 00008 / West / 110 は先の行を残し、後の同一行だけを除外しました。
| 確認項目 | 正解値 | 確認する理由 |
|---|---|---|
| 入力データ行数 | 12 | 見出しは数えない |
| 除外した完全同一の重複 | 1 | 同じ00008の行だけを除外 |
| 整理後のレコード数 | 11 | 未確定金額の行も残す |
| 金額が確定している件数 | 10 | 平均の分母になる |
| 未確定金額の件数 | 1 | 不明を0にしない |
| 確定分の売上合計 | 1,100 EUR | pendingは金額集計から除く |
| 確定金額の平均 | 110 EUR | 1,100÷10 |
平均が100になった場合は、11行を分母にしていないかを調べます。未確定金額を実質的に0として扱うと、この数字になります。一方、pendingの行自体を削除してしまうと、後から確認すべき取引が見えなくなります。
IDは 00001 のような文字列で残します。数値を5桁表示にしたセルは見た目が同じでも、別システムへ渡すと違う値として扱われることがあります。他のファイルとの照合に使うなら、表示だけでなく保存された値と型も確認してください。
地域別グラフを合計と照合する
回答の地域別合計はEastが490、Westが540、Unknownが70でした。AIを使わなくても次の式で検算できます。
East:120 + 100 + 50 + 90 + 130 = 490
West:80 + 150 + 200 + 110 = 540
Unknown:70
合計:490 + 540 + 70 = 1,100
Eastは整理後6件ですが、金額が確定しているのは5件です。Westは4件、Unknownは1件です。Unknownを除いたグラフなら合計は1,030 EURになるため、除外した範囲を明記する必要があります。除外しない場合は、グラフの各地域を足した数字が1,100 EURと一致しなければなりません。

この結果から言えるのは、確定分ではWestの売上が最も大きいということです。Eastには未確定金額があるため、最終順位は決められません。また、利益率、顧客数、目標、前期のデータはないので、地域の総合的な優劣は判断できません。実際の回答も、この限界を残していました。
生成ファイルを開いて確認する
この実行では、sales_cleaned.xlsx、regional_sales.png、sales_report.pdf が生成され、ダウンロードできました。ファイルカードは成果物が提供されていることを示しますが、中身の検査は別に必要です。
ダウンロードしたExcelには8つのシートがありました。中身を検査し、元の12行、整理後11行、変更履歴、重複の記録、地域別集計を確認しました。11個のIDは先頭のゼロを含む文字列でした。00009 の金額は0ではなく空欄で、未確定の状態が記録され、00010 の70 EURもUnknownに残っていました。グラフオブジェクトの参照先は3地域の集計で、合計行を重ねて数える構造ではありません。
グラフ画像と2ページのPDFレポートも確認し、金額や集計条件が一致していること、明らかな文字欠けや切れがないことを確認しました。ただし、ExcelやWPSのネイティブアプリでの表示や編集操作は検証していません。
今回の実際の成果物は、整理済みExcel、地域別グラフ画像、2ページのPDFレポートからダウンロードできます。
自分の結果でも、整理済みデータ、元データ、変更履歴、地域別集計を開いて照合します。グラフがセルを覆っていないかも確認してください。日本語やキリル文字を使うレポートでは、全ページの文字欠けや読めないラベルを調べます。
今回のExcelは数式を含まない静的な集計結果です。 元データを書き換えても集計が自動更新される月次管理表ではありません。グラフが集計セルを参照していることも、元データからの自動再計算を保証しません。
繰り返し使う管理表が必要なら、どの計算を数式にするかを別途指定します。コピー上で入力値を1つ変え、集計とグラフが想定どおり追随するかを確認し、テスト値を元に戻してから運用してください。今回のダウンロード成功を、その動作の検証結果として扱わないことが大切です。
数字や成果物がおかしいときの直し方
| 症状 | 次に確認・依頼すること |
|---|---|
| 行数が少ない | 全シート名、読んだ範囲、除外した行と理由を出させて元表と照合する |
| 合計が大きすぎる | 完全重複と、小計行の二重計上を調べる |
| IDの先頭のゼロが消える | 文字列として取り込ませ、保存後の値も確認する |
| 平均が想定より低い | 金額が数値の件数と平均の分母、不明値を0にしていないかを確認する |
| 地域が消える | 空欄をUnknownとして残し、地域合計を全体合計に合わせる |
| 完成と言われたがダウンロードできない | 実在する生成ファイル名と添付を求める。コードだけを完成品にしない |
| 一部を直すと別の数値も変わる | 変更前後の一覧を求め、元の検算をやり直す |
「もう一度」より、対象と正解条件を指定します。例えば「Unknownがありません。元データのID 00010は70 EURです。この行を残して地域別グラフを作り直し、各地域の合計を示してください」と依頼します。元の失敗結果も残すと、修正が効いたかを比較できます。
結合セルの様式、マクロ、保護されたシート、外部リンクは、それぞれコピーで検証してください。今回は、それらが編集後も維持されることを確かめていません。目的が分析だけなら、業務用の原本を大きく変更させず、別の分析用ファイルを作らせる方法が適しています。
確認した結果を次の仕事につなげる
Ofox Chatで最初に試すときは、1冊のブックと「正しい1行」の定義から始めてください。合計が合うことを確認した後で、レポートをプレゼンテーションの材料にできます。複数の資料から数字を拾う場合は、先に複数PDFを要約して出典を確かめる手順で、情報源と未確定事項を整理すると検算しやすくなります。モデル別の文書・スライド・表計算の指示例は、Sonnetのタスク別プロンプト集も参照してください。
このブラウザ操作を後からプログラムで実行する処理に発展させる場合は、Ofox APIドキュメントを参照してください。APIの設定は、この記事で紹介したChatの操作とは別の手順です。


