
LAMBDA is available to members of the Insiders: Beta program. You can now, in principle, write any computation in the Excel formula language. With LAMBDA, Excel has become Turing-complete. These newly defined functions can call other LAMBDA-defined functions, to arbitrary depth, even recursively. In December 2020, we announced LAMBDA, which allows users to define new functions written in Excel’s own formula language, directly addressing our second challenge. These changes are a substantial start on our first challenge: rich, fully-first-class structured data in Excel. At the 2019 ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2019), we announced two significant developments: data types take Excel beyond text and numbers and allow cells to contain first-class records, including entities linked to external data, and dynamic arrays allow ordinary formulas to compute whole arrays that spill into adjacent cells. The fruits of that partnership are starting to appear in the product itself. The Calc Intelligence project at Microsoft Research Cambridge has a long-standing partnership with the Excel team to transform spreadsheet formulas into a full-fledged programming language. Over the years, two particular shortcomings have stood out: (1) the Excel formula language really only supported scalar values-numbers, strings, and Booleans-and (2) it didn’t let users define new functions. Despite its success, considered as a programming language Excel has fundamental weaknesses. Excel formulas are written by an order of magnitude more users than all the C, C++, C#, Java, and Python programmers in the world combined. It’s also the world’s most widely used programming language. Ever since it was released in the 1980s, Microsoft Excel has changed how people organize, analyze, and visualize their data, providing a basis for decision-making for the millions of people who use it each day.
