14 functions · Excel 365

LAMBDA & Modern Functions

Build your own Excel functions with LAMBDA. Write cleaner complex formulas with LET. Iterate with MAP, REDUCE, and SCAN. The most transformative addition to Excel in decades.

💡 Why LAMBDA is a big deal

Before LAMBDA, if you wrote the same complex formula in 20 places, you had 20 copies to maintain. Change the logic once, you had to change it 20 times. With LAMBDA, you define the logic once, save it as a named function, and use it everywhere. Fix a bug in one place, it's fixed everywhere. This is what programmers have had for decades — Excel finally has it too.

Example — a reusable tax calculation:

=LAMBDA(income, IF(income>50000, income*0.3, income*0.2))
Save as: CalcTax
Use anywhere: =CalcTax(A1)

Requires: Excel 365 or Excel 2024+. Not available in Excel 2021 or earlier.

The essential four

The big one

LAMBDA

=LAMBDA(param1, param2, calculation)

Define a reusable custom function. Wrap complex logic once, name it via Name Manager, and reference it everywhere in the workbook. The centerpiece of modern Excel.

LAMBDA Complete Guide →
Instant win

LET

=LET(name1, val1, name2, val2, formula)

Assign names to intermediate values inside a formula. Makes complex formulas readable and faster (values are computed once, not repeatedly). Easiest modern function to adopt.

LET Complete Guide →

MAP

=MAP(array, LAMBDA(x, transformation))

Apply a LAMBDA to every value in an array. Transform data element-by-element without dragging formulas down. Cleaner than a helper column.

MAP Complete Guide →

REDUCE

=REDUCE(initial, array, LAMBDA(acc, x, ...))

Accumulate a single result across an array. Iterative calculations that used to require VBA — running totals, complex aggregations, custom rollups.

REDUCE Complete Guide →

All 14 modern functions

Real-world LAMBDA patterns

  • Reusable formatting: =LAMBDA(txt, PROPER(TRIM(CLEAN(txt)))) — save as CleanName, use everywhere
  • Age calculator: =LAMBDA(dob, DATEDIF(dob, TODAY(), "Y")) — save as Age, use as =Age(A1)
  • MAP transformation: =MAP(A2:A100, LAMBDA(x, x*1.1)) — apply 10% markup to entire column, no drag needed
  • REDUCE running total: =REDUCE(0, A2:A100, LAMBDA(acc, x, acc+x)) — same as SUM but demonstrates the pattern for custom accumulations
  • SCAN for cumulative: =SCAN(0, A2:A100, LAMBDA(acc, x, acc+x)) — running total column with one formula
  • LET for readability: =LET(revenue, SUM(A:A), costs, SUM(B:B), profit, revenue-costs, profit/revenue)

Frequently asked questions

How do I save a LAMBDA so I can reuse it?

Go to Formulas → Name Manager → New. Enter a name (e.g., CalcTax), paste your LAMBDA formula in the "Refers to" field. Now you can use =CalcTax(A1) anywhere in the workbook.

Can I share my LAMBDAs across workbooks?

Not built-in yet. Options: (1) Copy the named LAMBDA from Name Manager to a new workbook. (2) Save your workbook as a template. (3) Use the Sheets & Cells Add-in which can sync named LAMBDAs across workbooks in a shared team library.

LET or LAMBDA — which is easier to start with?

LET. It doesn't require saving in Name Manager and makes any complex formula cleaner instantly. Once you're comfortable with LET, LAMBDA is the natural next step.

Is LAMBDA available in Google Sheets?

Yes — LAMBDA landed in Google Sheets in 2022 with similar syntax. LET, MAP, REDUCE, SCAN, BYROW, BYCOL all work in Sheets too. Cross-platform compatible.

Do LAMBDAs slow down my workbook?

Well-written LAMBDAs are as fast as native functions. Poorly-written ones (deep recursion, calling themselves many times, iterating over huge arrays) can be slow. Test performance if you use LAMBDAs in millions of cells.

Custom functions written for you.

Ask the Add-in "build me a LAMBDA that does X" — get a ready-to-save LAMBDA with the correct parameters and syntax.

Get the Add-in →