如表格中,斐波那契数列(英文:Fibonacci sequence),又称黄金分割数列,因出自于意大利数学家斐波那契的一道兔子繁殖问题而得名。斐波那契数列指的是形如的数列。这个数列的前两项为1,从第3项开始,每一项都即是前两项之和:1、1、2、3、5、8、13、21、34……如何求得每一项的结果,公式如下:
=LET(FX,LAMBDA(digui,x,IF(x<3,1,digui(digui,x-1)+digui(digui,x-2))),

FX(FX,E2))
公式思路:
本例紧张讲的是lambda递归的用法。递归便是指调用自身直到条件不符合为止的算法。lambda函数对递归的支持使函数具备了一门编程措辞的所有算法:条件、循环、递归。
本例中的FX变量便是一个递归变量,它在过程中调用FX本身来参与打算,直到符合x<3这个条件,才会将数值相加,得出结果。
现在的office365最大的改进之处是支持了利用let函数直接调用递归函数,而不是像以前一样须要将递归函数放在名称管理器里,这样函数的编写就更加直接,更加随意马虎编辑出来,以为递归函数的广泛利用供应了条件。这便是说在excel中实现递归有两种方法,一是直接写出来,另一种办法是利用名称管理器:
在引用位置输入:=LAMBDA(x,IF(x<3,1,FX(x-1)+FX(x-2)并在结果单元格中输入FX(E2),也可以得到结果。
比拟两种方法我们可以看出直接输入法比较快捷,但对digui这个形式参数的理解有很高的哀求,这并不通报表格中实现的数值,只是调用递归的形参,由于它的存在,递归函数本身的调用也会发生一些变革 。
第二种方法须要调用对话框,须要交互式填入,可能效率低一些,可调试性差一些,但更加的直不雅观。
你喜好哪一种呢,欢迎评论区中互换。