Spreadsheet Languages Family Index


type: language-family-index family: spreadsheet languages_catalogued: 18 tags: [language-reference, family-index, spreadsheet, end-user-programming, data]

Spreadsheet Languages — Family Index

  • Type: Tier 3 family index
  • Family: Spreadsheet formula and scripting languages
  • Languages catalogued: 18
  • Last updated: 2026-05-07

Family overview

Spreadsheets are, by user count, the world’s most-used programming environment. Estimates put the number of people who write Excel formulas at 750M-1B globally — orders of magnitude more than write Python or JavaScript. Every formula in a cell is a small, declarative, side-effect-free expression in a reactive dataflow graph: change an input, every dependent cell recomputes. This makes spreadsheet formula languages the most-deployed example of pure-functional, reactive programming in history, even though their users almost never describe them that way.

Every modern spreadsheet platform exposes a two-language split: a declarative formula language in cells (reactive, no mutation, evaluated as a dependency DAG) and an imperative escape hatch (VBA in classic Excel, Office Scripts/TypeScript in Excel for the web, App Script/JavaScript in Google Sheets, AppleScript in Numbers, Coda’s Pack SDK, etc.) for when users need loops, I/O, or external API calls. The formula side is approachable by non-programmers; the imperative side is reserved for power users and bridges the gap to “real” software.

The 2010s-2020s saw a quiet revolution. Excel evolved from cell-bound formulas to dynamic-array spilling (2018-2020), then to first-class lambda functions (LAMBDA, 2022), making the formula language Turing-complete and giving end-users named, reusable functions without writing VBA. In parallel, Microsoft layered two typed data-pipeline languages on top: Power Query M for ETL and DAX for tabular analytics — both compile-time-typed, both crossing into BI tooling. Google Sheets stayed deliberately simpler, leaning on App Script for power. Newer entrants (Coda, Notion, Airtable, Smartsheet, Rows, Quip) reinvented the formula language for collaborative-document and database-shaped use cases. The result: a sprawling family with shared ancestry (VisiCalc 1979 → Lotus 1-2-3 → Excel) but very different modern dialects.

In our deep library

Spreadsheets aren’t covered in deep notes — they’re end-user programming environments, not general-purpose languages. Cross-references:

  • query — DAX and M overlap heavily with SQL semantics; DAX’s CALCULATE/FILTER is conceptually a window-function dialect; M is a typed query/transform pipeline.
  • typescript — host language for Office Scripts (Excel for the web’s modern macro layer).
  • javascript — host for Google Apps Script (the imperative side of Sheets).
  • visualbasic (if present) — host for VBA, the legacy Excel automation layer.

Tier 3 family table

LanguageFirst appearedHost productStatus (2026)URL
Excel A1 formulas1985 (Excel 1.0 Mac) / 1979 ancestry (VisiCalc)Microsoft ExcelDominant — universal defaulthttps://support.microsoft.com/excel
Excel LAMBDA2022 (GA)Microsoft Excel 365Active, growing — makes Excel Turing-completehttps://support.microsoft.com/office/lambda-function-bd212d27-1cd1-4321-a318-eef9d7e5bdf2
Power Query M2013 (as Excel add-in), 2016 nativeExcel, Power BI, Dataflows, FabricDominant in MS data prephttps://learn.microsoft.com/powerquery-m/
DAX2009 (PowerPivot)Power BI, Excel data models, SSAS Tabular, FabricDominant in MS analyticshttps://learn.microsoft.com/dax/
Google Sheets formulas2006Google SheetsDominant in Google Workspacehttps://support.google.com/docs/table/25273
Google Apps Script2009Sheets / WorkspaceDominant escape hatch for Sheetshttps://developers.google.com/apps-script
AppleScript / Numbers formulasNumbers 2007; AppleScript 1993Apple Numbers (iWork)Active, nichehttps://support.apple.com/guide/numbers/
Smartsheet formulas2006SmartsheetActive in PM toolinghttps://help.smartsheet.com/functions
Airtable formulas2015AirtableActive, growinghttps://support.airtable.com/docs/formula-field-reference
Coda formulas2017 (beta), 2019 GACoda docsActivehttps://coda.io/formulas
Notion formulas2.0 rewrite 2023 (typed)Notion databasesActive, expandinghttps://www.notion.so/help/formulas
Quip formulas2014Salesforce QuipMature, declining (Salesforce-deprioritized)https://quip.com/help/spreadsheet-formula-reference
Rows formulas2021Rows.comActive, growinghttps://rows.com/docs/formulas
LibreOffice Calc / OpenOffice Calc formulasOOo 2002, LO fork 2010LibreOffice / Apache OOActive OSShttps://help.libreoffice.org/Calc/Functions_listed_by_category
Gnumeric formulas1998GnumericMature, low-activityhttps://www.gnumeric.org/functions.shtml
VisiCalc / Lotus 1-2-3VisiCalc 1979 / Lotus 1983Apple II / DOS PCHistorical — Lotus EOL 2014https://en.wikipedia.org/wiki/VisiCalc
Quattro Pro formulas1989Borland / Corel WordPerfect OfficeLegacy, nichehttps://www.corel.com/en/wordperfect/
VBA (Excel)1993 (Excel 5.0)Microsoft Excel desktopLegacy but still ubiquitoushttps://learn.microsoft.com/office/vba/api/overview/excel
Office Scripts (TypeScript)2020Excel for the web / desktopActive, replacing VBA on webhttps://learn.microsoft.com/office/dev/scripts/

