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/FILTERis 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
| Language | First appeared | Host product | Status (2026) | URL |
|---|---|---|---|---|
| Excel A1 formulas | 1985 (Excel 1.0 Mac) / 1979 ancestry (VisiCalc) | Microsoft Excel | Dominant — universal default | https://support.microsoft.com/excel |
| Excel LAMBDA | 2022 (GA) | Microsoft Excel 365 | Active, growing — makes Excel Turing-complete | https://support.microsoft.com/office/lambda-function-bd212d27-1cd1-4321-a318-eef9d7e5bdf2 |
| Power Query M | 2013 (as Excel add-in), 2016 native | Excel, Power BI, Dataflows, Fabric | Dominant in MS data prep | https://learn.microsoft.com/powerquery-m/ |
| DAX | 2009 (PowerPivot) | Power BI, Excel data models, SSAS Tabular, Fabric | Dominant in MS analytics | https://learn.microsoft.com/dax/ |
| Google Sheets formulas | 2006 | Google Sheets | Dominant in Google Workspace | https://support.google.com/docs/table/25273 |
| Google Apps Script | 2009 | Sheets / Workspace | Dominant escape hatch for Sheets | https://developers.google.com/apps-script |
| AppleScript / Numbers formulas | Numbers 2007; AppleScript 1993 | Apple Numbers (iWork) | Active, niche | https://support.apple.com/guide/numbers/ |
| Smartsheet formulas | 2006 | Smartsheet | Active in PM tooling | https://help.smartsheet.com/functions |
| Airtable formulas | 2015 | Airtable | Active, growing | https://support.airtable.com/docs/formula-field-reference |
| Coda formulas | 2017 (beta), 2019 GA | Coda docs | Active | https://coda.io/formulas |
| Notion formulas | 2.0 rewrite 2023 (typed) | Notion databases | Active, expanding | https://www.notion.so/help/formulas |
| Quip formulas | 2014 | Salesforce Quip | Mature, declining (Salesforce-deprioritized) | https://quip.com/help/spreadsheet-formula-reference |
| Rows formulas | 2021 | Rows.com | Active, growing | https://rows.com/docs/formulas |
| LibreOffice Calc / OpenOffice Calc formulas | OOo 2002, LO fork 2010 | LibreOffice / Apache OO | Active OSS | https://help.libreoffice.org/Calc/Functions_listed_by_category |
| Gnumeric formulas | 1998 | Gnumeric | Mature, low-activity | https://www.gnumeric.org/functions.shtml |
| VisiCalc / Lotus 1-2-3 | VisiCalc 1979 / Lotus 1983 | Apple II / DOS PC | Historical — Lotus EOL 2014 | https://en.wikipedia.org/wiki/VisiCalc |
| Quattro Pro formulas | 1989 | Borland / Corel WordPerfect Office | Legacy, niche | https://www.corel.com/en/wordperfect/ |
| VBA (Excel) | 1993 (Excel 5.0) | Microsoft Excel desktop | Legacy but still ubiquitous | https://learn.microsoft.com/office/vba/api/overview/excel |
| Office Scripts (TypeScript) | 2020 | Excel for the web / desktop | Active, replacing VBA on web | https://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, andBYCOL, 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
CALCULATEmodifies filter context the way SQLOVER (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) andLAMBDA(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
letform. It’s a notable example of a collaborative-doc product retrofitting type discipline onto a beloved-but-loose formula DSL.
Citations
- Microsoft Research, “LAMBDA: The ultimate Excel worksheet function”, https://www.microsoft.com/en-us/research/blog/lambda-the-ultimartimate-excel-worksheet-function/
- Sarkar, A., Gordon, A.D., Peyton Jones, S., Toronto, N. — “Calculation View: multiple-representation editing in spreadsheets” (CHI papers, MSR Cambridge group)
- Microsoft, “Power Query M formula language reference”, https://learn.microsoft.com/powerquery-m/
- Russo & Ferrari, “The Definitive Guide to DAX” (2nd ed., Microsoft Press)
- Microsoft, “DAX function reference”, https://learn.microsoft.com/dax/
- Google, “Google Sheets function list”, https://support.google.com/docs/table/25273
- Google, “Apps Script reference”, https://developers.google.com/apps-script
- Apple, “Numbers User Guide — Formulas and functions”, https://support.apple.com/guide/numbers/
- Smartsheet, “Functions list”, https://help.smartsheet.com/functions
- Airtable, “Formula field reference”, https://support.airtable.com/docs/formula-field-reference
- Coda, “Formula reference”, https://coda.io/formulas
- Notion, “Formulas 2.0”, https://www.notion.so/help/formulas2
- Salesforce / Quip, “Spreadsheet formula reference”, https://quip.com/help/spreadsheet-formula-reference
- Rows, “Formula documentation”, https://rows.com/docs/formulas
- LibreOffice, “Calc functions”, https://help.libreoffice.org/Calc/Functions_listed_by_category
- Gnumeric, “Function list”, https://www.gnumeric.org/functions.shtml
- Bricklin, D., “VisiCalc Information”, http://danbricklin.com/visicalc.htm
- Wikipedia, “Lotus 1-2-3”, https://en.wikipedia.org/wiki/Lotus_1-2-3
- Wikipedia, “Quattro Pro”, https://en.wikipedia.org/wiki/Quattro_Pro
- Microsoft, “Office VBA reference — Excel”, https://learn.microsoft.com/office/vba/api/overview/excel
- Microsoft, “Office Scripts documentation”, https://learn.microsoft.com/office/dev/scripts/
- Burnett, M., Cook, C., Rothermel, G. — “End-user software engineering” (CACM 2004)
- Ko, A.J., Abraham, R., Beckwith, L., Blackwell, A., Burnett, M., et al. — “The state of the art in end-user software engineering” (ACM Computing Surveys, 2011)