The future of Excel as a programming language.

It may be the oldest piece of software still in widespread use. 34 years ago, just three years after Apple introduced its first Macs, Microsoft released the first version of its familiar Excel spreadsheet app, initially a rough copy of Dan Bricklin’s VisiCalc.

Fast forward to the future, and the Irish Times noted in 2017 that Microsoft CEO Satya Nadella was calling Excel Microsoft’s most important consumer product, pointing out that it had over 750 million users.

So it feels almost historic when one of the world’s largest corporations augments a crucial component of its Office software suite — yet sure enough, Excel has been upgraded with a major new feature.

microsoft-excel

Microsoft’s researchers believe they’ve now finally transformed Excel into a full-fledged programming language, thanks to the introduction of a new feature called LAMBDA. “With LAMBDA, Excel has become Turing-complete. You can now, in principle, write any computation in the Excel formula language,” a Microsoft blog proclaimed.

“Being Turing complete is the litmus test of a full-fledged programming language,” explained a new article in Visual Studio magazine. And it adds that “early community response has been encouraging,” noting that Microsoft researchers are enthusiastically envisioning skilled Excel users creating functions “that appear seamlessly part of Excel to their colleagues, who simply call them.”

Here’s a look at these changes and what they portend for the future of Excel as a programming language.

Programming with Excel

Excel users do much of their work using formulas — where the input into a cell starts with an equals sign followed by some kind of calculation (“=A2 + B2”). Microsoft’s blog calls formulas the world’s most widely used programming language — yet it had always been limited to a pre-defined universe of options.

To roll their own custom functions, users had to use Microsoft’s other macro-based programming language, Visual Basic for Applications. (Or, starting in 2018, JavaScript — and of course, Microsoft’s JavaScript-superset TypeScript.)

In a video appearance at POPL 2021, long-time Microsoft researcher Simon Peyton Jones noted that Excel’s end users were implementing functions using JavaScript, reiterated in a Microsoft Research blog post by a senior principal researcher and a senior principal research manager. “Excel formulas are written by more users than all the C, C++, C#, Java, and Python programmers combined.”

But now all those users can write actual programs without leaving the world of Excel formulas. More specifically, formulas written in Excel can now be “wrapped” inside a named LAMBDA function — and it can then be called from anywhere else in the spreadsheet. And yes, it supports recursive programming, so you can even call your named function from within your named function.

The names are supplied in the “Name Manager” choice tucked away in Excel’s Formulas toolbar. And just like git, users can enter a comment when creating their function.

Creating a named LAMBDA function in Excel (screenshot from Excel blog)

Microsoft Senior Researcher Jack Williams described it at POPL 2021, “In Excel, it is now possible to build real, full-fledged programming experiences… We can now start to build things that look like real programs.”

The blog post provides an example: a cell whose value includes the name of a function.

Screenshot from Microsoft Excel blog - LAMBDA function using Excel cell address as an argument

The value ultimately displayed in that cell is the output of the specified function — and that function’s argument is…the address of another cell.

Alternately, a function can also accept an array (holding multiple values) as its argument — since Excel began adding the ability to define arrays in Excel in September of 2018.

Screenshot from Microsoft Excel blog - Excel array as an argument in a LAMBDA function

A function can also send back an array as its return value, with its values “spilling out” into multiple cells. In his video presentation at POPL, Williams writes a function that instantly generates a calendar.)

And Excel’s blog post promises more array manipulation functions in the future. Microsoft’s Research blog even promises the company is working on “efficient implementations of array-processing combinators, such as MAP and REDUCE” to be used on the output of named functions.

And Excel’s program manager Chris Gross hinted about even higher hopes for the future. “I would love to see us add much-needed tools for debugging and authoring formulas,” he wrote in a comment. “Akin to what you get with great IDEs.”

A Dream From 2004

For Simon Peyton Jones, this represents the fulfillment of a long-standing dream. At POPL 2021, the long-time Microsoft researcher and functional programming advocate told the story of visiting Microsoft’s Excel team in 2004. “I learned that Excel is like a supertanker. It has a very high value.

It has a very large mass. And it’s operated by a surprisingly small and heavily-overworked crew. So it’s not easy to change course!”

