This editor opens .xlsx, .xls, and .csv files in the browser and — unlike most web viewers — treats formulas as live formulas, not frozen numbers. You can inspect them, edit them, add new ones, and export a workbook that Excel will recompute correctly. No spreadsheet application required.
Formulas are re-evaluated, not replayed from cache
When a workbook loads, each formula cell is read as its formula text rather than its last saved value, and the sheet is recomputed. The everyday set is all there — SUM, AVERAGE, MIN, MAX, COUNT, COUNTA, IF, IFERROR, ROUND, ABS, CONCATENATE — and so are heavier hitters like VLOOKUP, SUMIF, INDEX, MATCH, and TEXTJOIN. MAX and MIN are on that list for a reason: they, along with MEDIAN, MATCH, SUBSTITUTE, TEXTJOIN, CHOOSE, LARGE and SMALL, ship as empty function bodies in the underlying library, while COUNTA and UPPER are missing from it altogether. All eleven are implemented here specifically so they evaluate. The gaps are real and the guide below lists them in full: the STDEV, VAR and PERCENTILE families, the multi-criteria SUMIFS/COUNTIFS pair, SWITCH, SUBTOTAL and RANK are unimplemented; XLOOKUP and the dynamic-array functions are absent entirely (use INDEX/MATCH or VLOOKUP); and a formula returning an array shows only its first value. Unsupported names evaluate to #NAME?, and a malformed expression to #ERROR!, so an error code after loading marks an unsupported corner rather than corrupt data.
Evaluation is dependency-ordered: a cell computes only after every cell it references, regardless of physical position. Anything caught in a reference cycle — including a cell that references itself — displays #CIRCULAR! rather than hanging or guessing.
What Excel sees when you export
The XLSX export writes each formula together with its computed value as the cached result, which is what makes the file open cleanly in Excel and recompute on the next edit — formula cells written without a cached value get silently dropped by many writers. The CSV export is the opposite by design: values only, formulas flattened to their results, one sheet at a time. Two round-trip limits to know. First, the engine evaluates against the active sheet only: a cross-sheet reference like Sheet2!A1 is silently resolved as if it pointed at the current sheet's own A1, so treat any number computed from one as wrong inside this tool — the formula text itself survives the XLSX export, and Excel recomputes it correctly. Second, sheet names are truncated to Excel's 31-character cap on export.
This is a data editor, not a formatting editor
Cell styles, merged cells, column widths, conditional formatting, and charts do not survive the trip through this tool. The most visible casualty is dates: number formats are dropped, so a date cell shows its underlying serial number — August 9, 2026 appears as 46243. The math on serials still works (subtracting two date cells gives days between them); they just read as integers. Editing works like a spreadsheet should: click a cell and type, Enter or F2 to edit, Esc to cancel, arrow keys to move, a formula bar for long expressions, and toolbar buttons that add a row or column at the end or remove the selected one. Undo history holds 50 steps per sheet and resets when you switch sheets.
Questions people ask
Why does my date column show numbers like 46243?
Excel stores dates as serial numbers — days since December 30, 1899 — and displays them through a number format this tool does not preserve. 46243 is August 9, 2026. The values are intact; re-apply a date format after opening the export in Excel.
Why did undo stop working after I clicked another sheet tab?
Undo history is kept per sheet and is cleared when you switch sheets, capped at 50 steps. Finish and verify edits on one sheet before moving to the next.
For turning a sheet into machine-readable data, the JSON-to-CSV converter handles the reverse direction of this tool's CSV export. Date math without a spreadsheet lives in the date difference calculator.