1

Excel AI Agent

Test Evidence Report

Contents

2

1 Introduction

The Excel AI Agent is a single-page web application that allows users to upload an Excel workbook (.xlsx), converse with an AI assistant about its contents, and apply safe cell edits through natural language. The agent can:

Tests were executed against sample_workbook.xlsx, a four-sheet demo file containing quarterly sales data, employee compensation records, inventory cost analysis, and a budget-variance report.

2 Test Methodology

Each test case follows the same workflow:

  1. Load — Upload sample_workbook.xlsx into the application.
  2. Before — Capture a screenshot of the relevant view (chat, spreadsheet grid, or structure panel) before sending the prompt.
  3. Prompt — Send a natural-language question or edit instruction to the AI via the chat interface.
  4. After — Capture a screenshot showing the verified outcome: an AI explanation in chat, an edited cell highlighted in the grid, or an export confirmation in the audit log.
  5. Verify — Confirm the result programmatically (keyword checks for analysis tests; cell-value checks for edit tests; file inspection for export).
Table 1: Test suite overview
#Test NameCategoryPrompt Summary
1Structure summaryAnalysisSummarize full workbook structure
2Formula explanationAnalysisExplain formula in H10, Sales Dashboard
3Cross-sheet linksAnalysisTrace all cross-sheet dependencies
4Nested IFAnalysisExplain Status formula in Budget vs Actual
5Safe editEditSet tax rate in B4 to 0.32
6DATEDIF formulaAnalysisExplain Years of Service formula in column I
7Data questionAnalysisIdentify products flagged for reorder
8Edit + verifyEditChange Marcus Johnson's bonus to 25%
9Error checkAnalysisFind potential errors and data issues
10ExportExportExport workbook and verify _AuditLog

Final score: 10 / 10 tests passed.

3

3 Test Evidence

3.1 Test 01: Structure Summary

Category: AnalysisResult: PASS

Prompt:

Summarize the full structure of this workbook

Purpose: The agent should identify all four sheets, describe their column headers, row counts, and overall purpose. The before screenshot shows the workbook freshly loaded with the initial assistant greeting. The after screenshot shows the AI response listing Sales Dashboard, Employee Records, Inventory, and Budget vs Actual with structural details for each.

BeforeInitial state prior to the prompt — workbook freshly loaded with the assistant greeting.
Test 1 before
Before — initial state prior to the prompt
AfterVerified outcome following AI response — all four sheets listed with structural details.
Test 1 after
After — verified outcome following AI response

Hover a screenshot for a quick summary

4

3.2 Test 02: Formula Explanation (H10)

Category: AnalysisResult: PASS

Prompt:

Explain the formula in H10 of Sales Dashboard step by step

Purpose: Cell H10 on the Sales Dashboard computes after-tax profit using the formula =F10*(1-$B$4), where F10 is total quarterly revenue and B4 is the tax rate assumption. The before screenshot shows the spreadsheet grid with cell H10 selected and its formula visible in the formula bar. The after screenshot shows the AI breaking down each component of the formula in plain English.

BeforeH10 selected on Sales Dashboard; formula =F10*(1-$B$4) visible in the formula bar.
Test 2 before
Before — initial state prior to the prompt
AfterAI explains after-tax profit: F10 revenue multiplied by (1 − tax rate in B4).
Test 2 after
After — verified outcome following AI response

Hover a screenshot for a quick summary

5

3.3 Test 03: Cross-Sheet Links

Category: AnalysisResult: PASS

Prompt:

Find all cells that reference other sheets and trace the dependency chain

Purpose: The Inventory sheet links revenue figures directly to the Sales Dashboard (e.g., ='Sales Dashboard'!F10), and Budget vs Actual references total revenue from Sales Dashboard B20. The before screenshot shows the Structure tab listing cross-sheet dependencies. The after screenshot shows the AI tracing the full dependency chain across sheets.

BeforeStructure tab listing cross-sheet dependencies across all sheets.
Test 3 before
Before — initial state prior to the prompt
AfterAI traces Inventory → Sales Dashboard and Budget vs Actual → Sales Dashboard links with cell addresses.
Test 3 after
After — verified outcome following AI response

