今天老祝和大家分享一个函数应用的知识,看看你的Excel函数功力是不是使用的比较溜。
先来看下面的数据,要根据C列的部门在A列生成一组序号,如果有不同的部门,序号就增加1:
文艺青年这样用:
=SUMPRODUCT(1/COUNTIF(C$2:C2,C$2:C2))
这个公式的思路,实际上就是依次统计C列部门的不重复个数,感兴趣的小伙伴,可以点此了解一下公式解释哈。
走你青年这样用:
=SUM(C2<>C1,A1)
公式用C2<>C1,来对比C列当前行的部门是不是和上一行的部门名称相同,得到逻辑值TRUE或是FALSE。逻辑值作为SUM函数参数时,TRUE相当于1,FALSE相当于0,并且可以忽略单元格中的文本。
以A2单元格中的公式为例:
=SUM(C2<>C1,A1),C2单元格的“企划”不等于C1的“部门”,因此C2<>C1得到逻辑值TRUE,用它和A1作为SUM函数的参数,SUM函数忽略A1单元格的文本,只计算TRUE,最终得到计算结果1。
到了A3单元格,公式变成:
=SUM(C3<>C2,A2) ,C3单元格与C2相同,因此C2<>C1得到逻辑值FALSE,用它和A2单元格的序号1作为SUM函数参数,最终结果是2。
其他单元格的计算过程也是如此。
佛系青年这样用:
=(C2<>C1)+N(A1)
这个公式的思路和方法二相同,但是更为直接,用C2<>C1得到的逻辑值,直接与上一个单元格相加。
有同学可能会说:这里为什么要使用N(A1)呢?直接使用A1不可以吗?
因为A1的内容是文本“序号”,如果直接使用加法计算,会返回错误值。咱们加上一个N,就能把文本转换为0,而数值则会仍然返回原有的值。
怎么样?一样的序号有三种方法可以解决,你更喜欢哪一种呢?
老祝说:真正的高手,并不是一定要会使用很多很多的函数公式,而是能把简单的公式应用到极致,正所谓手中无刀,心中有刀。
评论(0)