这个excel函数怎么理解?
一个求连续0两次或以上出现次数的数组函数,我看不太明白=SUM(--(FREQUENCY(IF(A1:A12=0,ROW(A1:A12)),IF(A1:A12<>0,RO...
一个求连续0两次或以上出现次数的数组函数,我看不太明白
=SUM(--(FREQUENCY(IF(A1:A12=0,ROW(A1:A12)),IF(A1:A12<>0,ROW(A1:A12)))>=2)) 展开
=SUM(--(FREQUENCY(IF(A1:A12=0,ROW(A1:A12)),IF(A1:A12<>0,ROW(A1:A12)))>=2)) 展开
展开全部
首先“&”在EXCEL公式中表示 连接符号左右两边的字符。就是这个意思!上面的公式:左边区域A2:A10与右边区域B2:B10两两连接,与=A2&B2 这样的效果类似区别在于,像=A2&B2这样的公式,每次只算两个格子。而像上面的公式,一次把所有的值都算好了,然后就是按单元格得相对位置不同,把结果显示出来!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,这是个数组公式,也就是要按 Ctrl + Shift + Enter结束的公式。
IF(A1:A12=0,ROW(A1:A12)) --- 表示提取A1:A12中所有为0的单元格的行号,假设A5,A7,A8无数据,则它的结果为12个数据的数组A:{,,,,5,,7,8,,,,},不为数字的数是false
IF(A1:A12<>0,ROW(A1:A12)) --- 表示提取A1:A12中不为0的单元格的行号,假设A5,A7,A8无数据,则它的结果为12个数据的数组B:{1,2,3,4,false,6,false,false,9,10,11,12}
重点是FREQUENCY()函数,它是求一组数据中,按照第二组数据的大小进行分段,统计每一段数据个数。这里返回一组数 C{0,0,0,0,0,1,0,0,2,0,0,0,0},简单来说,就是将12个行号,分成了两个数组,数组A代表为0的行号,数组B代表不为0的行号,然后数组A按照数组B来分组并统计每组的个数。
再将数组C与2进行比较,大于等于2则返回1,得到数组D {0,0,0,0,0,0,0,1,0,0,0,0,0}
负负得正,一般是用来滤掉不为数字的值,如false,#value,等
最后对数组D进行求和,就得到连续两次以上为0的组数。
IF(A1:A12=0,ROW(A1:A12)) --- 表示提取A1:A12中所有为0的单元格的行号,假设A5,A7,A8无数据,则它的结果为12个数据的数组A:{,,,,5,,7,8,,,,},不为数字的数是false
IF(A1:A12<>0,ROW(A1:A12)) --- 表示提取A1:A12中不为0的单元格的行号,假设A5,A7,A8无数据,则它的结果为12个数据的数组B:{1,2,3,4,false,6,false,false,9,10,11,12}
重点是FREQUENCY()函数,它是求一组数据中,按照第二组数据的大小进行分段,统计每一段数据个数。这里返回一组数 C{0,0,0,0,0,1,0,0,2,0,0,0,0},简单来说,就是将12个行号,分成了两个数组,数组A代表为0的行号,数组B代表不为0的行号,然后数组A按照数组B来分组并统计每组的个数。
再将数组C与2进行比较,大于等于2则返回1,得到数组D {0,0,0,0,0,0,0,1,0,0,0,0,0}
负负得正,一般是用来滤掉不为数字的值,如false,#value,等
最后对数组D进行求和,就得到连续两次以上为0的组数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询