小兔网

下面我们将在Excel VBA中查看一个程序,该程序创建一个用户定义函数,该函数计算一个随机选择范围平均值,其中不包括一个或多个异常值,不应将其取平均值。

情况:

Excel VBA中的自定义平均函数

用户定义的功能需要放置到模块中。

1.打开Visual Basic编辑器,然后单击“插入”,“模块”。

2.添加以下代码行:

函数 CUSTOMAVERAGE(rng 作为范围,下限 整数,上限 整数

我们函数的名称是CUSTOMAVERAGE。方括号之间的部分表示我们给Excel VBA一个范围和两个Integer变量作为输入。我们将范围rng命名为一个,我们称其为lower的Integer变量,然后将我们称其为upper的Integer变量,但是您可以使用任何名称。

3.接下来,我们声明一个Range对象和两个Integer类型的变量。我们称范围对象单元。我们将一个Integer变量称为total,将一个Integer变量称为count。

昏暗单元格范围,总计 整数,计数 整数

4.我们要检查随机选择范围内的每个单元格(该范围可以是任何大小)。在Excel VBA中,可以为此使用“每个下一个”循环。添加以下代码行:

对于 每个细胞 RNG

接着细胞

注意:这里随机选择rng和cell,您可以使用任何名称。请记住在其余代码中引用这些名称。

5.接下来,我们检查该范围内的每个值是否在两个值之间(较低和较高)。如果为true,则将total乘以单元格的值,并将count乘以1。将以下代码行添加到循环中。

如果 cell.Value> =降低 cell.Value <=上然后
    总=总+ cell.Value
    计数=计数+ 1
结束 如果

6.要返回此函数的结果(所需的平均值),请在循环外添加以下代码行。

CUSTOMAVERAGE =总数/计数

7.不要忘记结束功能。添加行:

结束 功能

8.现在,您可以像使用任何其他Excel函数一样使用此函数来计算介于两个值之间的数字的平均值。

结果:

自定义平均功能结果

作为检查,您可以删除所有小于10且大于30的值,并在Excel中使用标准的平均值函数查看Excel是否计算出与自定义平均值函数相同的平均值。

自定义平均功能检查

我们的自定义平均值功能有效!注意:此功能仅在此工作簿中可用。