IFERROR函数,从结果中剔除不需要的值
在使用公式时,我们经常遇到将某个值从结果数组中剔除,然后将该数组传递给另一个函数的情形。
例如,要获取单元格区域中除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中除负数以外的值中的最小值。
最新推荐
-
华为手机怎么设置应用密码锁 华为手机设置应用锁密码的方法
华为手机怎么设置应用密码锁?通过给自己的手机应用进行设置密码锁,可以提高自己隐私的安全性,现在很多手机都有 […]
-
win7系统怎么禁用开机启动项 win7禁止开机启动项设置方法
win7系统怎么禁用开机启动项?在电脑中,过多的开机启动项会很明显的拖累电脑启动运行速度,这个时候可以通过 […]
-
华硕笔记本bios如何设置固态为第一启动盘 华硕设置ssd为第一启动盘
华硕笔记本bios如何设置固态为第一启动盘?固态硬盘相比传统的机械硬盘,读取速度更快更方便,如果用户在电脑 […]
-
excel如何制作宏按钮 excel添加按钮并指定宏
Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。那在使用Excel的过程里如何制作宏按钮呢?下面就由小编就来说说制作宏按钮的方法。 Excel数据对比大师 V2.3.8 最新版 [电脑软件] 大小:68.07 MB 类别:应用软件 立即下载
-
EXCEl下拉菜单选项怎么设置 EXCEL做下拉选项
Excel在我们的日常办公中是经常会用到的一款软件,在我们想要设计多个选项时,设置下拉框选项是很方便的,但一些小伙伴还对excel不太熟悉,不知道要怎么操作才能让下拉框选项为多选,今天小编就来为大家分享EXCEL表格下拉菜单方法。 Excel数据对比大师 V2.3.8 最新版 [电脑软件] 大小:68.07 MB 类别:应用软件 立即下载
-
百度网盘怎么取消文件夹分享-百度网盘取消文件夹分享方法
百度网盘可以分享一些重要的文件,将文件通过链接分享给自己的朋友或者同事,也会通过将文件分享给自己网盘中的好友,但是如果我们发现文件错误,想要取消分享应该怎么设置呢?下面小编就来介绍一下具体操作方法,需要的小伙伴可以看看方法教程。 百度网盘Windows版 V7.29.2.1 去广告绿色版 [电脑软件] 大小:162.80 MB 类别:应用软件 立即下载
热门文章
华为手机怎么设置应用密码锁 华为手机设置应用锁密码的方法
2win7系统怎么禁用开机启动项 win7禁止开机启动项设置方法
3华硕笔记本bios如何设置固态为第一启动盘 华硕设置ssd为第一启动盘
4excel如何制作宏按钮 excel添加按钮并指定宏
5EXCEl下拉菜单选项怎么设置 EXCEL做下拉选项
6百度网盘怎么取消文件夹分享-百度网盘取消文件夹分享方法
7华硕电脑怎么在bios中设置固态硬盘启动项 华硕进入bios设置固态硬盘启动
8edge浏览器怎么开启阅读模式设置 edge开启阅读模式
9win10锁屏壁纸幻灯片不自动放映怎么办 win10锁屏壁纸不自动切换
10word图片怎么铺满页面并设为背景 word图片铺满全页
随机推荐
专题工具排名 更多+