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培训的来源。

本技巧(9330)适用于Office 365中的Microsoft Excel 2007、2010、2013、2016、2019和Excel。您可以在此处为Excel的较旧菜单界面找到此技巧的版本: