IFERROR函数,从结果中剔除不需要的值

时间:2022-08-27 10:26:14 

在使用公式时,我们经常遇到将某个值从结果数组中剔除,然后将该数组传递给另一个函数的情形。

例如,要获取单元格区域中除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],””)

下面用一个例子来说明,如下图1所示:

IFERROR函数,从结果中剔除不需要的值

图1

在单元格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,”

简单讲解一下这个公式的运作原理。

根据上文得出的结果,上面的公式可以转换为:

=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中除负数以外的值中的最小值。

标签:excel公式怎么用,excel函数公式,excel常用函数,Excel教程
0
投稿

猜你喜欢

  • word安全模式是什么

    2023-12-04 02:32:17
  • Win10电脑重装后桌面没有图标怎么办?

    2023-11-21 19:16:47
  • Win10预装的Office删除了怎么办?Office软件恢复方法

    2023-08-15 21:48:39
  • WORD里的剪贴板怎样使用

    2022-02-09 03:19:07
  • Word2010超链接的基本运用

    2023-12-09 15:03:26
  • Excel表格下拉公式不自动计算怎么办

    2023-06-09 23:20:43
  • VSCode文本行限制为35的方法教程

    2023-06-07 11:14:28
  • Word2010中怎么批量替换

    2023-12-07 00:04:06
  • word一页内容怎么分成两页打印出来?

    2023-06-06 11:56:15
  • Word如何快速生成一段文本

    2022-08-27 14:47:30
  • word中怎么设置超链接

    2023-04-03 03:49:03
  • word设置文字背景的两种方法

    2022-09-20 06:08:25
  • 表格中怎么输入百分比

    2023-07-11 15:53:20
  • Word如何批量取消超链接

    2023-05-21 15:01:04
  • excel如何一次性快速录入数据呢?

    2023-02-22 23:34:04
  • 在Word 2007文档中断开文本框链接

    2023-12-07 23:04:19
  • Win10专业版2147416359文件系统错误怎么解决?

    2023-11-20 01:44:37
  • Word2007中快速插入固定内容的技巧

    2022-08-11 02:25:24
  • Word2007文档中改变超链接颜色的方法

    2022-06-15 17:35:30
  • EXCEL 照相机功能的使用方法

    2023-11-04 11:08:01
  • asp之家 电脑教程 m.aspxhome.com