Excel VB中数组的条件平均值

时间:2017-04-09 13:56:04

标签: excel-vba excel-formula vba excel

我需要知道VB代码中的等价物:

'In Excel cell (for ex. xlSheet.Range("A1"))
{=Average(If(A1:A10="Text",B1:X10))} ' <---Equivalence of this written all in VB code, not in Excel

即,从VB计算Excel矩阵的平均值(例如,从B1到X10 Excel范围)和标准。

2 个答案:

答案 0 :(得分:0)

下面:

Evaluate("=AVERAGE(IF(A1:A10=""test"",B1:U10))")

请勿忘记在单引号后面加双引号。

答案 1 :(得分:0)

我想为此问题建议此代码:

Worksheets("Data1").Range("D2") = Application.WorksheetFunction.AverageIfs(Worksheets("Sheet1").Range("A2:A11, "E2<>0", B2:B11)) 

其他应该是:

假设你在A1编写了这个公式,所以在VBA代码中你可以使用这样的东西:

=IF(WEEKDAY(A1,2)>5,"NO WEEKDAY","")

Range("b2").Formula = "=A1"

请根据需要更改单元格地址。