IFERROR函数从结果中剔除不需要的值
发布网友
发布时间:2024-09-08 15:05
我来回答
共1个回答
热心网友
时间:2024-10-20 01:35
在使用公式时,我们经常遇到将某个值从结果数组中剔除,然后将该数组传递给另一个函数的情形。
例如,要获取单元格区域中除0以外的最小值,可以使用数组公式:
=MIN(IF(A1:A10>0,A1:A10))
或者对于Excel 2010及以后的版本,使用AGGREGATE函数:
=AGGREGATE(15,6,A1:A10/(A1:A10>0),1)
(注意,这里必须指定第1个参数的值为15(SMALL),因为如果指定其值为5(MIN)的话,AGGREGATE函数不接受除实际的工作表单元格区域外的任何值。然而,如果指定该参数的值为14-19,那么可以先操作任何单元格区域,也可以使用来源于AGGREGATE函数里的其他函数生成的数组、或者常量数组,这些都不是指定其值为1-13所能够处理的。)
然而,有时包含0的数组不是一个简单的工作表单元格区域而是由函数通过计算生成的数组。在这种情形下,特别是公式相当长时,重复的子句将使公式更长,这使得公式看起来很“笨重”,并且还会使Excel进行一些不必要的计算,例如:
=MIN(IF([a_very_long_formula]>0,[a_very_long_formula],””)
下面用一个例子来说明,如下所示:
在单元格H2中的公式为:
=MIN(SUMIFS(F2:F13,A2:A13,{“Mike”,”John”,”Alison”},B2:B13,”A”,C2:C13,”B”,D2:D13,”C”,E2:E13,”>=”&DATEVALUE(“2019/8/27”),E2:E13,”=”&DATEVALUE(“2019/8/27”),E2:E13,”=”&DATEVALUE(“2019/8/27”),E2:E13,”=”&DATEVALUE(“2019/8/27”),E2:E13,”<=”& DATEVALUE(“2019/8/29″)))),””))
简单解一下这个公式的运作原理。
根据上文得出的结果,上面的公式可以转换为:
=MIN(IFERROR(1/(1/({5,0,4})),””))
转换为:
=MIN(IFERROR(1/({0.2,#DIV/0!,0.25}),””))
转换为:
=MIN(IFERROR({5,#DIV/0!,4},””))
可以看到,Excel将1/#DIV/0!的结果仍返回为#DIV/0!。转换为:
=MIN({5,””,4})
结果为:
4
因此,可以使用这项技术来避免重复非常长的公式子句的情形。
也可以使用这项技术处理在公式中包含重复的单元格路径引用的情形。例如:
=IF(VLOOKUP(A1,’C:\Documents andSettings\Long_Filepath_Name1\Long_Filepath_Name2\Long_Filepath_Name3\[External_Workbook_with_Ridiculously_Long_Name.xlsx]Sheet1′!$A$1:$B$10,2,0)=0,””,VLOOKUP(A1,’C:\DocumentsandSettings\Long_Filepath_Name1\Long_Filepath_Name2\Long_Filepath_Name3\[External_Workbook_with_Ridiculously_Long_Name.xlsx]Sheet1′!$A$1:$B$10,2,0))
可以使用下面的公式替代:
=IFERROR(1/(1/VLOOKUP(A1,’C:\Documents andSettings\Long_Filepath_Name1\Long_Filepath_Name2\Long_Filepath_Name3\[External_Workbook_with_Ridiculously_Long_Name.xlsx]Sheet1′!$A$1:$B$10,2,0)),””)
除了排除零以外,我们还可以在很多情形下使用此方法。我们需要做的就是操控想要排除值的公式,将其解析为0后再放置在IFERROR(1/(1/…后。例如,要获取单元格A1:A10中除3以外的最小值,可以使用数组公式:
=MIN(IF(A1:A10>3,A1:A10))
也可以使用公式:
=MIN(IFERROR(1/1/(A1:A10-3))+3,””))
还有一个示例:
=MIN(IFERROR(POWER(SQRT(A1:A10),2),””))
与下面的公式结果相同:
=MIN(IF(A1:A10>=0,A1:A10))
返回单元格A1:A10中除负数以外的值中的最小值。
IFERROR函数从结果中剔除不需要的值
除了排除零以外,我们还可以在很多情形下使用此方法。我们需要做的就是操控想要排除值的公式,将其解析为0后再放置在IFERROR(1/(1/…后。例如,要获取单元格A1:A10中除3以外的最小值,可以使用数组公式:=MIN(IF(A1:A10>3,A1:A10))也可以使用公式:=MIN(IFERROR(1/1/(A1:A10-3))+3,””...
在EXCEL中,如何从数组公式得到的结果中忽略错误值,提取正确值?
一般办法是使用IFERROR把错误值设置为默认值,然后就可以用别的函数获得需要的结果(忽略默认值)对于你的例子,看样子是文本,可以把错误设置为空,函数是IFERROR(A1:A4,"")结果就能把{#VALUE!;"B";#VALUE!;#VALUE!}转换为{"";"B";"";""} ...
使用IFERROR函数,巧妙处理Excel中的错误结果
在Excel的数据处理中,IFERROR函数扮演着关键角色。它能够捕获并处理公式中的错误值,例如#DIV/0!、#N/A、#VALUE!等,确保工作表的稳定性和可读性。其基本语法为:=IFERROR(value, value_if_error)其中,value是需要检查的公式,如果存在错误,将使用value_if_error参数指定的值替代。这个功能在处理...
使用IFERROR函数,巧妙处理Excel中的错误结果
在Excel中,IFERROR函数犹如一个强大的错误处理工具,当公式运算出现错误值(如#DIV/0!、#N/A、#VALUE!等)时,它能智能地替换这些错误,提高数据处理的稳定性和报告的清晰度。其基本语法为:=IFERROR(value, value_if_error)其中,value是待检查的公式,而value_if_error则是当value计算出错时的返...
excel表格怎么指定数据剔除
IFERROR(INDEX(A$2:A$10,SMALL(IF(COUNTIF($D$2:$D$6,$A$2:$A$10),””,ROW($1:$9)),ROW(A1))),””)用IFERROR,如果查找到结果就返回值,如果查不到,出现错误,则返回空值。保留成绩的计算:因为公式中的A$2:A$10,使用的混合引用,A列没有锁定,所以,向右填充,会自从变为...
iferror函数的使用方法
假设在Excel的A1单元格中有公式`=B1/C1`,你想避免C1为0的情况。可以在A1单元格旁边写一个公式`=IFERROR`。当C1为0时,A1会显示"不能除以零",否则会显示正常的计算结果。4. 注意事项:使用IfError函数可以有效地避免单元格显示错误值,提升工作表的美观性和易用性。但需要注意的是,它只能捕获...
excelIFERROR函数的使用方法及实例返回指定结果
”错误值!这样的话,太影响美观了。所以,会使用“iferror函数”让表格无任何显示的情况下,又不影响公式。示例一、iferror函数让#VALUE!空白显示 下图中,我们用身份证号码提取男女性别,我使用了【=IF(MOD(RIGHT(LEFT(B2,17)),2),"男","女")】填充公式从 C2:C11,但是,身份证号码我只输入了...
一个单元格中有多个数值用空格隔开的,如何用函数将所有满足项筛选求和...
一个单元格中有多个数值用空格隔开的,如何用函数将所有满足项筛选求和,方法如下:第一步,在H3输入:=SUM(IFERROR(IF((1*(FIND("四川",$A$3:$A$27))>0),1,0),0)*IFERROR(IF((1*(FIND($B$3:$B$27,$D$3))),1,0),0)*($C$3:$C$27))第二步,回车就见结果。本例中...
如何运用函数IFERROR把很多在一个表格中的加减乘除计算结果
这是定义了一个名称为a的宏表函数
Excel的IFERROR函数是什么
EXCEL中IFERROR函数,就是if error(如果错误的连写),其含义是如果公式的计算结果为错误,则返回指定的值;否则将返回公式的结果。使用 IFERROR 函数来捕获和处理公式中的错误。具体使用方法:IFERROR函数语法:IFERROR(value, value_if_error)表示判断value的正确性,如果value正确则返回正确结果,否则...