使用具有多个条件的应用程序功能的Excel VBA百分位数

时间:2014-06-24 22:01:07

标签: excel vba excel-vba percentile

我在Excel 2007中使用以下公式可以很好地处理大范围的数据。

在所有情况下,Range1,Range2和ArrayRange都是相同的起始行和结束行。

工作:

 =PERCENTILE(IF(((Range1=Value)*(Range2=Value2)),ArrayRange),0.9)

当我在宏中更新公式时,我似乎无法找出使用VBA制定上述公式的正确方法。

任何人都可以提供以下帮助吗?

不工作:

90thPercentile = Application.Percentile(((Range1 = Value) * (Range2 = Value2), ArrayRange), 0.9)
90thPercentile = Application.Percentile(If(Range1 = Value,IF(Range2 = Value2, ArrayRange))), 0.9)
非常感谢 NIK

1 个答案:

答案 0 :(得分:1)

你不能在VBA中使用这样的数组。您必须使用Evaluate并传递公式字符串:

90thPercentile = activesheet.evaluate("PERCENTILE(IF(((Range1=Value)*(Range2=Value2)),ArrayRange),0.9)"