找到另一个字段的空值的一个字段的平均值

时间:2017-09-03 08:07:17

标签: access-vba

我有两个文本框来计算总和和平均值。一个文本框用于计算我使用此函数的字段中的空值总和:

=Sum(IIf(IsNull([field1])=True,1,0))

这给出了正确的答案,但对于另一个文本框,我需要仅计算对应于field1的空值的记录的field2的平均值。我尝试使用DAvg()函数,它返回整个field2的平均值,这不是我想要的。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

您可以使用具有where条件的DAvg:

=DAvg("Field2", "MyTable", "Field1 Is Null")

对聚合查询进行了更优化的替代方法如下:

Sum(Iif(IsNull(Field1), Field2, 0))/Count(Iif(IsNull(Field1), 1, Null))

由于总和除以金额等于平均值​​,因此Access不计算Null。请注意,如果存在Field1Field2都为Null

的行,则此备用方法可能会返回错误的结果