Build your own reusable functions using standard formulas — no VBA, no macros required.
LAMBDA lets you define a named, reusable function using regular Excel formula syntax. Once defined, your function works exactly like a built-in one — type its name, pass arguments, get a result. No VBA, no macros, no developer tools needed.
LAMBDA([param1, param2, ...], calculation)| Argument | What it means |
|---|---|
| param1, param2 optional | Names for the inputs your function will accept. Use any name that doesn't conflict with cell references (avoid A1, B2, etc.). |
| calculation required | The formula that uses your parameters and returns a result. |
Writing LAMBDA directly in a cell just shows a #CALC! error — it has no inputs to work with. LAMBDA must be saved as a Named Range (Formulas → Name Manager) to be called by name from any cell.
Let's build a function called TAXAMOUNT that calculates tax given a price and a rate.
Step 1 — Formulas → Name Manager → New. Name it TAXAMOUNT.
Step 2 — In the "Refers to" box, enter:
=LAMBDA(price, rate, price * rate)Step 3 — Click OK. Now in any cell you can type:
=TAXAMOUNT(B2, 0.2)This returns the tax amount for whatever is in B2 at a 20% rate. Change the price or rate and it recalculates instantly, exactly like any built-in function.
-- Name: CTOF
=LAMBDA(celsius, celsius * 9/5 + 32)-- Name: COMMISSION
=LAMBDA(sales, rate, threshold,
IF(sales > threshold, sales * rate, 0)
)LAMBDA can call itself, enabling recursion without helper columns:
-- Name: FACTORIAL
=LAMBDA(n, IF(n <= 1, 1, n * FACTORIAL(n-1)))Before LAMBDA, repeating a complex formula in 50 cells meant maintaining 50 identical copies — change the logic once and you had to change it everywhere. LAMBDA means you change it once in the Name Manager and every cell using it updates automatically.
Type it in a live spreadsheet, get instant feedback. No videos, no downloads.
Start practising free →