EXCEL数组公式的理解和技巧(未完成)

1 小心特例  frenquce

会划分为n+1个区间

=SUMPRODUCT(IF(FREQUENCY(B5:B18,B5:B18)>0,1,0)*IF(VALUE(MID(A5:A18,6,1))=5,1,0))

 

2 用0/  和1/0 +数组公式来解决问题

=SUMPRODUCT(1/COUNTIF(B5:B18,B5:B18))

这个只返回了B列里不重复的数据个数,确实是10个

=SUMPRODUCT(1/(COUNTIF(B5:B18,B5:B18)*IF(VALUE(MID(A5:A18,6,1))=5,1,99999999)))

这个返回了B列里不重复的数据个数 且 月份=5的,个数是5个

不能用这个错误写法

=SUMPRODUCT(1/(COUNTIF(B5:B18,B5:B18)*IF(VALUE(MID(A5:A18,6,1))=5,1,99999999)))

=SUMPRODUCT(1/(COUNTIF(B5:B18,B5:B18)*IF(VALUE(MID(A5:A18,6,1))=5,1,0))) 这样就会报错,因为1/0报错

技巧核心

熟悉

行列式运算,

揭秘  1/()   0/()

一般是要么查找

要么查找不重复的个数,可以多条件

多个条件一般是 相乘的关系

矩阵运算

 但是有些地方故意利用0

比如

 =IFERROR(LOOKUP(1,0/(COUNTIF(B$5:B5,B$5:B$18)=0),B$5:B$18),"")

故意让0/0得出错的

0/1 就是想要的数据

所以也可以改成 0/2都行

 

 

用if 才能变成数组

 

 

 

数组的技巧

上面这些写法无法形成数组,

而想输出数组,除了用数组公式3个键,还得把  单参数得地方,也写成1个数组

看这里,用countif() 生成1个数组,而不只是1个结果

怎么操作

1 前面range,还是根据需要设定

2 后面的 查找标准criteria,需要从1个数,变成1个数组‘

3 且要按三键

这2个虽然, 查找标准criteria1个数组,没有if还是不行

加了if 就开始做了逐个处理

=COUNTIF(B$5:B5,B$5:B$18)

=0/COUNTIF(B$5:B5,B$5:B$18)

=IF(0/COUNTIF(B$5:B5,B$5:B$18)=1,1,0)

=IF(0/COUNTIF(B$5:B5,B5:B18)=1,1,0)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值