函数入门与高手的差距在哪里?

作者:E精精 发布时间: 2022-12-06 15:28 阅读(449)  

老铁你觉得你的Excel函数公式掌握的怎么样?不如我们通过一个实际案例来检测一下吧!
数据及需求说明如下!
题目不算难,适合练习,一共有两个条件,一个是全年不能有小于30的,还有一个限定,每个季度至少有一次大于等于75的,两个条件都符合返回1,否则返回0
 
下面我们看看各学习阶段的解法
▍基础阶段
下面是在掌握的基础函数没有掌握数组公式之前,能想到的最直接的写法!
但是就是这样的公式,你也需要一定的基础,比如简单的AND和COUNTIF
=IF(
    AND(
        COUNTIF(B2:M2, “<30”) = 0,
        AND(
            COUNTIF(B2:D2, “>=75”) > 0,
            COUNTIF(E2:G2, “>=75”) > 0,
            COUNTIF(H2:J2, “>=75”) > 0,
            COUNTIF(K2:M2, “>=75”) > 0
        )
    ),
    1,
    0
)
基础阶段,主要还在模仿或者说函数的基础应用上,没有数组的知识,没有办法做到简化公式或者优化公式!一般就是怎么想怎么写!
▍进阶阶段
进阶阶段,我们有一定的函数基础,明白函数参数的数组化基础用法,对逻辑值的处理有一定的了解!
=AND(
    COUNTIF(B2:M2, “>=30”),
    COUNTIF(OFFSET(B2, , {0, 3, 6, 9}, , 3), “>=75”)
) * 1

是不是简化了很多,这或许就是数组的魅力了!
OFFSET部分形成了三维区域,对一个每个季度,共4个,COUNTIF函数第一参数需要是引用且支持多维区域,他们也属于进阶阶段的常用写法!
对于逻辑值在进阶阶段,我们有了进一步的理解的认知,比如0为FALSE,非0为TRUE,这里真是利用了这个知识点,所有不需要判断是>0,因为0个就是FALSE,AND中有一个是FALSE结果就是FALSE! 其次四则运算可把逻辑值转成对应的数值!
▍随性阶段
没有所谓的高阶阶段,后期都是随心所欲地去写公式!平时写多了,很多常见的套路烂熟于心了!看到问题基本也就有了思路,字符竞赛这种更能锻炼大家的思路、碰撞出新的思路和技巧!
=AND(
    B2:M2 >= 30,
    MMULT(-WRAPROWS(B2:M2 >= 75, 3), {1; 1; 1})
) * 1
思想不陈旧,不断地学习,新老版本结合,怎么舒服或者怎么简洁怎么写!
以上我们都使用COUNTIF有统计是有30,其实也就是要全部大于30,配合AND其实不需要再做什么多余的处理!
WRAPROWS属于365新增函数,之前我们已经分享过,可以把一行转成多行多列,这里就是把一行拆分成多行,3列一组,对应季度!
MMULT在这里其实就是分别季度累计求和!我们也可以使用BYROW来代替!
=AND(
    B2:M2 >= 30,
    BYROW(
        –WRAPROWS(B2:M2 >= 75, 3),
        LAMBDA(x, SUM(x))
    )
) * 1
但是这里使用MMULT更加简洁,但是对新手朋友来说,有点难度!
其实没有所谓的高手,除了部分真正聪明的人,但是那真的很多,大部分所谓的高手,无非比你准备的够充分!
 

保持学习、勤加练习、学会思考和总结!这就是高手的秘密!
 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注