But 10 years later he discovered that one of the mid-level program managers, “those friendly, receptive folk that I mentioned, had since been promoted to be the great boss of Excel… Suddenly we begin to get senior, executive-level buy-in for some of these ideas.” And, even more importantly, the engineering support to make it happen.

Excel-as-a-programming-language

Excel as a programming language

Microsoft’s Research blog calls this new LAMBDA feature “a qualitative shift, not just an incremental change.” Named Lambda functions to offer programmers the high-quality language-like attributes of “composability” and “re-use,” respecting one of the long-standing principles of good coding, namely not repeating work.

A named function can become part of another named function elsewhere in the spreadsheet. But that’s just the beginning of what could be even more elaborate constructions, according to the Research blog post.

It ultimately envisions “sheet-defined functions” where several different functions, each defined in different cells, are collectively used to define a larger function.

Read More:   Tinkerers Make Self-Driving Cars Using DIY Kits and Smartphones – InApps Technology 2022

And interestingly, the concept of sheet-defined functions was first described in a 2003 research paper co-authored by Jones. “Our case study is unusual in highlighting how programming language insights can be applied to a product not normally considered as a programming language,” Jones had written.

Also speaking at POPL 2021, Advait Sarkar, a senior researcher from Microsoft Research Cambridge, envisioned additional cells used to comment on the code and add formatting flourishes. “We view programming language design as a research discipline whose goal is to create more usable human-computer interfaces,” Sarkar says at one point.

Last year, Sarkar co-authored a paper imagining a new Excel concept called Gridlets — in which a selection of cells could be copy-and-pasted, allowing the reuse of a group of formulas, ultimately offering a kind of object-oriented counterpart to sheet-defined functions.

Gridlets could be instantiated repeatedly, each with its own unique parameters or “properties,” while changes in the original parent gridlet will propagate to its children.

It’s the work of the “Calc Intelligence” team at Microsoft Research Cambridge, which has as its stated goal enhancing Excel as a programming language. Right now it’s only available to members of the “Office Insider” program’s beta channel.

Although even within that program, eager users complained that they weren’t rolling it out fast enough, remembers Excel’s head of product Brian Jones in his POPL 2021 appearance.

Williams said the feature had generated a lot of interest. “Even within the first few weeks of LAMBDAs being released, there were videos with hundreds of thousands of views on YouTube.

There’s really big space to explore how spreadsheets and higher-order functional programming can co-exist and produce a unique experience.”

The post on Microsoft’s Excel blog ends by promising named LAMBDA functions are just the beginning, adding “join us for the journey.”

List of Keywords users find our article on Google

[sociallocker id=”2721″]