Hover a screenshot for a quick summary

6

3.4 Test 04: Nested IF (Status Formula)

Category: AnalysisResult: PASS

Prompt:

What does the Status formula in Budget vs Actual do?

Purpose: Column F in Budget vs Actual uses a nested IF formula: IF(D4>0,"Over Budget",IF(D4<0,"Under Budget","On Budget")), comparing actual spend against budget. The before screenshot shows cell F4 selected on the Budget vs Actual grid with the formula in the formula bar. The after screenshot shows the AI explaining each branch of the nested conditional.

BeforeF4 selected on Budget vs Actual; nested IF formula visible in formula bar.
Test 4 before
Before — initial state prior to the prompt
AfterAI explains Over Budget / Under Budget / On Budget branches based on variance sign in column D.
Test 4 after
After — verified outcome following AI response

Hover a screenshot for a quick summary

7

3.5 Test 05: Safe Edit (Tax Rate)

Category: EditResult: PASS

Prompt:

Set the tax rate in Sales Dashboard B4 to 0.32

Purpose: This test verifies that the agent can apply a safe, targeted cell edit. The tax rate in cell B4 should change from 0.28 (28%) to 0.32 (32%). The before screenshot shows B4 at its original value. The after screenshot shows B4 updated to 0.32 with the cell highlighted in green to indicate a pending edit. The edit was confirmed in the exported workbook.

BeforeB4 on Sales Dashboard at original value 0.28 (28%).
Test 5 before
Before — initial state prior to the prompt
AfterB4 updated to 0.32 with green edited-cell highlight; confirmed in export.
Test 5 after
After — verified outcome following AI response

Hover a screenshot for a quick summary

8

3.6 Test 06: DATEDIF Formula

Category: AnalysisResult: PASS

Prompt:

Explain the Years of Service formula in column I of Employee Records

Purpose: Column I calculates years of service using =DATEDIF(D4,TODAY(),"Y"), where D4 is the employee's hire date. The before screenshot shows the Employee Records grid with cell I4 selected. The after screenshot shows the AI explaining how DATEDIF computes the year interval between the hire date and today's date.

BeforeEmployee Records grid with I4 selected; hire date in D4 drives the formula.
Test 6 before
Before — initial state prior to the prompt
AfterAI explains DATEDIF(D4,TODAY(),"Y") — whole years between hire date and today.
Test 6 after
After — verified outcome following AI response

Hover a screenshot for a quick summary

9

3.7 Test 07: Data Question (Reorder Flags)

Category: AnalysisResult: PASS

Prompt:

Which products are flagged for reorder and why?

Purpose: The Inventory sheet uses =IF(Bx<1000,"REORDER","OK") in column H. Only Enterprise Pkg (420 units, row 10) falls below the 1,000-unit threshold and should be flagged. Widget Alpha (4,800), Widget Beta (3,200), Service Pro (1,500), and Service Lite (2,100) are all above threshold.

BeforeInventory grid with Reorder column — Enterprise Pkg at row 10 has 420 units.
Test 7 before
Before — Inventory grid with Reorder column
AfterEnterprise Pkg correctly identified as sole reorder candidate (420 < 1000).
Test 7 after
After — Enterprise Pkg correctly identified

Result: The AI correctly identifies Enterprise Pkg (420 units) as the sole product flagged for reorder, since 420 < 1000.

Bugs fixed: (1) Context preview expanded from 8 to 20 rows so Enterprise Pkg is included; (2) explicit Reorder threshold check summary added to context with pre-computed comparisons (e.g. 420 < 1000 = TRUE); (3) system prompt requires showing explicit arithmetic and forbids contradicting stated values.

Hover a screenshot for a quick summary

10

3.8 Test 08: Edit + Verify (Bonus %)

Category: EditResult: PASS

Prompt:

Change Marcus Johnson's bonus percentage to 25%

Purpose: Marcus Johnson (employee E002, row 5) has his bonus percentage stored in cell F5. This test changes F5 from 20% to 25%. The before screenshot shows F5 at its original value of 0.2. The after screenshot shows F5 updated to 25% with the edited-cell highlight. The change was verified in the exported revised_workbook.xlsx.