Notable threads

  • LAMBDA made Excel Turing-complete. Andy Gordon, Simon Peyton Jones, and Advait Sarkar (Microsoft Research Cambridge) shipped the LAMBDA function in late 2020 / GA 2022. Combined with LET, MAP, REDUCE, SCAN, BYROW, and BYCOL, the formula language gained named, recursive, first-class functions. SPJ’s team explicitly framed this as turning the world’s most popular programming language into a “proper” functional one. It is the largest single deployment of functional programming in history.
  • Power Query M is a typed, lazy, query language hiding inside Excel. M is statically-typed, lazily-evaluated, has records and lists as first-class values, and reads more like F# than like a spreadsheet formula. Most Excel users who use Power Query never see the M source — they author through the GUI — but the underlying language is one of the most sophisticated DSLs Microsoft has shipped.
  • DAX is window functions reorganized around a tabular model. DAX’s CALCULATE modifies filter context the way SQL OVER (PARTITION BY ...) modifies a window. The mental model is different (filter contexts and row contexts vs. windows and frames), but the underlying mathematics is closely related. Marco Russo and Alberto Ferrari’s “The Definitive Guide to DAX” is the family’s standard text. DAX has slowly leaked out of Power BI into Fabric, SSAS, and Excel data models.
  • Why Google Sheets stayed simpler than Excel. Google made an explicit product bet around 2010 that complexity should live in App Script, not in the formula language. Sheets has dynamic arrays (via ARRAYFORMULA) and LAMBDA (added 2022 to track Excel) but never built Power Query, DAX, or a heavy data-model layer. The trade-off: Sheets is more approachable; Excel is the platform serious analysts still pick.
  • End-user programming research lineage. The academic field of End-User Software Engineering — Margaret Burnett, Brad Myers, Andy Ko, Mary Beth Rosson, and others — used spreadsheets as the canonical artifact for studying how non-programmers program. Burnett’s “Forms/3” and “WYSIWYT” (What You See Is What You Test) work in the 1990s-2000s directly informed Excel’s later debugging affordances. Advait Sarkar’s recent work on AI-assisted formula authoring sits in the same lineage.
  • Office Scripts is the long migration off VBA. VBA still ships in Excel desktop in 2026 — Microsoft has never been able to remove it because too many enterprise workbooks depend on it — but new automation work is steered toward Office Scripts (TypeScript on the web, with a desktop runtime added 2023). This is the rare case of a successful “modern replacement for a 30-year-old escape hatch”: same product, same users, but the new layer is sandboxed, web-friendly, and uses a real language.
  • Notion 2.0 formulas became a typed language. The 2023 rewrite gave Notion formulas a real type system (number, string, boolean, date, list, page, person), proper nullability handling, and a let form. It’s a notable example of a collaborative-doc product retrofitting type discipline onto a beloved-but-loose formula DSL.

Citations