我正在寻找一个代码来忽略数据列中的所有#N/A值,并找到所有剩余单元格的平均值,并将该平均值返回到单元格。目前我有这个代码;如果所选数据范围不包含#N/A,则该方法有效,但是如果存在一些#N/A 数据点,则整个平均值将返回为#N/A。
我也尝试过此代码但无济于事(DateRange是用户在我的工作表中指定的日期范围,我想显示单元格O5中返回的值):
Range("O5").Value = Worksheets("Sheet1").Range(DateRange).Formula = "=AVERAGE(IF(ISNUMBER(DateRange)),DateRange"
没有 #N/A 值的工作代码:
Dim DataPts As Range
Set DataPts = Range(FromDateCell, ToDateCell).Offset(0, 1)
Range("O5").Value = Application.Average(DataPts)
提前非常感谢。
最佳答案
我将冒着被否决的风险,给你一个更简单但方便的技巧来尝试:
=AVERAGEIF(myRange,"<1e100")
(前提是您的范围内没有这么大的数字)。
关于用于忽略列中所有 #N/A 值以计算平均值的 VBA 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41205423/