根据三个值计算平均值、最大值和最小值

问题描述 投票:0回答:1

我的 Excel 电子表格中有四列。三列是文本,一列是整数。

我需要根据文本列中的值从整数列中提取所有值以对它们运行计算。

例如,我需要“Count”的所有值,其中“类型”列中的值为“Apple”,“质量”列中的值为“Fresh”,“所有者”中的值为“Jones”。

然后我可以计算出琼斯每个月的平均、最多和最少的新鲜苹果数量。

我在 VBA 中没有找到averageifs、maxifs 和 minifs 函数,否则我会使用它们。

每次运行的行数会有所不同,但我计算了最后一行。

excel vba
1个回答
0
投票

您可能会发现

AverageIfs
等利用
Application.WorksheetFunction.AverageIfs
。 因此,你的代码最终可能会是这样的:

Dim ws as worksheet
set ws = ThisWorkbook.Worksheets("Sheet1")

Dim avgRange as Range
dim FirstRow as integer
dim LastRow as Long

with ws
    Set avgRange = Cells((FirstRow, Count), (LastRow, Count))
    Set criteriaRange = Cells((FirstRow, Owner), (LastRow, Owner))
    Criteria1 = "John"
    Criteria2 = "Fresh"

     .Range("A5").Application.WorksheetFunction.AverageIfs(avgRange, criteriaRange, Criteria1, Criteria2)
end With
© www.soinside.com 2019 - 2024. All rights reserved.