使用带多个条件的应用程序函数的Excel VBA百分位数

使用带多个条件的应用程序函数的Excel VBA百分位数,vba,excel,percentile,Vba,Excel,Percentile,我有下面的公式在Excel 2007的大范围数据上运行良好 在所有情况下,Range1、Range2和ArrayRange都是相同的起始行和结束行 工作: =PERCENTILE(IF(((Range1=Value)*(Range2=Value2)),ArrayRange),0.9) 当我在宏中更新公式时,我似乎无法找到正确的方法来使用VBA表达上述内容 有人能帮我做以下事情吗 不工作: 90thPercentile = Application.Percentile(((Range1 = V

我有下面的公式在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

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

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