Emin的单元格范围可以是文本或数字。

他需要一种方法来确定范围内的最小偶数。 Emin想知道这是否可以通过公式来完成,或者他是否需要用户定义的函数。

有两种方法可以解决此问题。您可以尝试的一种方法是使用DMIN函数。您需要做的就是确保数据列上有一个标题(例如“ MyData”),然后在一些偏僻的地方创建一个小的条件字段。例如,您可能想通过将标题(例如“ Min Even”)放在单元格F1中并将公式= ISEVEN(MyData)放在单元格F2中来创建条件字段。单元格F2的计算结果为#VALUE!错误,但在这种情况下可以。然后,您可以在其他单元格中使用以下公式:

=DMIN(A1:A100, 1, F1:F2)

如果愿意,可以使用数组公式计算出最低的偶数值。由于您的数据范围可以包含文本和数字,因此,并非所有的数组公式都适用。例如,如果数据范围中除数字外,以下内容将产生错误:

=MIN(IF(MOD(A1:A100,2)=0,A1:A100))

为了确保没有错误,您需要在公式中进行一些检查:

=MIN(IF(ISNUMBER(A1:A100),IF(NOT(MOD(A1:A100,2)=0),"",A1:A100)))

同样,请记住,这是一个数组公式,因此您需要使用Shift + Ctrl + Enter进行输入。

如果愿意,可以创建一个用户定义的函数,该函数将返回所需的值:

Function MinEven(rng As Range)

Dim rCell As Range     Dim bNotFound As Boolean

Application.Volatile     MinEven = 9.99 * 10 ^ 307     bNotFound = True     For Each rCell In rng         If Application.WorksheetFunction.IsNumber(rCell) Then             If rCell Mod 2 = 0 Then                 If rCell < MinEven Then                     MinEven = rCell                     bNotFound = False                 End If             End If         End If     Next     If bNotFound Then MinEven = CVErr(xlErrNum)

End Function

要使用此宏,只需将以下内容与工作表的单元格一起使用:

=MinEven(A1:A100)

如果范围内没有偶数,则该函数将返回#Num错误。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

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