大家好,欢迎来到IT知识分享网。
如图,D至M列为源数据,想得到每个数字除以4的余数并按归类将个数汇到O-R列。公式如下:
=REDUCE(0,FILTER($D2:$M2,$D2:$M2<>””),LAMBDA(x,y,SUM(VSTACK(x,IF(MOD(y,4)=COLUMN(A1)-1,1,0)))))
公式思路:
reduce函数实现每列数据分别与4相除并得到余数,根据O-R列的要求将不同的余数进行判断,如果与列的要求相同就判定为1,其余判定为0,再将累积的x值,也就是所有的1和0相加就得到个数。
filter的目标是实现将空白单元格去除,不然在运算过程中会以0的数值参与运算,汇总出的数量就会是错误的。
本例不用reduce也能解决,但计数方式就得用count这样的函数啦,此例就是说明reduce可以代替函数,也可以说是创造出新的函数。为什么要这么做呢?我们知道在编程语言中将代码以函数的形式写出来是很正常的手法,所以excel函数的学习也不能停留在仅仅使用已有函数上,要会创造出自己的函数。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/89811.html