间接函数将文本字符串用作其参数(这就是区域1:10围绕引号括起的原因) 。当插入行或移动数组公式时,Excel不会调整文本值 。因此,此ROW函数总是生成所需的整数数组 。您可以同样轻松地使用序列:
=SEQUENCE(10)
我们来看看以前使用的公式-=大型(B9#,ROW(”1:3″))-从内部括号开始,并向外工作:间接函数返回一组文本值,在此情况下,值为1到3 。ROW函数反过来生成一个三个单元格的列数组 。大型函数使用单元格区域B9:B18中的值,并对ROW函数返回的每个引用进行三次计算 。如果要查找更多值,请向间接函数添加一个更大的单元格区域 。最后,与小型示例一样,你可以将此公式与其他函数(如SUM和AVERAGE)一起使用 。
处理错误
- 对包含错误值的区域求和
当您尝试对包含错误值的区域求和时,Excel中的SUM函数不起作用,例如#VALUE!或#N/A 。此示例演示如何对包含错误的名为数据的区域中的值求和:
- =SUM(IF(ISERROR(数据),””,数据))
该公式创建一个新数组,包含除错误值以外的原始值 。从内层函数开始向外运算,ISERROR函数在单元格区域(数据)中搜索错误 。IF函数在指定的条件计算结果为TRUE时返回指定值,在计算结果为FALSE时返回另一个值 。在此处,它为所有错误值返回空字符串(“”),因为它们的计算结果为TRUE,并且返回该区域(数据)中的其他值(因为这些值计算结果为FALSE,表示它们不包含错误值) 。接着SUM函数计算筛选出的数组的总和 。
- 计算区域中错误值个数
此示例与上一个公式类似,但它将返回一个名为数据的区域中的错误值的数目,而不是将它们筛选掉:
=SUM(IF(ISERROR(数据),1,0))
该公式创建一个数组,它为包含错误的单元格包含值1,为不包含错误的单元格包含值0 。可以简化该公式,并达到相同的结果,方法是移除IF函数的第三个参数,如下所示:
=SUM(IF(ISERROR(数据),1))
如果未指定该参数,IF函数在单元格不包含错误值时返回FALSE 。可以进一步简化该公式:
=SUM(IF(ISERROR(数据)*1))
此公式版本可以执行计算是因为TRUE*1=1并且FALSE*1=0 。
例如,此数组公式仅对名为Sales的区域中的正整数进行求和,这表示上例中的单元格E9:E24:
=SUM(IF(Sales>0,Sales))
IF函数创建正值和false值的数组 。SUM函数实际上将忽略false值,因为0+0=0 。在此公式中使用的单元格区域可以由任意数量的行和列组成 。
还可以对满足多个条件的值求和 。例如,此数组公式计算大于0且小于2500的值:
=SUM((销售额>0)*(销售额<2500)*(销售))
请注意,如果区域中包含一个或多个非数字单元格,此公式将返回错误 。
还可以创建使用OR条件的数组公式 。例如,你可以将大于0或小于2500的值相加:
=SUM((销售额>0)+(销售额<2500),销售额)
不能在数组公式中直接使用AND和OR函数,因为这些函数返回单一结果,TRUE或FALSE,而数组函数需要结果数组 。可以通过使用上一公式中显示的逻辑来解决这一问题 。换句话说,对满足OR或AND条件的值执行数学运算,如加法或乘法运算 。
本示例演示当您需要对区域中的值求平均值时,如何从该区域中移除零 。下面的公式使用名为“销售量”的数据区域:
=AVERAGE(IF(Sales<>0,Sales))
IF函数创建不等于0的值数组,然后将这些值传递给AVERAGE函数 。
计算两个单元格区域中的不同值个数此数组公式对名为“我的数据”和“您的数据”的两个单元格区域中的值进行比较并返回它们之间不同值的个数 。如果这两个区域中的内容完全相同,此公式将返回0 。若要使用此公式,单元格区域必须具有相同的大小和相同的维度 。例如,如果我是3行的范围5列,则数据还必须是3行,每列5列:
猜你喜欢
- 数字相减
- 编写方程式或公式
- 幸运竹富贵竹护理指南与种植技巧
- IF 函数 - 嵌套公式和避免错误
- 西岳指的是
- 独占鳌头指什么动物
- 青蛙一只手有几根手指
- 214送给女朋友的情人节礼物指南
- 六出花护理指南:六出花的种植、生长和养护技巧
- 玫瑰护理指南:玫瑰花种植技巧与养护方法
