如何判断公式是不是数组?
上图中绿色区域为问题区,公式如下:E34=如何判断这是一组数组,为什么要用数组的组合键结束?我想问的就是为什么要用数组公式,为什么要用数组组合键结尾,怎么从公式中判断这是...
上图中绿色区域为问题区,公式如下:
E34=
如何判断这是一组数组,为什么要用数组的组合键结束?
我想问的就是为什么要用数组公式,为什么要用数组组合键结尾,怎么从公式中判断这是一组数组? 展开
E34=
如何判断这是一组数组,为什么要用数组的组合键结束?
我想问的就是为什么要用数组公式,为什么要用数组组合键结尾,怎么从公式中判断这是一组数组? 展开
1个回答
展开全部
这是一个很明显的数组公式
可以从COUNTIF函数的构成来看
COUNTIF函数
计算区域中满足给定条件的单元格的个数。
语法
COUNTIF(range,criteria)
Range 为需要计算其中满足条件的单元格数目的单元格区域。
Criteria 为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、"32"、">32" 或
"apples"。
在一般的公式中 Criteria 这个参数 只会用一个单元格做为条件
如 =COUNTIF(A:A,B1) 意思为在A列区域查找B1单元格内容并统计出个数
而COUNTIF(A34:D39,A34:D34) 公式中Criteria参数变成了单元格区域,公式意思就是在A34至D39单元格区域分别查找A34,B34,C34,D34单元格的内容包含的个数,这样就是一个数组形态了
数组公式必须用数组组合键三键齐按才会自动在公式的前后自动加上一对花括号{ },这是程序认可的,形式,才会以数组方式进行运算,这样的公式手动输入的花括号不会有这个作用,
至于为什么要用数组公式,这就要从公式设置的目的来考量了,AND函数配合COUNTIF函数,这个公式的目的是用A34至D34这样一行的单元格来比对A34至D39单元格区域是否有相同的内容的,因为这行单元格本身也在这个区域中,所以这行的每个单元格都会在区域中找到本身这个值,所以要得出的值大于1,如果区域中出现一行相同的内容则这行各个值都会统计出2来,这就说明出现重复的内容了,如图中"小溪"所在的行.
但这个公式还有漏洞,或者说不够完美,我假设另一个部门也有一个同叫小李的人,再下行,同样也有一个人(这个不同名)是在"生产部"如"小溪"这行,还有一行"小青"这行是"主管",再有假设一行某人也是34岁,那么公式就会报"有",这就产生错误了(这个小表格出错机会少,大工厂大公司这个出错概率就大了)
当然也可以不用数组公式来做这个题,而且公式还会更简单,更准确一些,因为07版有一个COUNTIFS函数
公式可以写成
=IF(COUNTIFS(A:A,A34,B:B,B34,C:C,C34,D:D,D34)>1,"有","")
这是普通公式,是四个条件逐行比对的
如果要用03版写这个公式
我会用SUMPRODUCT函数,不须要加数组三键
=IF(SUMPRODUCT((A$34:A$39=A34)*(B$34:B$39=B34)*(C$34:C$39=C34)*(D$34:D$39=D34))>1,"有","")
可以从COUNTIF函数的构成来看
COUNTIF函数
计算区域中满足给定条件的单元格的个数。
语法
COUNTIF(range,criteria)
Range 为需要计算其中满足条件的单元格数目的单元格区域。
Criteria 为确定哪些单元格将被计算在内的条件,其形式可以为数字、表达式或文本。例如,条件可以表示为 32、"32"、">32" 或
"apples"。
在一般的公式中 Criteria 这个参数 只会用一个单元格做为条件
如 =COUNTIF(A:A,B1) 意思为在A列区域查找B1单元格内容并统计出个数
而COUNTIF(A34:D39,A34:D34) 公式中Criteria参数变成了单元格区域,公式意思就是在A34至D39单元格区域分别查找A34,B34,C34,D34单元格的内容包含的个数,这样就是一个数组形态了
数组公式必须用数组组合键三键齐按才会自动在公式的前后自动加上一对花括号{ },这是程序认可的,形式,才会以数组方式进行运算,这样的公式手动输入的花括号不会有这个作用,
至于为什么要用数组公式,这就要从公式设置的目的来考量了,AND函数配合COUNTIF函数,这个公式的目的是用A34至D34这样一行的单元格来比对A34至D39单元格区域是否有相同的内容的,因为这行单元格本身也在这个区域中,所以这行的每个单元格都会在区域中找到本身这个值,所以要得出的值大于1,如果区域中出现一行相同的内容则这行各个值都会统计出2来,这就说明出现重复的内容了,如图中"小溪"所在的行.
但这个公式还有漏洞,或者说不够完美,我假设另一个部门也有一个同叫小李的人,再下行,同样也有一个人(这个不同名)是在"生产部"如"小溪"这行,还有一行"小青"这行是"主管",再有假设一行某人也是34岁,那么公式就会报"有",这就产生错误了(这个小表格出错机会少,大工厂大公司这个出错概率就大了)
当然也可以不用数组公式来做这个题,而且公式还会更简单,更准确一些,因为07版有一个COUNTIFS函数
公式可以写成
=IF(COUNTIFS(A:A,A34,B:B,B34,C:C,C34,D:D,D34)>1,"有","")
这是普通公式,是四个条件逐行比对的
如果要用03版写这个公式
我会用SUMPRODUCT函数,不须要加数组三键
=IF(SUMPRODUCT((A$34:A$39=A34)*(B$34:B$39=B34)*(C$34:C$39=C34)*(D$34:D$39=D34))>1,"有","")
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询