| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1312 人关注过本帖
标题:Excel发布LAMBDA功能,实现图灵完备
只看楼主 加入收藏
Anfei1979
Rank: 3Rank: 3
来 自:湖北武汉
等 级:论坛游侠
威 望:4
帖 子:30
专家分:104
注 册:2021-12-11
收藏
 问题点数:0 回复次数:1 
Excel发布LAMBDA功能,实现图灵完备
日前,微软宣布在Excel Insider Beta版本中发布了一项新功能LAMBDA。Excel公式是世界上使用最广泛的编程语言,方便快捷的Excel公式也是大家最常用的功能,但是Excel公式的死的无法自定义。如果能在其基础上进行自主定义和编程是一个很大使用场景,现在这个愿望可以达成了,使用LAMBDA可以基于公式实现可自定义可重用函数的能力。
概述

简而言之,LAMBDA允许用户将Excel的公式语言来定义自己的自定义功能。Excel已经允许定义自定义函数,但是只能通过使用完全不同的语言(例如VBA,JavaScript)编写它们。LAMBDA则可以让用户使用Excel自己的公式语言定义自定义函数。还支持在函数中调用其他函数,通过函数调用可以部署的功能不受限制。在很多语言中,有函数式编程的lambda语法,同样的LAMBDA的引入标志着Excel公式语言完成了图灵完备。

使用LAMBDA,可以通过Excel中现有公式,并将其打包为在LAMBDA函数,并重命名命名。然后,就可以在工作表中的任何地方引用该函数,在整个工作表中可以重复使用该自定义函数。

LAMBDA还支持递归。例如,如果创建一个名为MYFUN的LAMBDA,则可以在MYFUN的定义内调用MYFUN。此前,递归功能必须通过脚本来实现。
LAMBDA基础

= LAMBDA包含以下三个关键部分:LAMBDA功能组件,命名lambda和调用lambda函数

LAMBDA功能组件

一个创建基本lambda函数的示例。

假设我们有以下公式:

=LAMBDA(x, x+122)

在公式中, x是调用LAMBDA时可以传递的参数,而x + 122 是逻辑。

例如,假设调用了lambda并为x输入值1,则Excel将执行以下计算:

1 + 122

而1+122=123

命名lambda

如果对LAMBDA命名,就可以实现简单重用,为了达到该目的需要需要使用名称管理器。

可以在功能区中找到"名称管理器",方法是:

公式>名称管理器

调用LAMBDA

简而言之,调用lambda函数的方式与在Excel中调用本机函数的方式相同。

例如对前面的示例,可以直接调用MYLAMBDA :

= MYLAMBDA(122)

返回值:123

最后要注意的一点是,可以在不命名的情况下调用lambda。如果没有命名前面的公式,而只是在网格中编写它,可以如下调用它:

=LAMBDA(x, x+122)(1)

这将为x传递1,并返回123

可重用的自定义功能

在Excel中使用公式的更具挑战性的部分之一是经常会使用相当复杂的公式,这些公式在工作表中多次重复使用(通常仅通过复制/粘贴)。这样会使其他人很难阅读和理解其功能,而且更容易出错,进行故障分析和修复也比较困难。使用LAMBDA,可以重复使用并具有可组合性。

假设有一个序号列表,其中位置编码(双字母)在需要中,需要将该值提取出来:
搜索更多相关主题的帖子: 函数 自定义 调用 公式 Excel 
2022-04-16 10:22
Anfei1979
Rank: 3Rank: 3
来 自:湖北武汉
等 级:论坛游侠
威 望:4
帖 子:30
专家分:104
注 册:2021-12-11
收藏
得分:0 
大家可搜索相关信息,努力尽快掌握这一新式开发工具

南京工业大学理工科硕士,武汉某大型国有企业副科级干部
2022-04-16 10:23
快速回复:Excel发布LAMBDA功能,实现图灵完备
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014152 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved