Skip to content

Formula Coverage ​

This page explains which Excel function names Formulon recognizes and which of them execute locally. Internally, it reflects the runtime registry report from RegistryCatalog.CoverageReport and the availability annotations in tools/catalog/function_status.tsv.

Recognized does not mean locally executable

The 526-function number is the count of Excel function names Formulon recognizes. It includes names that Excel routes to external services or host-specific state, such as COPILOT, PY, IMAGE, RTD, STOCKHISTORY, WEBSERVICE, translation functions, and CUBE connection functions. Those are recognized deliberately, but they are not local implementations.

Summary ​

Formulon recognizes 526 Excel function names: 511 real implementations, including 2 environment-bound (CELL, INFO), plus 15 unavailable stubs.

StatusCountMeaning
Real implementation511Evaluated locally; 2 (CELL, INFO) depend on workbook or host state
Unavailable service stub15Recognized by name and arity, but returns a deterministic Excel error because the required external service is outside Formulon
Total recognized526
526 recognized function names511 local implementationsIncludes CELL, INFO (hoststate)15 unavailable stubsReturn a deterministic Excel error526 recognized function names511 local implementationsIncludes CELL, INFO (host state)15 unavailable stubsReturn a deterministic Excel error
Recognizing a function name does not mean Formulon runs it locally: 15 names need an external service.

Formulon evaluates almost every recognized function locally, but it does not embed Microsoft 365 cloud services, a Python cloud runtime, an HTTP client, an OLAP cube connection, an RTD COM provider, or Copilot.

The panel below reads the same registry at runtime: functionNames() for the index and functionMetadata(name) for canonical name, arity, and availability class. Its counts come from the engine, not from this page. Its try-it field evaluates a call, so you can see what a recognized-but-unavailable name returns. Function metadata is locale-invariant and carries no human-readable signatures or descriptions; a host can merge its own localized help catalog on top.

Look up the function catalog

The index and every count come from the running engine’s functionNames() / functionMetadata(); this page carries no function table of its own.

Powered by the real Formulon engine (WASM) — it runs entirely in your browser, nothing is uploaded.

Recognized Functions By Category ​

CategoryRecognizedNotes
Math & Trig81Local implementation
Statistical149Local implementation
Logical20Local implementation
Text54Local implementation
Date & Time25Local implementation
Lookup & Reference39Local implementation, including dynamic-array lookup behavior; IMAGE and RTD are unavailable service stubs
Financial56Includes STOCKHISTORY as an unavailable service stub
Engineering54Local implementation
Information19Includes environment-bound CELL and INFO; no unavailable service stubs in this category
Database12Local implementation
Web4ENCODEURL and FILTERXML are implemented; WEBSERVICE and PY are unavailable service stubs
Cube7Recognized as unavailable service stubs; live OLAP connections are outside Formulon
2024 / 2025 additions6Includes unavailable service stubs such as COPILOT, TRANSLATE, and DETECTLANGUAGE

Function names and localized formula text ​

The registry uses canonical English names. functionMetadata(name) remains the same under every profile, while localizeFunctionName(name, profileId) and localizeFormula(formula, profileId) produce the spelling a user sees in a selected Excel profile. The inverse methods return canonical names and invariant stored formula text. This separation lets an editor switch language without changing the workbook's stored formula representation. See Workbook language for the conversion boundary and Cell language switching for the interactive editor flow.

Do not pass a locale argument to functionMetadata; localization is an explicit profile-aware operation. The current profile catalog is in Locale profiles.

FILTERXML evaluates locally on Windows profiles, but returns #NAME? on mac-* profiles because Mac Excel does not provide it. WEBSERVICE is also an unknown name on Mac. A name in the catalog does not imply availability on every host.

Unavailable service stubs ​

These names are intentionally recognized so workbooks fail in a predictable, Excel-shaped way instead of producing #NAME? from an unknown parser path. They are outside Formulon's local calculation boundary.

Function(s)Why it is not locally implementedFormulon behavior
COPILOTRequires the Microsoft 365 Copilot / LLM serviceFixed #NAME?
PYRequires Microsoft 365's hosted Python runtimeFixed #NAME?
IMAGERequires image fetching and rendering host supportFixed #VALUE!
RTDRequires an external Real-Time-Data providerFixed #N/A
STOCKHISTORYRequires Microsoft market-data service / network I/OFixed #VALUE!
WEBSERVICERequires HTTP/network I/OWindows: #VALUE!; Mac: #NAME?
TRANSLATE, DETECTLANGUAGERequire cloud translation / language servicesFixed #NAME?
CUBEKPIMEMBER, CUBEMEMBER, CUBEMEMBERPROPERTY, CUBERANKEDMEMBER, CUBESET, CUBESETCOUNT, CUBEVALUERequire a live OLAP cube connectionFixed #N/A

Practical guidance ​

For an existing workbook, treat formula coverage as the first gate, not the final proof. Create a small fixture for every business-critical formula family and compare results against your target Excel profile.

Use the CLI to inspect a workbook:

sh
formulon dump --formulas workbook.xlsx > formulas.txt

For the current oracle checks and their report commands, see Verification tracks.

Source of truth ​

The recognized-name list lives in tools/catalog/functions.txt. Availability annotations live in tools/catalog/function_status.tsv; omitted entries default to real local implementations. The runtime registry test verifies that recognized names resolve at runtime, while the status file prevents that recognition count from being mistaken for a local implementation count.