# deepcalc > The spreadsheet runtime for agents: a headless, excel-compatible calculation engine with branches, diffs and review, driven over an HTTP API and MCP. Every change is journaled, every state addressable, every merge reviewable. Append `.md` to any page URL for a clean markdown twin, or send `Accept: text/markdown`. ## reference - [Function reference](https://deepcalc.com/functions.md): 556 spreadsheet functions with signatures and arguments, generated from the engine catalog - [Error values](https://deepcalc.com/errors.md): what each spreadsheet error means, why it happens, how to fix it - [Concepts](https://deepcalc.com/concepts.md): references, array formulas, spill ranges, recalculation - [Limits](https://deepcalc.com/limits.md): grid bounds and request caps ## function categories - [array (30)](https://deepcalc.com/functions/array-functions.md): work on whole ranges at once and return multiple values. - [database (14)](https://deepcalc.com/functions/database-functions.md): group, aggregate and query tabular ranges. - [datetime (25)](https://deepcalc.com/functions/datetime-functions.md): build, read and do arithmetic on dates and times. - [engineering (55)](https://deepcalc.com/functions/engineering-functions.md): unit conversion, bases, complex numbers and bitwise operations. - [financial (55)](https://deepcalc.com/functions/financial-functions.md): interest, cash flow, depreciation and valuation. - [information (21)](https://deepcalc.com/functions/information-functions.md): ask what a cell holds — type, emptiness, errors. - [logical (11)](https://deepcalc.com/functions/logical-functions.md): branch and combine conditions. - [lookup (13)](https://deepcalc.com/functions/lookup-functions.md): find a value in a range and return a related one. - [math (84)](https://deepcalc.com/functions/math-functions.md): arithmetic, rounding, trigonometry and aggregation. - [options (20)](https://deepcalc.com/functions/options-functions.md): option pricing and the greeks — deepcalc originals, no excel equivalent. - [stats (146)](https://deepcalc.com/functions/stats-functions.md): distributions, averages, spread and regression. - [text (59)](https://deepcalc.com/functions/text-functions.md): join, split, clean, search and format strings. - [utility (20)](https://deepcalc.com/functions/utility-functions.md): helpers that do not belong to one calculation domain. - [web (3)](https://deepcalc.com/functions/web-functions.md): fetch and parse data from outside the sheet. ## error values - [#DIV/0!](https://deepcalc.com/errors/div-0.md): a formula divides by zero or by an empty cell. - [#N/A](https://deepcalc.com/errors/na.md): a value is not available — usually a lookup that found no match. - [#NAME?](https://deepcalc.com/errors/name.md): the formula contains text the engine does not recognise. - [#NULL!](https://deepcalc.com/errors/null.md): two ranges were intersected but do not overlap. - [#NUM!](https://deepcalc.com/errors/num.md): a number is invalid or the result is impossible to represent. - [#REF!](https://deepcalc.com/errors/ref.md): a formula points at a cell that no longer exists. - [#VALUE!](https://deepcalc.com/errors/value.md): an argument or operand has the wrong type. - [#SPILL!](https://deepcalc.com/errors/spill.md): a formula returns multiple values but cannot write them out. - [#CALC!](https://deepcalc.com/errors/calc.md): the calculation engine cannot produce the requested array. ## concepts - [absolute and relative references](https://deepcalc.com/concepts/absolute-and-relative-references.md): why a reference changes when you copy a formula, and how $ stops it. - [A1 notation](https://deepcalc.com/concepts/a1-notation.md): how cells, ranges and worksheets are addressed in a formula. - [structural edits](https://deepcalc.com/concepts/structural-edits.md): what happens to formulas when rows or columns are inserted, deleted or moved. - [array formulas](https://deepcalc.com/concepts/array-formulas.md): formulas that operate on many values at once and return many results. - [spill range](https://deepcalc.com/concepts/spill-range.md): the block of cells a multi-value formula writes its results into. - [circular references](https://deepcalc.com/concepts/circular-references.md): a formula that depends, directly or indirectly, on its own result. - [volatile functions](https://deepcalc.com/concepts/volatile-functions.md): functions that recalculate on every change, whatever their inputs did. - [recalculation](https://deepcalc.com/concepts/recalculation.md): how a change to one cell propagates through everything that depends on it. ## optional - [Everything in one file](https://deepcalc.com/llms-full.txt): the whole reference concatenated