引言
你是不是也曾被Excel中复杂且重复的计算公式困扰?
有没有想过,像编程一样,把一段计算逻辑“封装”成函数,随时调用?
今天我们就来彻底搞懂Excel中备受关注的LAMBDA函数——它不仅支持自定义函数,还能实现递归计算,被微软CEO萨提亚·纳德拉称为“让Excel成为编程语言”的重要功能。
一、什么是LAMBDA?它能做什么?
LAMBDA函数的核心只有一句话:把你常用的复杂计算逻辑,打包成一个自定义函数,随时调用。
举个例子:
你要计算一个圆形铝片的价格,已知条件有:
- 厚度 t = 2.2 mm
- 直径 d = 350 mm
- 铝密度 = 2.7 g/cm³
- 铝价 p = 20000 元/吨
常规公式非常长:
=ROUNDUP((d/2)^2*PI()*t/1000*2.7/1000000*p,1)每次都要重写,非常麻烦。
二、如何用LAMBDA封装成自定义函数?
语法结构:
=LAMBDA(参数1, 参数2, …, 计算表达式)封装铝片价格公式:
=LAMBDA(d, t, p, ROUNDUP((d/2)^2*PI()*t/1000*2.7/1000000*p,1))关键操作步骤:
- 复制上面的LAMBDA公式
- 点击【公式】→【定义名称】
- 名称输入 cost(自定义函数名)
- 在“引用位置”粘贴刚才的LAMBDA公式
- 点击确定
✅ 完成!现在你在单元格输入:
=cost(350, 2.2, 20000)就能直接输出结果,再也不用记那个超长的公式。
三、更强大的功能:LAMBDA递归
如果说自定义函数是LAMBDA的“基础技能”,那递归就是它的“终极武器”。
什么是递归?
简单说就是:函数在计算过程中调用自己。
以经典的阶乘计算为例:
Step 1:定义递归函数
- 名称:fx
- 引用位置输入:
=LAMBDA(x, IF(x=1, 1, fx(x-1)*x))Step 2:使用函数
在单元格输入:
=fx(5)得到结果:120 (即 5! = 5×4×3×2×1)
四、递归过程详解(看不明白可跳过,但建议了解)
我们以 =fx(5) 为例,拆解递归过程:
递的过程:
- fx(5):x≠1,执行 fx(4)*5
- fx(4):x≠1,执行 fx(3)*4
- fx(3):x≠1,执行 fx(2)*3
- fx(2):x≠1,执行 fx(1)*2
- fx(1):x=1,返回 1
归的过程:
- fx(1) = 1
- fx(2) = fx(1)2 = 12 = 2
- fx(3) = fx(2)3 = 23 = 6
- fx(4) = fx(3)*4 = 6×4 = 24
- fx(5) = fx(4)*5 = 24×5 = 120
通过这种“自己调用自己”的方式,LAMBDA实现了原本在Excel中不可能完成的循环计算。
五、LAMBDA的适用场景与学习建议
适合使用LAMBDA的场景:
- 经常重复使用的复杂计算公式
- 需要多人协作,统一计算标准
- 实现原本需要VBA才能完成的循环计算
学习建议:
- 先从封装简单公式开始,比如单位换算、税费计算
- 再尝试递归解决阶乘、斐波那契数列等经典问题
- 熟练后可构建小型函数库,提升整个团队效率
结语
LAMBDA的出现,让Excel从“计算工具”真正迈向了“低代码编程平台”。虽然学习曲线略陡,但一旦掌握,将极大提升你的数据处理能力。
当然,如果你已经面临非常复杂的数据处理需求,学习Python可能是更长远的选择。但对于日常办公场景下的Excel深度用户来说,LAMBDA无疑是近年来最值得学习的函数之一。
动手试一试吧!把你最头疼的那个公式,用LAMBDA封装起来,体验一下“一劳永逸”的快感。
测试题
1. LAMBDA函数的主要作用是什么?
A) 替换所有Excel内置函数
B) 将复杂计算逻辑封装成自定义函数
C) 提高Excel运行速度
D) 美化表格格式
2. 在Excel中如何使用自定义的LAMBDA函数?
A) 直接在单元格输入LAMBDA公式
B) 通过【公式】→【定义名称】来创建函数
C) 在VBA编辑器中定义
D) 在Power Query中设置
3. 关于LAMBDA递归,以下描述正确的是?
A) 递归是指函数调用其他工作簿的函数
B) 递归是函数在计算过程中调用自身
C) 递归只能用于数学计算
D) 递归会显著降低Excel性能
答案
- B) 将复杂计算逻辑封装成自定义函数
- B) 通过【公式】→【定义名称】来创建函数
- B) 递归是函数在计算过程中调用自身
关键词: #Excel技巧 #LAMBDA函数 #自定义函数 #递归计算 #办公效率
(完)
