分类: WPS

wps公式函数学习

  • WPS表格中LET函数深度解析及应用实例分享

    LET函数是WPS表格新增的函数之一,它用于在公式中定义变量并为其赋值,再通过变量名引用计算结果,实现公式简化、避免重复计算、提升可读性和运算效率。可用于通过定义公式内的名称来存储中间计算结果和值,将计算结果分配给名称,这些名称仅在LET函数作用域内适用。

    语法:=LET(名称1,名称值1,计算或名称2,…)

    参数说明:

    [名称1]:变量名称,指的就是定义名称,可以是中文可以是字母等(如总分、折扣率,需符合WPS表格命名规则,不能以数字开头)。

    [名称值1]:变量对应的值或计算结果,可以是单元格,可以是单元格区域,可以是函数公式等(如A2:A10、SUM(B2:B10))。

    [计算或名称2]:最终计算表达式,必须包含LET里已定义的一个或若干名称的函数公式等。

    以上是对LET函数的语法和参数的具体介绍,下面通过一些应用实例来具体介绍它在WPS表格中的应用场景。

    1.简化多步骤计算(总分+平均分)

    需求:计算学生的“总分”和“平均分”,避免公式中重复引用数据区域。

    数据示例:

    公式:=LET(总分,B2:B4+C2:C4,平均分,总分/2,HSTACK(A2:A4,总分,平均分))

    解释:通过定义“总分”变量,避免在“平均分”公式中重复计算B2:B4+C2:C4。

    2.避免重复计算(折扣价计算)

    需求:根据“原价”和“折扣率”计算“折后价”和“节省金额”,避免重复引用原价。

    数据示例:

    公式:=LET(原价,B2:B4,折扣价,原价*C2:C4,节省金额,原价-折扣价,VSTACK({“商品”,”折扣价”,”节省金额”},HSTACK(A2:A4,折扣价,节省金额)))

    解释:“原价”变量仅计算一次,后续“折后价”和“节省金额”直接引用,减少运算量。

    3.名称值为函数公式

    需求:对二维表格数据进行转换为一维表格。

    数据示例:

    公式:=LET(fx,LAMBDA(x,TOCOL(IF(B2:D4<>””,x,1/0),3)),HSTACK(fx(A2:A4),fx(B1:D1),fx(B2:D4)))

    解释:定义了一个名为fx的LAMBDA函数,并在后续计算中重复调用它。‌HSTACK函数将上述三个结果‌水平堆叠‌,生成最终的三列输出。

    4.排名计算与动态排序(RANK+SORT)

    需求:计算“销售额”降序排名,并按排名升序排列数据。

    数据示例:

    公式:=LET(数据,A3:D8,工资,INDEX(数据,,4),排名,RANK(工资,工资,0),SORT(HSTACK(数据,排名),5,1))

    解释:排名,变量独立计算,避免在排序时重复调用。

    5.多变量统计(求和+计数+平均)

    需求:一次性计算“销量”列的总和、计数、平均值,变量化多指标统计。

    数据示例:

    公式:=LET(工资汇总,SUM(D3:D8),计数,ROWS(D3:D8),平均,工资汇总/计数,VSTACK({“工资总和”,”人数”,”平均工资”},HSTACK(工资汇总,计数,平均)))

    解释:通过变量一次性存储多个统计结果,最后用VSTACK和HSTACK来堆叠输出结果。

    6.模拟FOR循环

    需求:从5开始逐步减1,每次把这个数加入结果数组。

    数据示例:

    公式:=LET(fx,LAMBDA(x,y,IF(x=0,DROP(y,1),fx(x-1,VSTACK(y,x)))),fx(5,””))

    解释:生成5的倒数的序列数。

    7.将表格倒置过来

    需求:将一个表格的数据整体倒转过来。

    数据示例:

    公式:=LET(fx,LAMBDA(x,IF(ROWS(x)=1,x,VSTACK(fx(DROP(x,1)),TAKE(x,1)))),fx(A2:B16))

    解释:生成一个倒置的表格数据。

    8.来一个中式排名

    需求:对成绩前3名(含第3名)进行排名。

    数据示例:

    公式:=MAP(B2:B10,LAMBDA(x,LET(y,SUMPRODUCT((B2:B10>=x)/COUNTIF(B2:B10,B2:B10)),IF(y>=4,””,y))))

    解释:LET(y, SUMPRODUCT(…), IF(…)),作用:通过LET定义变量y(存储中间计算结果),简化公式逻辑。根据y的值判断输出内容:若y≥4(大于等于x的唯一值数量≥4),返回空字符串(””);否则返回y(唯一值数量)。

    9.提取数据为两列

    需求:前面的数字是学生的序号,后面是这批学生对应的积分,但是由于填写的不规范,实际比较乱(模拟的最乱情况),现在想整理成一维表,一列学号,一列积分。

    数据示例:

    公式:=LET(t,TOCOL(REGEXP(A1,”\d+”)),IF({1,0},DROP(t,-1),TAKE(t,-1)))

    解释:公式用于从A1单元格文本中提取所有数字,并将其拆分为两列结果:第一列:提取的所有数字(除最后一个数字外);第二列:提取的最后一个数字。

    10.汇总多个工作表

    需求:对1—3月表数据进行汇总(月表格式一致)

    数据示例:

    公式:=LET(x,VSTACK(‘1月:4月’!A2:B20),GROUPBY(TAKE(x,,1),TAKE(x,,-1),SUM,,,,TAKE(x,,1)<>””))

    解释:公式通过LET函数定义变量,结合VSTACK合并多表数据,最终使用GROUPBY分组聚合,实现跨工作表数据的汇总分析。整体逻辑为:合并数据→分组求和→筛选非空行。

    通过以上场景可见,LET函数通过变量定义解决了传统公式的“可读性差、重复计算、逻辑复杂”三大痛点,是WPS表格中“公式模块化”的核心工具,尤其适合处理多步骤、复杂逻辑的数据计算,赋予表格“灵魂级”的灵活性与效率,是数据分析师的必备技能。

  • LAMBDA函数详解

    LAMBDA函数,中文发音为“拉姆达”。这个函数的诞生,标志着表格函数也进入了编程时代。Excel中的LAMBDA函数是一种自定义函数,允许用户根据自己的需求创建一个特定的函数。使用LAMBDA函数可以将一系列操作组合成一个简单的函数,方便在工作表中重复使用。

    这个函数在Excel365版本和当前的WPS最高版本中可用。

    说它是公式函数领域的尖端水平也毫不为过,没用过或用不上的人可能视之为鸡肋,一旦用过则是爱不释手。

    在Excel中调出函数BYROW的函数板,它的作用是“将LAMBDA函数应用于每一行并返回结果的数组”。

    也就是说这是一个专门为LMABDA服务的函数,BYROW脱离了LMABDA将毫无价值,而这样的函数总共有6个:

    BYROW, BYCOL, MAKEARRAY, MAP, REDUCE, SCAN

    6个函数的功能大相径庭各有千秋,但它们有着一个共同的使命:让LAMBDA更强大更灵活。

    LAMBDA就像大哥一样带着一群小弟闯荡江湖。接下来会对小弟们逐一分析介绍,但在此之前得先认识LAMBDA。

    =LAMBDA([参数1,参数2,参数3……],计算)

    参数:要传递给函数的值,例如单元格引用、字符串或数字。最多可以输入 253 个参数。此参数可选。

    计算:要作为函数结果执行并返回的公式。其必须为最后一个参数,且必须返回结果。此参数是必需项。

    LAMBDA总共253个参数中,如果启用了前N个,那么前N-1个参数用于定义参数,第N个参数则用于定义计算。

    =LAMBDA(x,y,a,b,(x+y+b)*a)

    例如这个公式中启用了5个参数,前4个用于定义参数x,y,a,b,第5个参数则用于定义计算(x+y+b)*a

    以上公式仅仅定义了参数和计算,4个参数并没有具体的值,所以输入到单元格中并不会返回具体的结果。

    给参数赋值的方式是在LAMBDA后面紧跟一个括号,把各个参数的值置于其中:

    =LAMBDA(x,y,a,b,(x+y+b)*a)(2,4,3,2)

    这里的(2,4,3,2)依次传递给x,y,a,b,然后用它们执行计算(2+4+2)*3,返回结果24.

    如果在vba里,实际上相当于先定义一个函数,然后再调用,只是在单元格里,这是一个匿名函数,如果结合自定义名称使用 就和VBA一模一样了!

    Function fx(x,y,a,b) fx=(x+y+b)*a)End Function//然后再调用fx(2,4,3,2)

    除了传递数值,引用和公式也是常规操作:

    =LAMBDA(x,y,a,b,(x+y+b)*a)(A2,B2,C2,IF(D2<0,-D2,D2))

    A2,B2,C2分别传递给x,y,a,而传递给b的则是IF判断的结果。

    这种通过括号赋值传递参数,在其他任何函数身上都看不到,是LAMBDA特有的方式。

    另外一种传递参数的方式是定义名称。

    在公式选项卡下定义名称,名称可用自由命名,LAMBDA公式粘贴到【引用位置】。

    在工作表中调用名称并对其赋值:

    =AA(A2,B2,C2,D2)

    这样的操作相当于定义了一个新的函数,函数名为AA,有4个参数,函数的功能是前三个值相加后乘以第四参数。

    定义计算时可用调用Excel自带的任何函数,任意组合来达到想要的目的。这就是LMABDA另一个强大之处,支持用户自定义函数,包括函数的功能,参数都可以自由发挥。