excel函数技巧:reduce函数实现规划求解-趣帮office教程网

如图,D列为数量,需要把数量进行拆分,要求D1:D7拆分为最大8的平均值,最多允许小数点后两位。公式如下:

=LET(X,IFERROR(REDUCE("",SEQUENCE(6,,2),LAMBDA(X,Y,

VSTACK(X,IF((D1/Y<=8)*(D1/Y=ROUND(D1/Y,2)),EXPAND(D1/Y,,Y,D1/Y),"")))),""),

FILTER(X,INDEX(X,,1)<>""))

公式思路:本公式主要通过reduce函数实现对目标进行分解,其中的y项sequence(6,,2)生成从2开始一直到7的数列,它的主要作用是提供等分的目标,如2,即表示2等分,目标数组。3,即表示3等分目标数组。

lambda表达式的意思为判断等分后的数据是否大于8,同时是否能在百分位上满足。两个条件都成立,则把等分数值扩展到等分数量一样多的列,如2等分后扩展成2列。

filter函数负责清理不符合要求和数据。

excel对找出几个数据满足几个条件这样的问题设置了规划求解的方法,现在用多出了用函数求解的办法。