返回最小的非零值(Microsoft Excel)
Mark希望在一组值中找到最小的非零值。
例如,如果他的值为0,0,3,0,6,8,则他希望公式返回值3(最小的非零值)。马克知道他可以将SMALL函数与第二个参数一起使用,该第二个参数是通过使用COUNTIF计算范围内的零个数来计算的。但是,他想在数组公式内使用此函数,而Excel无法在数组公式内处理COUNTIF。
由于Mark只对数组公式感兴趣(通过按Ctrl + Shift + Enter输入),因此可以使用两个。以下数组公式值得一看:
=MIN(IF(A1:A5=0,MAX(A1:A5),A1:A5))
假设要检查的值在A1:A5中,则此公式将该范围内的非零值数组组合在一起。如果单元格之一中的值为0,则MAX函数启动,返回范围中的最大值。 (从本质上讲,这是将那个单元格上的值踢出来的,最初是0,但被认为是最小值)。如果其中一个单元格中的值不为0,则返回实际值。
MIN函数然后从数组中返回最小值。
您可以通过以下方式使公式更短以使其更短:
=MIN(IF(A1:A5<>0,A1:A5))
请注意,在此版本中,将检查范围的每个单元格中的值以查看其是否不为0。如果不是,则返回该值。
如果为0,则不返回任何内容。同样,MIN函数用于从数组中返回最小值。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(3260)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: