LAMBDA()是一个革命性的函数,你可以用它创建新函数,函数的名称,参数,功能都可以自行设计。

不涉及编程,学习成本低,哪怕是新手也能在一杯奶茶的时间学会。

简单的案例来认识一下,LAMBDA().


第一步:常规公式

这是一个常用公式,从身份证号码中提取出生日期。

=--TEXT(MID(A2,7,8),"0-00-00")

提取出生日期


第二步,LAMBDA定义参数和功能

在B3输入公式

=LAMBDA(号码,--TEXT(MID(号码,7,8),"0-00-00"))

LAMBDA第一参数:定义了一个参数,参数名称“号码”;

LAMBDA第二参数:定义了一个公式,公式的作用是从“号码”中提取出生日期。也是要定义的新函数的功能。

公式返回错误值,因为参数“号码”还没有被赋值。

LAMBDA


第三步,给参数赋值测试LAMBDA

B3公式修改为

=LAMBDA(号码,--TEXT(MID(号码,7,8),"0-00-00"))(A2)

在第二步公式的基础上,LAMBDA后面多了一个括号(A2),表示引用A2单元格作赋值给参数“号码”,用于LAMBDA执行第二参数的运算。

其效果等同于B2单元格的公式。

LAMBDA



第四步,定义一个新的函数

绕了一大圈,最终还是从数据中提取身份证号码,意义何在?

【公式】选项卡下点击【定义名称】

名称设置为”SFZ”,

第二步中定义好的LAMBDA公式输入到“引用位置”。

=LAMBDA(号码,--TEXT(MID(号码,7,8),"0-00-00"))

定义名称



第五步,使用函数

恭喜你,创造了一个新的函数:SFZ(号码)

函数名称:SFZ

参数:号码

函数功能:从身份证中提取出生日期

调用函数SFZ

假设场景:需要处理的身份证号码每天在批量新增,添加到不同的工作表上。

用SFZ()会不会比输入那个长长的公式要快很多呢?

=SFZ(A2:A7)

函数SFZ

两个弊端:

  • 定义的函数不能跨工作簿使用;
  • 你同事很可能看不懂。