BeforeF5 (Marcus Johnson, E002) at original bonus 20% (0.2).
Test 8 before
Before — initial state prior to the prompt
AfterF5 updated to 25% with edited-cell highlight; verified in exported workbook.
Test 8 after
After — verified outcome following AI response

Hover a screenshot for a quick summary

11

3.9 Test 09: Error Check

Category: AnalysisResult: PASS

Prompt:

Are there any potential errors or data issues in this workbook?

Purpose: Audit the workbook for formula errors, circular references, formatting inconsistencies, and data-quality issues.

BeforeStructure tab with formula inventory; two prior edits pending (B4, F5).
Test 9 before
Before — Structure tab with formula inventory
AfterIssues identified; 2 pending edits unchanged; no spurious edit badge.
Test 9 after
After — issues identified, no false edit badge

Issues correctly identified:

  1. Missing COGS values affecting Gross Margin calculations (rendering bug)
  2. Incomplete Variance (%) formula suggestion in Budget vs Actual
  3. Cross-sheet links need verification (reasonable caution)
  4. Pending edits {"B4":"0.32"} and {"F5":"25%"} flagged proactively

Bugs fixed: (1) System prompt now forbids edits unless the user explicitly requests a change; (2) applyEdits() gated by userRequestsEdit() so error-check queries cannot trigger edits; (3) removed PendingEdits JSON from context (replaced with audit-only note) to prevent self-triggered re-edits; (4) edit badge only shown when edits are actually applied. The after screenshot confirms 2 pending edits unchanged and no spurious edit badge. Minor caveat: the AI may still note Hire Date format inconsistency despite uniform YYYY-MM-DD formatting.

Hover a screenshot for a quick summary

12

3.10 Test 10: Export & Audit Log

Category: ExportResult: PASS

Prompt:

Click ⬇ Export .xlsx and verify the _AuditLog sheet is present

Purpose: After all edits are applied, the user exports the revised workbook. The export should produce revised_workbook.xlsx containing all four original sheets plus a new _AuditLog sheet recording every LOAD, QUERY, EDIT, and EXPORT action. The before screenshot shows the top bar with pending-edit count and the audit log sidebar. The after screenshot confirms the export completed; the exported file was verified to contain B4=0.32, F5=25%, and EDIT entries in _AuditLog.

BeforeTop bar shows pending-edit count; audit log sidebar with prior LOAD, QUERY, EDIT entries.
Test 10 before
Before — initial state prior to the prompt
AfterExport complete; revised_workbook.xlsx verified with _AuditLog, B4=0.32, F5=25%.
Test 10 after
After — verified outcome following AI response

Hover a screenshot for a quick summary

13

4 Summary of Verified Changes

Confirmed cell edits in exported workbook
SheetCellBeforeAfter
Sales DashboardB40.28 (28%)0.32 (32%)
Employee RecordsF50.20 (20%)0.25 (25%)
Test results
#TestResult
1Structure summaryPASS
2Formula explanationPASS
3Cross-sheet linksPASS
4Nested IFPASS
5Safe editPASS
6DATEDIF formulaPASS
7Data questionPASS†
8Edit + verifyPASS
9Error checkPASS‡
10ExportPASS
Total10 / 10

† Initially failed; passed after context preview fix.
‡ False edit badge fixed; mild date-format note may still appear.

Bugs discovered and fixes applied
BugImpactFix
Context truncated to 8 rowsTest 7 missed Enterprise Pkg (row 10)Preview expanded to 20 rows
False edit badge in fmtText()Test 9 showed spurious "Edit applied"Badge tied to actual applyEdits() count
14

5 Conclusion

All ten tests passed after applying fixes discovered during testing. The Excel AI Agent demonstrated reliable ability to:

Two bugs were discovered and fixed during this test cycle: (1) context preview truncation caused Test 7 to miss Enterprise Pkg—fixed by expanding preview to 20 rows; (2) a false "Edit applied" badge in Test 9—fixed by tying the badge to actual applyEdits() results. Updated screenshots for Tests 7 and 9 reflect the corrected behaviour.

The before/after screenshots provide visual evidence for each test. The exported file revised_workbook.xlsx confirms edits persisted with B4=0.32 and F5=25%.