c# excel
new excel functions 2022
microsoft excel
popl
turing developer test
excel unique function
excel to app dev
hire excel macro developers
hire excel developers
c# lambda
excel cell from another sheet
excel calendar 2022
microsoft research
superset design studio
c# excel font style
vb net excel functions
popl black
lambda dna
microsoft senior software engineer
excel c#
excel technologies
microsoft senior program manager
c# spreadsheet
visual basic programmer jobs
microsoft programming language
.net create excel file
excel formula based on cell color
vogue magazine template
excel programming language
excel developer jobs
excel jobs
excel lambda
c# excel range
vb net excel range to array
c# net excel
hire microsoft excel experts
unique function in excel
calendar 2022 excel
c# excel formula
excel value
excel new functions 2022
excel .net
vb net excel copy range of cells
functional programming jobs
hire microsoft excel developer
vb net excel get cell value
excel get value from another cell
vb net excel cell value
excel multiple values in one cell
excel calendar template 2021
excel microsoft
how to create excel sheet in c#
c# working with excel
excel macro get cell value
excel now function
microsoft excel programmers
.net excel
excel tan function
read excel file c#
excel large function
microsoft research blog
excel cell value based on another cell
c# excel cells
excel calendar template 2022
visual studio change language
c# and excel
excel formula if cell value changes
free excel calendar template 2022
vb6 read excel file
vb net excel select range of cells
popl co
vb net excel selection
c# excel get cell value from range
create excel c#
c# output to excel
unique function excel
c# excel sheet
c# create excel
read file excel c#
excel add in c#
c# write to excel
vb net excel object
increment excel
how to add multiple cells in excel
how to read excel in c#
define formula in excel
excel cell function
read excel in c#
excel formula how to
visual studio magazine
popl 2022
.net spreadsheet component
microsoft ux researcher
ux researcher microsoft
microsoft visual basic for applications
excel if cell equals another cell
linkedin excel
excel update cell when another cell changes
principal program manager microsoft
vb net excel write to cell
excel vb net
microsoft programming
c# excel example
proper excel
c# excel table
visual basic excel commands
what is popl
excel copy value from another sheet
excel range c# examples
c# excel add in example
c# excel select range of cells
c# read excel
excel sheet program in c#
read excel file in c#
create excel spreadsheet c#
formula in excel not working
microsoft excel c#
.net core read excel file
vouge magazine template
read excel c#
excel sheet name from cell value
how to shift cells down in excel without changing formula
microsoft magazine template
c# read excel spreadsheet
c# excel range cells
excel unique
customer journey map excel template free
microsoft javascript
c# excel cell type
cell function excel
qc calc
visual basic in excel
excel formula sheet name
microsoft visual basic for applications excel
how to return in excel cell
lambda function excel
excel value function
excel return array
c# excel read
excel sheet name in cell
visual basic excel
excel formula or
excel copy multiple cells into one
how to enter in excel cell
future of excel
microsoft excel 2022
mvp++
custom microsoft programming
when will lambda function be available in excel
principal software engineer microsoft
hotwire suites
programming in excel
return value excel
functional programming wiki
microsoft qa jobs
senior visual basic programmer jobs
excel youtube
a proper
microsoft research jobs
excel search multiple values
microsoft program manager jobs
microsoft excel calendar templates
search multiple values in excel
visual studio language
excel formula for sheet name
lambda expression in c#
find multiple values in excel
セルヴォークグロス
2022 calendar template excel
programming with microsoft visual basic 2017
2022 calendar excel
excel with c#
microsoft excel definition
excel in c#
multiple values in one cell excel
change language visual studio 2017
excel return cell value
function visual basic excel
create excel sheet in c#
excel spreadsheet jobs
javascript spreadsheet with formulas
excel content calendar template 2020
add worksheet in excel using c#
argument in excel
excel 2003 macro
excel formula to copy cell value from another sheet
now function in excel
popl 2020
unique in excel
.net core excel
excel equals
excel formula find cell with value
excel c# programming
free excel calendar
professional excel development
create excel in c#
execute excel formula in c#
microsoft custom vision
microsoft excel work from home jobs
& in excel
create an excel sheet in c#
excel starts with
excel macro change cell value
c# excel get cell value
excel labs
how to define function in excel
vb net excel range
excel mvp
microsoft programming software
simon pearce jobs
excel sheet name formula
lambda excel
excel formula not showing result
c# excel write to cell
excel macro array
git excel
microsoft core values
c# add macro to excel
visual studio excel
c# read excel file
create excel document c#
read excel sheet in c#
apache superset pricing
satya technologies
how to read excel file in .net core
read from excel c#
visual basic for excel
array excel
cell address in excel
excel cell id
array functions typescript
change excel language
excel change language
microsoft typescript
formulas excel 2003
today function in excel
excel learning app
in excel
excel cell
how to copy formula in excel
large function excel
excel formula range
microsoft accel
used bricklin
customer journey map template xls
excel app
excel formula in cell
microsoft excel app
new excel features 2022
microsoft
microssoft
microsoft wikipedia
microsoft tech community
lambda labs linkedin
turing – hire your engineering dream team
wikipedia microsoft
years show scripts microsoft finally turns
years show scripts microsoft turns into
wikipedia excel
after show scripts microsoft finally turns
microsoft.office.interop.excel range
watch linkedin programming foundations: object-oriented design
apache superset course
github superset
excel microsoft wikipedia
microsoft research labs
brian last wikipedia
microsoft cambridge jobs
superset github
when is lambda coming to excel
apache superset git
excel formulas youtube
excel programming languages
excel coding language
wikipedia turing
ms office wikipedia
coding language in excel
microsoft research people
2021 excel calendar template
excel homes
youtube videos excel formulas
change visual studio language
excel cell equals another cell
excel rate function in javascript
customer stories microsoft
excel calendar template 2020
microsoft research cambridge jobs
c# excel find
microsoft visual studio jobs
parametre microsoft
excel one cell equals another
excel recruitment
excel search function for multiple values
wikipedia microsoft excel
if cell equals value then return another cell
return value of cell in excel
2021 calendar excel template
excel if cell equals multiple values
excel search for multiple values
front end developer microsoft
return value in cell excel
saas boss
senior program manager microsoft level
excel mobile
popl video
2022 excel calendar template
change visual studio 2022 language
excel if cell = multiple values
free excel 2022 calendar template
how to check multiple values in excel
microsoft owner name
popl review
2022 calendar in excel
can 2022 excel
excel formula to copy cell value to another cell
si multiple excel
visual basic equals
what times what equals 84
2022 excel calendar
excel formula based on another cell value
how to return multiple values in excel
microsoft senior manager
microsoft teams programming language
multiple values in a cell excel
wikipedia recursion
eve online spreadsheets
excel 2022 calendar
excel call function from cell
excel select value based on another cell
microsoft excel calendar template
microsoft project change language
net change formula excel
turing youtube
.net 6 lambda support
calendar excel template 2021
excel find formula multiple values
ux designer microsoft
why is my excel formula spilling
advait education
c# excel template example
equals in excel
excel startswith
linkedin to excel
popl app
unique formula excel
vb net excel
vb net write to excel cell
call center scheduling template for microsoft excel
excel 2022 calendar template
excel universe
excel visual basic functions
lambda join two tables c#
microsoft user research
popl company
sr. visual basic programmer jobs
advaita wiki
excel multi value cell
how to make space in excel formula
lamda expression in c#
new functions in excel
c# excel worksheet cells
excel change language formulas
excel return multiple values
typescript microsoft
2021 excel calendar
eve online excel
excel dna
excel find multiple values
excel get value from cell reference
excel if cell equals
excel si else
excel visual basic cells
get the cell address in excel
high hopes development center
how to write beta in excel
wiki functional programming
excel formula sheet name from cell
excel si multiple
how do you return in excel cell
what is microsoft excel used for in the workplace
apple version of microsoft excel
c# excel template
excel get the value of a cell
excel webapp
get value of cell excel
unique values in excel formula
ไฟล์ ปฏิทิน 2022 excel
c# read excel without office
creator of microsoft excel
excel change language formula
excel function return cell address
excel unique formula
microsoft python jobs
popl sign in
qc-calc
c# excel set cell format
define value in excel
excel function
excel or funtion
find cell where value is excel
how to copy formula in excel to another sheet
rails read excel file
turing complete wiki
what is an argument in excel
c# excel add in
excel formula to c#
excel formula to order values
excel macro code examples
excel macro function
hotwire wikipedia
how to find the cell value in excel
microsoft ex
net change in the value of a function
programming on excel
all excel formulas
excel end formula
excel get value of cell
if value is within range excel
new excel functions 2021
popl technology
excel formula find text in cell
excel formula to search for text in a cell
excel or function
excel use formula from another cell
how to call a cell in excel
how to change formula language in excel
how to read excel sheet in c#
program manager microsoft
senior suit beta
add space in excel cell
apache rolling case
copy value not formula excel
excel call macro
excel equal
excel formula for one sheet to another
excel get value from another tab
excel number of cells with value
excel programming
microsoft asia research
microsoft center cambridge
return in excel cell
return largest value in excel
visual studio 2018
чтение excel c#
2021 calendar excel
ats en excel
c# excel get range
enter in excel without changing cells
excel combine ranges into array
excel create function
excel top 5 values and names
exist excel
faq template excel
find function in excel
how to add in excel multiple cells
macro excel formula
mircrosoft excel
recursive lambda excel
rolling arrays
visual basic code for excel
c# create new excel file
calendar creator excel
excel formula for adding multiple cells
excel return the cell reference
excel unique id
facebook business manager change language
how to add space in excel
how to search multiple items in excel
microsoft excel real estate templates
sarkar developers
search in excel formula
excel create unique id
excel formula to add multiple cells
excel git
flinto vs framer studio
hire microsoft programmers
small basic microsoft
whatsapp business api c#
calendar in excel cell
excel macro send email
free excel macro templates
get cell reference excel
how to copy multiple cells in excel to another sheet
how to get visual basic in excel
how to read excel cell value in c#
excel let function
how to and function in excel
in function excel
in ms excel__________is an example of a function.
name function in excel
2018 excel calendar
c# return excel file
copy in excel with formula
excel file name formula
excel macro function return value
excel programmer
excel spreadsheet adding cells
hire lambda developer
microsoft research cambridge
office insider program
unique excel
what is argument in excel
c# write excel
custom vision microsoft
excel array to range
how to change 1 to 01 in excel
how to create an array in excel
how to enter in excel formula
how to name an array in excel
multiple functions excel
read data from excel in c#
recursive formula excel
what does value function do in excel
#spill excell
apply calculation style in excel
c# write to excel file
cell function in excel
change language for excel
comment in excel formula
excel cell $
excel copy cell from another sheet
excel formula for calendar
excel macro address
excel when function
formula excel sheet name
how cells are named in ms excel?
large excel formula
microsoft excell
return within excel cell
turing complete requirements
value excel
vogue cover template app
array in excel
excel cell value
excel copy cell value not formula
excel formula cell
excel lambda function
excel now formula
how to use functions on excel
macro coding in excel
rails params array of objects
calendario excel template
cell formula in excel
create a function in excel
excel how to do enter in a cell
excel reduce used range
excel technology
how to view output in visual studio
microsoft excel cell
pps calendar
recruitment budget template excel
today in excel
unique names in excel
using visual basic in excel
visual studio programming language
what is lambda expression in c#
write to excel file c#
c# write excel file
css turing complete
excel formula for email address
how to copy the formula in excel
how to do formulas in excel
large function in excel
mvp excel
or function on excel
apache superset upgrade
c# using excel
excel $ cell
excel 2048
excel formula i
excel large formula
excel write function
how do i enter a formula in excel
how to change language on excel
how to copy a cell in excel using formula
how to reduce cells in excel
recursive function javascript
saas excel template
simon peyton jones
while visual basic excel
apache calc
excel for .net
excel formula and
how to copy cell address in excel
how to cut a cell value in excel
microsoft custom vision api
c# excel read write
easy excel
excel application close c#
excel change cell name
excel formula for
excel macro formula
excel multiple formula
propagation programming
send whatsapp message c#
c# excel range value
c# lambda function
excel cell formula
excel comments in formula
excel copy cell
excel custom function
full-time visual basic .net programmer vacatures
how to write formulas for excel
or in excel formula
recursive labs
apple reachability
ats programming
excel and formula
excel function formula
excel get cell
excel macro coding
excel mapping formula
excel name manager
excel programmers
functions excel
how to change language in microsoft excel
jack williams phone number
macro formulas in excel
microsoft excel functions
net reading excel files
recruitment excel template
value excel function
excel formulas
how to copy multiple cells in excel
hàm excel
ms excel formulas
excel coding
excel macro create new sheet
excel sheet function
how to add in excel formula
is css turing complete
read excel javascript
wikipedia satya nadella
microsoft ecommerce solutions
combinators
Read More:   An Action Plan for the Unexpected – InApps Technology 2022

[/sociallocker]

Rate this post
As a Senior Tech Enthusiast, I bring a decade of experience to the realm of tech writing, blending deep industry knowledge with a passion for storytelling. With expertise in software development to emerging tech trends like AI and IoT—my articles not only inform but also inspire. My journey in tech writing has been marked by a commitment to accuracy, clarity, and engaging storytelling, making me a trusted voice in the tech community.

Let’s create the next big thing together!

Coming together is a beginning. Keeping together is progress. Working together is success.

Let’s talk

Get a custom Proposal

Please fill in your information and your need to get a suitable solution.

    You need to enter your email to download

      Success. Downloading...